From 90334e8eded6e89b0855547c68adbcfc46796f07 Mon Sep 17 00:00:00 2001 From: lzh Date: Sun, 19 Mar 2023 01:23:15 +0800 Subject: [PATCH] all --- docs/databases/tables_create.sql | 5 +- .../营销系统问题及修改20230318.docx | Bin 104071 -> 106565 bytes .../zscat/mallplus/MallAdminApplication.java | 2 + .../task/SchedulingTaskComponent.java | 60 ++++++++++++++++++ .../ums/service/SysMessageTaskService.java | 29 +++++++++ mallplus-mbg/pom.xml | 13 +++- .../controller/alipay/AliPayController.java | 2 - .../sms/coupon/components/CouponDetail.vue | 9 +++ 8 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 mallplus-admin/src/main/java/com/zscat/mallplus/task/SchedulingTaskComponent.java diff --git a/docs/databases/tables_create.sql b/docs/databases/tables_create.sql index 0657c24..4a192e8 100644 --- a/docs/databases/tables_create.sql +++ b/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) \ No newline at end of file +VALUES (43, '定时消息', 'ums:UmsMember:read', 'product-list', 1, 'sysMessageTask', 1, now() , 1) \ No newline at end of file diff --git a/docs/xiugai/20230315/营销系统问题及修改20230318.docx b/docs/xiugai/20230315/营销系统问题及修改20230318.docx index da792612e01c7b8b75e2507f234704bc59d44c6f..7ab25a19ab28b29fbc8da8307809c68b1a1fbe59 100644 GIT binary patch delta 18161 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 delta 15587 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/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无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
+ * File: SchedulingService.java
+ * Class: com.zscat.mallplus.task.SchedulingService
+ * Description: <描述类的功能>.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023/3/18 22:10
+ * + * @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(); + } +} diff --git a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/SysMessageTaskService.java b/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/SysMessageTaskService.java index 4dafcc9..1a3cb21 100644 --- a/mallplus-admin/src/main/java/com/zscat/mallplus/ums/service/SysMessageTaskService.java +++ b/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 { + + @Autowired + private ISysMessageService messageService; + + public void checkTask() { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("status", 0); + qw.lt("sendtime", new Date()); + List 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); + } + + } } diff --git a/mallplus-mbg/pom.xml b/mallplus-mbg/pom.xml index af4eecd..4d5d590 100644 --- a/mallplus-mbg/pom.xml +++ b/mallplus-mbg/pom.xml @@ -55,11 +55,22 @@ hutool-all ${hutool.version} - + + + com.alipay.sdk + alipay-sdk-java + 4.8.10.ALL + + + fastjson + com.alibaba + + diff --git a/mallplus-portal/src/main/java/com/zscat/mallplus/pay/controller/alipay/AliPayController.java b/mallplus-portal/src/main/java/com/zscat/mallplus/pay/controller/alipay/AliPayController.java index 6895b8f..0bcfb99 100644 --- a/mallplus-portal/src/main/java/com/zscat/mallplus/pay/controller/alipay/AliPayController.java +++ b/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; diff --git a/mallplusui-web-admin/src/views/sms/coupon/components/CouponDetail.vue b/mallplusui-web-admin/src/views/sms/coupon/components/CouponDetail.vue index 389dd36..1afeb77 100644 --- a/mallplusui-web-admin/src/views/sms/coupon/components/CouponDetail.vue +++ b/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: '取消',