lzh 2 years ago
parent
commit
90334e8ede
  1. 5
      docs/databases/tables_create.sql
  2. 46
      docs/xiugai/20230315/营销系统问题及修改20230318.docx
  3. 2
      mallplus-admin/src/main/java/com/zscat/mallplus/MallAdminApplication.java
  4. 60
      mallplus-admin/src/main/java/com/zscat/mallplus/task/SchedulingTaskComponent.java
  5. 29
      mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/SysMessageTaskService.java
  6. 13
      mallplus-mbg/pom.xml
  7. 2
      mallplus-portal/src/main/java/com/zscat/mallplus/pay/controller/alipay/AliPayController.java
  8. 9
      mallplusui-web-admin/src/views/sms/coupon/components/CouponDetail.vue

5
docs/databases/tables_create.sql

@ -21,6 +21,9 @@ values (1002,'1.0.0.2','http://mall.yyundong.com/apks/mall-1002.apk','BUG修复
insert into app_version(versionCode,versionName,downloadUrl,versionInfo,fileName)
values (1003,'1.0.0.3','http://mall.yyundong.com/apks/mall-1003.apk','登录方式切换的Bug修复;登录及退出后本地缓存数据问题的修复。','mall-1003.apk')
insert into app_version(versionCode,versionName,downloadUrl,versionInfo,fileName)
values (1012,'1.0.1.2','http://mall.yyundong.com/apks/mall-1012.apk','增加消息推送;优惠券一键领取。','mall-1012.apk')
CREATE TABLE `push_cids` (
@ -51,4 +54,4 @@ CREATE TABLE `sys_message_task` (
INSERT INTO sys_permission (pid, name, value, icon, type, uri, status, create_time, sort)
VALUES (43, '定时消息', 'ums:UmsMember:read', 'product-list', 1, 'sysMessageTask', 1, now() , 0)
VALUES (43, '定时消息', 'ums:UmsMember:read', 'product-list', 1, 'sysMessageTask', 1, now() , 1)

46
docs/xiugai/20230315/营销系统问题及修改20230318.docx

@ -1,13 +1,13 @@
管理后台,"商品管理"-"商品分类"页面。
(已修改)列表中"导航栏"、"是否显示"、"是否首页显示"这些设置的作用是什么?如果没有用就先隐藏掉("是否显示"这个应该是控制是否在APP端显示该类别及其下级类别或该类别的商品)。
(已修改)"设置"这一列中"转移商品"的作用?如果没有用先隐藏这个按钮。
新增二级分类,如果有同名的分类名称,数据会出错,需要加限定条件或修改增加保存的逻辑,不能出错。后台增加了类别,手机端是否可以实时看到新增或修改的分类。(经测试没发现增加类别出错的情况,增加同名的也可以正常显示。目前增加了限制,不允许有相同的类别名称)
(已修改)列表中"导航栏"、"是否显示"、"是否首页显示"这些设置的作用是什么?如果没有用就先隐藏掉("是否显示"这个应该是控制是否在APP端显示该类别及其下级类别或该类别的商品)。
(已修改)"设置"这一列中"转移商品"的作用?如果没有用先隐藏这个按钮。
新增二级分类,如果有同名的分类名称,数据会出错,需要加限定条件或修改增加保存的逻辑,不能出错。后台增加了类别,手机端是否可以实时看到新增或修改的分类。(经测试没发现增加类别出错的情况,增加同名的也可以正常显示。目前增加了限制,不允许有相同的类别名称)
管理后台编辑商品后,在手机端查看该商品信息出错。(经测试未出现该问题,对之前出现该问题的数据进行分析,应该是最早录入的商品信息有附加的属性,现在的编辑页面简化了,造成属性值丢失出现的问题。目前新增商品不会再出现该问题)
(已修改)手机端优惠券金额显示不正确,应该是2位小数。
(已修改)使用优惠券支付时,付款金额显示不正确。
(已修改)使用优惠券支付时,付款金额显示不正确。
(已修改)优惠券限领数量无效。限领2张,只能领取1张。
(已修改)管理后台,新增优惠券。优惠券类型的选择和适用平台的选择都去掉,并且默认类型为"全场赠券",默认适用平台为"全平台"。
(已修改)手机端注册问题较多,注册成功提示"该用户已经存在",已有手机号再次注册也可以成功。注册成功提示密码不正确无法登录等各种情况都有。这一部分需要详细、全面的认真进行一次测试,保证流程以及提示信息正确。
@ -15,26 +15,46 @@
(已修改)管理后台,"运营管理"-"广告列表"页面,搜索功能无效,去掉列表中"广告位置"、"点击次数"、"生成订单"这些列。添加广告不选广告位置(默认设置为Android首页轮播)
(已修改)社区管理-社区列表页面,查询功能无效。取货点页面查询功能无效,取货点页面屏蔽"导出"、"导入"按钮。取货点页面列表的表名不正确。
(已修改)APP端,已经过期的优惠券应该归到已失效里边。
手机端领取优惠券是否可以一键全部领取(该需求待讨论)
(已修改20230318)手机端领取优惠券是否可以一键全部领取(该需求待讨论)
待支付的订单取消后优惠券不回退。用户使用优惠券下单,未支付或支付失败的情况,该订单还有效,处于待支付状态,APP端可以继续完成支付操作。在待支付状态用户可以主动取消订单,或者超过支付等待时间(20分钟)订单自动失效,订单失效需要将未使用的优惠券回退。
系统增加退单流程。会员下单24小时内可退货,退货退款原路返回(退回支付宝或微信,需要调用支付宝或微信的退款接口)。24小时后,自动设置为已发货状态(待收货),不可以退货退款。在管理后台订单列表页面,"待发货"这一栏中,点击"订单发货"按钮,订单状态变为"待收货"状态,也不可以退货退款。
收货(提货)的流程和操作。在管理后台订单列表页面的"待收货"列表,增加"已收货"按钮,将订单状态改为交易完成。在APP端用户可以点击"收货"按钮,同样完成收货操作。后台记录收货时间以及是客户操作还是后台人员操作。
在订单列表,可以通过下单日期时间段、取货点、分类(订单状态)、用户信息等进行过滤查询,查询结果需要能够导出到Excel。导出字段包括:下单日期,手机号,用户名,商品名称,价格,数量,自提点,订单状态等。
增加订单归集统计页面,对于商品待发货、已发货、已完成订单统计列表。
(1)全部提货点的商品订单统计。
(2)各个提货点的商品订单统计。
(3)各个提货点对应到人的订单统计。
(1)全部提货点的商品订单统计。
(2)各个提货点的商品订单统计。
(3)各个提货点对应到人的订单统计。
后台管理,发货界面加一个批量发货(该需求待讨论)
完整的购买、下单、收货流程
用户在APP端浏览商品,选择下单,生成订单(订单状态为待付款)。下单前惠农会员可以先领优惠券。
会员通过微信或支付宝付款成功(订单状态为待发货)。会员取消付款或订单超过20分钟未付款,订单设置为已关闭状态,优惠券退回。待发货24小时之内如果订单状态没改变(还没发货),用户可以取消订单,停止发货,款项原路退回,优惠券失效,订单为已关闭状态。
工作人员在后台待发货列表点击"发货",或者待发货状态超过24小时,订单状态改为"待收货",不可以再退货。后台发送消息通知:7日内到取货点取货。
订单在待收货状态,用户可以到取货点取货,工作人员根据手机号查询对应订单及货物交付给用户,用户可以在APP端点击"取货"完成取货操作或者工作人员在待收货列表点击"已取货"按钮状对应订单设置为已经取货状态,交易完成。在待收货列表,可以针对未取货的订单用户发送消息通知或电话联系。
消息通知,增加消息通知设置页面,设定日期时间、通知标题、通知内容。后台程序在设定的日期时间将通知内容发送给全部用户。现在的消息通知功能为系统发送信息到用户手机APP信息界面,用户在信息界面查看消息通知内容。
(已修改20230318)消息通知,增加消息通知设置页面,设定日期时间、通知标题、通知内容。后台程序在设定的日期时间将通知内容发送给全部用户。现在的消息通知功能为系统发送信息到用户手机APP信息界面,用户在信息界面查看消息通知内容。
2023-03-18
有两个确定的需求需要更新一下,其他的还要跟业务再讨论
(已修改20230318)有两个确定的需求需要更新一下,其他的还要跟业务再讨论
1.优惠券的批量领取
2.购买商品时如果有符合使用的优惠券,自动选取优惠券
进行中工作2023-03-18
增加订单归集统计页面,对于商品待发货、已发货、已完成订单统计列表。
(1)全部提货点的商品订单统计。
(2)各个提货点的商品订单统计。
(3)各个提货点对应到人的订单统计。
业务需求未确定工作2023-03-18
待支付的订单取消后优惠券不回退。用户使用优惠券下单,未支付或支付失败的情况,该订单还有效,处于待支付状态,APP端可以继续完成支付操作。在待支付状态用户可以主动取消订单,或者超过支付等待时间(20分钟)订单自动失效,订单失效需要将未使用的优惠券回退。
系统增加退单流程。会员下单24小时内可退货,退货退款原路返回(退回支付宝或微信,需要调用支付宝或微信的退款接口)。24小时后,自动设置为已发货状态(待收货),不可以退货退款。在管理后台订单列表页面,"待发货"这一栏中,点击"订单发货"按钮,订单状态变为"待收货"状态,也不可以退货退款。
收货(提货)的流程和操作。在管理后台订单列表页面的"待收货"列表,增加"已收货"按钮,将订单状态改为交易完成。在APP端用户可以点击"收货"按钮,同样完成收货操作。后台记录收货时间以及是客户操作还是后台人员操作。
在订单列表,可以通过下单日期时间段、取货点、分类(订单状态)、用户信息等进行过滤查询,查询结果需要能够导出到Excel。导出字段包括:下单日期,手机号,用户名,商品名称,价格,数量,自提点,订单状态等。
后台管理,发货界面加一个批量发货(该需求待讨论)
完整的购买、下单、收货流程
用户在APP端浏览商品,选择下单,生成订单(订单状态为待付款)。下单前惠农会员可以先领优惠券。
会员通过微信或支付宝付款成功(订单状态为待发货)。会员取消付款或订单超过20分钟未付款,订单设置为已关闭状态,优惠券退回。待发货24小时之内如果订单状态没改变(还没发货),用户可以取消订单,停止发货,款项原路退回,优惠券失效,订单为已关闭状态。
工作人员在后台待发货列表点击"发货",或者待发货状态超过24小时,订单状态改为"待收货",不可以再退货。后台发送消息通知:7日内到取货点取货。
订单在待收货状态,用户可以到取货点取货,工作人员根据手机号查询对应订单及货物交付给用户,用户可以在APP端点击"取货"完成取货操作或者工作人员在待收货列表点击"已取货"按钮状对应订单设置为已经取货状态,交易完成。在待收货列表,可以针对未取货的订单用户发送消息通知或电话联系。

2
mallplus-admin/src/main/java/com/zscat/mallplus/MallAdminApplication.java

@ -4,6 +4,7 @@ import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
@ -13,6 +14,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@MapperScan({"com.zscat.mallplus.mapper", "com.zscat.mallplus.ums.mapper", "com.zscat.mallplus.sms.mapper", "com.zscat.mallplus.cms.mapper", "com.zscat.mallplus.sys.mapper", "com.zscat.mallplus.oms.mapper", "com.zscat.mallplus.pms.mapper"})
@EnableTransactionManagement
@EnableScheduling
public class MallAdminApplication {
public static void main(String[] args) {
SpringApplication.run(MallAdminApplication.class, args);

60
mallplus-admin/src/main/java/com/zscat/mallplus/task/SchedulingTaskComponent.java

@ -0,0 +1,60 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.zscat.mallplus.task;
import com.zscat.mallplus.ums.service.SysMessageTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* Project: mallplus <br/>
* File: SchedulingService.java <br/>
* Class: com.zscat.mallplus.task.SchedulingService <br/>
* Description: <描述类的功能>. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023/3/18 22:10 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class SchedulingTaskComponent {
@Autowired
private SysMessageTaskService sysMessageTaskService;
@Scheduled(cron = "0 */5 * * * ?")
public void remindVehicle() {
sysMessageTaskService.checkTask();
}
}

29
mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/SysMessageTaskService.java

@ -1,10 +1,39 @@
package com.zscat.mallplus.ums.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zscat.mallplus.ums.entity.SysMessage;
import com.zscat.mallplus.ums.entity.SysMessageTask;
import com.zscat.mallplus.ums.mapper.SysMessageTaskMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
@Service
public class SysMessageTaskService extends ServiceImpl<SysMessageTaskMapper, SysMessageTask> {
@Autowired
private ISysMessageService messageService;
public void checkTask() {
QueryWrapper<SysMessageTask> qw = new QueryWrapper<>();
qw.eq("status", 0);
qw.lt("sendtime", new Date());
List<SysMessageTask> list = baseMapper.selectList(qw);
for (SysMessageTask task : list) {
SysMessage sm = new SysMessage();
sm.setCode("系统消息");
sm.setUserId(1);
sm.setId(null);
sm.setContent(task.getContent());
sm.setParams(task.getParams());
sm.setCtime(System.currentTimeMillis());
messageService.sendToAll(sm);
task.setStatus(1);
baseMapper.updateById(task);
}
}
}

13
mallplus-mbg/pom.xml

@ -55,11 +55,22 @@
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<!--支付宝依赖-->
<!--支付宝依赖
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>${alipay.version}</version>
</dependency>-->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.8.10.ALL</version>
<exclusions>
<exclusion>
<artifactId>fastjson</artifactId>
<groupId>com.alibaba</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- MyBatis 生成器 -->
<dependency>

2
mallplus-portal/src/main/java/com/zscat/mallplus/pay/controller/alipay/AliPayController.java

@ -9,8 +9,6 @@ import com.alipay.api.CertAlipayRequest;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.*;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.alipay.api.response.AlipayTradeCreateResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zscat.mallplus.alipay.AliPayApi;

9
mallplusui-web-admin/src/views/sms/coupon/components/CouponDetail.vue

@ -265,6 +265,15 @@
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if(parseFloat(this.coupon.amount)>=parseFloat(this.coupon.minPoint)){
this.$message({
message: '优惠券面值金额须小于使用门槛金额',
type: 'error',
duration: 1000
});
return false;
}
this.$confirm('是否提交数据', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',

Loading…
Cancel
Save