From dd06f7a58b21292947074ce40fdec17250f7c2bf Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Tue, 6 Aug 2024 19:40:23 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/sqx/modules/pay/entity/PayClassify.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/sqx/modules/pay/entity/PayClassify.java b/src/main/java/com/sqx/modules/pay/entity/PayClassify.java index e214405..e4997f8 100644 --- a/src/main/java/com/sqx/modules/pay/entity/PayClassify.java +++ b/src/main/java/com/sqx/modules/pay/entity/PayClassify.java @@ -56,6 +56,11 @@ public class PayClassify implements Serializable { */ private String createTime; + private Integer dayNum; + private Integer dayMoney; + + + /** * 子表列表 */ From 2c70f6775cfe579a8bbad3498ccf0607ea709bf2 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Tue, 6 Aug 2024 19:45:19 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/artificer/service/impl/ArtificerServiceImpl.java | 2 +- .../bl/order/service/impl/UserPackageDetailServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java index 4c9fe1f..8c56700 100644 --- a/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java +++ b/src/main/java/com/sqx/modules/artificer/service/impl/ArtificerServiceImpl.java @@ -364,7 +364,7 @@ public class ArtificerServiceImpl extends ServiceImpl i }else{ stringBuilder.append(minuteInt); } - ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("artificer_id", artificer.getArtificerId()).eq("artificer_date", date).eq("artificer_time", stringBuilder.toString())); + ArtificerTime artificerTime = artificerTimeService.getOne(new QueryWrapper().eq("artificer_id", artificer.getArtificerId()).eq("artificer_date", date).eq("artificer_time", stringBuilder.toString()).last("limit 1")); if(artificerTime==null){ if(oldDate.equals(date)){ artificer.setTime(stringBuilder.toString()); diff --git a/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageDetailServiceImpl.java b/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageDetailServiceImpl.java index 39d82d3..296f1e8 100644 --- a/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageDetailServiceImpl.java +++ b/src/main/java/com/sqx/modules/bl/order/service/impl/UserPackageDetailServiceImpl.java @@ -51,7 +51,7 @@ public class UserPackageDetailServiceImpl extends ServiceImpl list = Lists.newArrayList(); if(type == 105){ list = baseMapper.findDetailUsedQuantity(userPackageDetail); - }else if(type == 106){ + }else if(type == 106 || type == 114 ){ list = baseMapper.findLcDetailUsedQuantity(userPackageDetail); }else{ list = baseMapper.findDetailList(userPackageDetail); From d82dd327439ed567fd61dbd20d01528c8c31d88e Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Tue, 6 Aug 2024 20:44:34 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=9B=E5=AE=89?= =?UTF-8?q?=E8=B1=86=E5=85=85=E5=80=BC=E8=B5=A0=E9=80=81=E7=9A=84=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/bl/sadjob/dao/BlSadJobDao.java | 10 ++++ .../modules/bl/sadjob/entity/BlSadJob.java | 35 +++++++++++++ .../bl/sadjob/service/BlSadJobService.java | 8 +++ .../service/impl/BlSadJobServiceImpl.java | 12 +++++ .../pay/service/impl/WxServiceImpl.java | 42 ++++++++++++++++ .../task/service/impl/AllTaskServiceImpl.java | 50 +++++++++++++++++++ 6 files changed, 157 insertions(+) create mode 100644 src/main/java/com/sqx/modules/bl/sadjob/dao/BlSadJobDao.java create mode 100644 src/main/java/com/sqx/modules/bl/sadjob/entity/BlSadJob.java create mode 100644 src/main/java/com/sqx/modules/bl/sadjob/service/BlSadJobService.java create mode 100644 src/main/java/com/sqx/modules/bl/sadjob/service/impl/BlSadJobServiceImpl.java diff --git a/src/main/java/com/sqx/modules/bl/sadjob/dao/BlSadJobDao.java b/src/main/java/com/sqx/modules/bl/sadjob/dao/BlSadJobDao.java new file mode 100644 index 0000000..c3213b7 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/sadjob/dao/BlSadJobDao.java @@ -0,0 +1,10 @@ +package com.sqx.modules.bl.sadjob.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sqx.modules.bl.sadjob.entity.BlSadJob; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BlSadJobDao extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/sadjob/entity/BlSadJob.java b/src/main/java/com/sqx/modules/bl/sadjob/entity/BlSadJob.java new file mode 100644 index 0000000..9054a39 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/sadjob/entity/BlSadJob.java @@ -0,0 +1,35 @@ +package com.sqx.modules.bl.sadjob.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + + +@Data +@TableName("bl_sad_job") +public class BlSadJob implements Serializable { + private static final long serialVersionUID = 1L; + @TableId(type = IdType.AUTO) + private Long id; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; + + public int payClassifyId;//优惠卷充值分类 + public int daySumNum;//一共赠送多少天 + public int dayNum;//已赠送多少天 + public int dayMoney;//每天赠送多少 + public int sfwc;//是否完成(0未完成 1完成) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime;//修改时间 + public Long userId;//用户 + +} diff --git a/src/main/java/com/sqx/modules/bl/sadjob/service/BlSadJobService.java b/src/main/java/com/sqx/modules/bl/sadjob/service/BlSadJobService.java new file mode 100644 index 0000000..34be0d8 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/sadjob/service/BlSadJobService.java @@ -0,0 +1,8 @@ +package com.sqx.modules.bl.sadjob.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.modules.bl.sadjob.entity.BlSadJob; + +public interface BlSadJobService extends IService { + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/bl/sadjob/service/impl/BlSadJobServiceImpl.java b/src/main/java/com/sqx/modules/bl/sadjob/service/impl/BlSadJobServiceImpl.java new file mode 100644 index 0000000..ba7dd04 --- /dev/null +++ b/src/main/java/com/sqx/modules/bl/sadjob/service/impl/BlSadJobServiceImpl.java @@ -0,0 +1,12 @@ +package com.sqx.modules.bl.sadjob.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sqx.modules.bl.sadjob.dao.BlSadJobDao; +import com.sqx.modules.bl.sadjob.entity.BlSadJob; +import com.sqx.modules.bl.sadjob.service.BlSadJobService; +import org.springframework.stereotype.Service; + +@Service +public class BlSadJobServiceImpl extends ServiceImpl implements BlSadJobService { + +} \ No newline at end of file diff --git a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java index 4e7d5dc..947e389 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/WxServiceImpl.java @@ -29,6 +29,8 @@ import com.sqx.modules.bl.order.service.UserPackageDetailService; import com.sqx.modules.bl.order.service.UserPackageOrderService; import com.sqx.modules.bl.order.service.UserPackageOrdersMappingService; import com.sqx.modules.bl.order.service.UserPackageService; +import com.sqx.modules.bl.sadjob.entity.BlSadJob; +import com.sqx.modules.bl.sadjob.service.BlSadJobService; import com.sqx.modules.common.entity.CommonInfo; import com.sqx.modules.common.service.CommonInfoService; import com.sqx.modules.consortia.entity.Consortia; @@ -135,6 +137,10 @@ public class WxServiceImpl implements WxService { private UserPackageOrderService userPackageOrderService; @Autowired UserPackageOrdersMappingService userPackageOrdersMappingService; + @Autowired + private UserSadDetailsService userSadDetailsService; + @Autowired + private BlSadJobService blSadJobService; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -510,6 +516,42 @@ public class WxServiceImpl implements WxService { payDetailsDao.insert(payDetails); // return pay(payClassify.getPrice().doubleValue(), classify, userId, generalOrder,request); payOrderResult(generalOrder); + + //判断是否赠送盛安豆 + if(StringUtils.isNotEmpty(payClassify.getDayNum()+"")){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date=sdf.format(new Date()); + userMoneyService.updateSad(1,userId,payClassify.getDayMoney()); + UserSadDetails userMoneyDetails=new UserSadDetails(); + //查询用户当前余额 + UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(userId); + //插入余额 + userMoneyDetails.setBalance(userNowMoney.getSad()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setUserId(userId); + userMoneyDetails.setTitle("[充值赠送]标题:充值"); + userMoneyDetails.setContent("获得盛安豆:"+payClassify.getDayMoney()); + userMoneyDetails.setType(1); + userMoneyDetails.setMoney(userNowMoney.getSad()); + userMoneyDetails.setCreateTime(date); + userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlFlag(1); + userSadDetailsService.insert(userMoneyDetails); + + //添加定时任务 + BlSadJob blSadJob = new BlSadJob(); + blSadJob.setCreateTime(new Date()); + blSadJob.setUpdateTime(new Date()); + blSadJob.setDayMoney(payClassify.getDayMoney()); + blSadJob.setDaySumNum(payClassify.getDayNum()); + blSadJob.setDayNum(1); + blSadJob.setUserId(userId); + blSadJob.setSfwc(0); + blSadJobService.save(blSadJob); + } + + return Result.success(); } diff --git a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java index 0e6c0fa..56bea38 100644 --- a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java +++ b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java @@ -1,6 +1,10 @@ package com.sqx.modules.task.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.sqx.modules.app.entity.UserMoney; +import com.sqx.modules.app.entity.UserSadDetails; +import com.sqx.modules.app.service.UserMoneyService; +import com.sqx.modules.app.service.UserSadDetailsService; import com.sqx.modules.artificer.dao.ArtificerDao; import com.sqx.modules.artificer.dao.BlArtificerZqhzDao; import com.sqx.modules.artificer.dao.OrdersDao; @@ -9,6 +13,8 @@ import com.sqx.modules.artificer.entity.Artificer; import com.sqx.modules.artificer.entity.BlArtificerZqhz; import com.sqx.modules.artificer.entity.Orders; import com.sqx.modules.artificer.entity.UserRecharge; +import com.sqx.modules.bl.sadjob.entity.BlSadJob; +import com.sqx.modules.bl.sadjob.service.BlSadJobService; import com.sqx.modules.bl.userZxsc.dao.BlUserZxscDao; import com.sqx.modules.bl.userZxsc.entity.BlUserZxsc; import com.sqx.modules.common.dao.ArtificerPartitioningDetailsMapper; @@ -56,6 +62,13 @@ public class AllTaskServiceImpl implements AllTaskSercice { @Autowired private BlArtificerZqhzDao blArtificerZqhzDao; + @Autowired + private BlSadJobService blSadJobService; + @Autowired + private UserSadDetailsService userSadDetailsService; + @Autowired + private UserMoneyService userMoneyService; + /** * 计算技师升级规则 每天半夜1点执行,预留12点到01点之间的计算间隔,用于触发其他计算逻辑 * A0,A1,A2,A3,A4,A5等 @@ -287,4 +300,41 @@ public class AllTaskServiceImpl implements AllTaskSercice { userRechargeDao.insert(userRecharge); } } + + + + //赠送盛安豆定时任务 + @Scheduled(cron = "0 00 21 * * ?") + public void updateSadJob() { + QueryWrapper query = new QueryWrapper<>(); + query.eq("sfwc",0); + List list = blSadJobService.list(query); + for(BlSadJob par : list){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String date=sdf.format(new Date()); + userMoneyService.updateSad(1,par.getUserId(),par.getDayMoney()); + UserSadDetails userMoneyDetails=new UserSadDetails(); + //查询用户当前余额 + UserMoney userNowMoney = userMoneyService.selectUserMoneyByUserId(par.getUserId()); + //插入余额 + userMoneyDetails.setBalance(userNowMoney.getSad()); + //插入操作类型为已操作用户余额 + userMoneyDetails.setManipulateType(2); + userMoneyDetails.setUserId(par.getUserId()); + userMoneyDetails.setTitle("[充值赠送]标题:充值"); + userMoneyDetails.setContent("获得盛安豆:"+par.getDayMoney()); + userMoneyDetails.setType(1); + userMoneyDetails.setMoney(userNowMoney.getSad()); + userMoneyDetails.setCreateTime(date); + userMoneyDetails.setBlRole(2); + userMoneyDetails.setBlFlag(1); + userSadDetailsService.insert(userMoneyDetails); + int day = par.getDayNum()+1; + par.setDayNum(day); + if(day == par.getDaySumNum()){ + par.setSfwc(1); + } + blSadJobService.updateById(par); + } + } } From c90328033cd9b5d73016c70006a29ed9bdc49a84 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Tue, 6 Aug 2024 21:10:17 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=9B=E5=AE=89?= =?UTF-8?q?=E8=B1=86=E8=AE=A1=E7=AE=97=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/controller/app/AliPayController.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java index 23caf54..370a9ba 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java @@ -39,6 +39,8 @@ import com.sqx.modules.bl.order.service.UserPackageDetailService; import com.sqx.modules.bl.order.service.UserPackageOrderService; import com.sqx.modules.bl.order.service.UserPackageOrdersMappingService; import com.sqx.modules.bl.order.service.UserPackageService; +import com.sqx.modules.bl.sadjob.entity.BlSadJob; +import com.sqx.modules.bl.sadjob.service.BlSadJobService; import com.sqx.modules.common.entity.CommonInfo; import com.sqx.modules.common.service.CommonInfoService; import com.sqx.modules.consortia.entity.Consortia; @@ -143,6 +145,10 @@ public class AliPayController { UserPackageOrdersMappingService userPackageOrdersMappingService; @Autowired private UserRechargeDao userRechargeDao; + @Autowired + private UserSadDetailsService userSadDetailsService; + @Autowired + private BlSadJobService blSadJobService; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -2275,6 +2281,38 @@ public class AliPayController { o.setCreateTime(DateUtils.format(new Date())); userRechargeDao.insert(o); } + //判断是否赠送盛安豆 + if(StringUtils.isNotEmpty(payClassify.getDayNum()+"")){ + String date=sdf.format(new Date()); + userMoneyService.updateSad(1,payDetails.getUserId(),payClassify.getDayMoney()); + UserSadDetails userSadDetails=new UserSadDetails(); + //查询用户当前余额 + UserMoney userNowMoney2 = userMoneyService.selectUserMoneyByUserId(payDetails.getUserId()); + //插入余额 + userSadDetails.setBalance(userNowMoney2.getSad()); + //插入操作类型为已操作用户余额 + userSadDetails.setManipulateType(2); + userSadDetails.setUserId(payDetails.getUserId()); + userSadDetails.setTitle("[充值赠送]标题:充值"); + userSadDetails.setContent("获得盛安豆:"+payClassify.getDayMoney()); + userSadDetails.setType(1); + userSadDetails.setMoney(userNowMoney2.getSad()); + userSadDetails.setCreateTime(date); + userSadDetails.setBlRole(2); + userSadDetails.setBlFlag(1); + userSadDetailsService.insert(userSadDetails); + + //添加定时任务 + BlSadJob blSadJob = new BlSadJob(); + blSadJob.setCreateTime(new Date()); + blSadJob.setUpdateTime(new Date()); + blSadJob.setDayMoney(payClassify.getDayMoney()); + blSadJob.setDaySumNum(payClassify.getDayNum()); + blSadJob.setDayNum(1); + blSadJob.setUserId(payDetails.getUserId()); + blSadJob.setSfwc(0); + blSadJobService.save(blSadJob); + } } else if(payDetails.getType()==4){ From 37c475669b3348f72fb4a3dbfe5bc4f76df1d666 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Tue, 6 Aug 2024 21:55:03 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sqx/modules/pay/controller/PayClassifyController.java | 4 +++- .../com/sqx/modules/task/service/impl/AllTaskServiceImpl.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sqx/modules/pay/controller/PayClassifyController.java b/src/main/java/com/sqx/modules/pay/controller/PayClassifyController.java index a6a058c..5d633bf 100644 --- a/src/main/java/com/sqx/modules/pay/controller/PayClassifyController.java +++ b/src/main/java/com/sqx/modules/pay/controller/PayClassifyController.java @@ -87,7 +87,9 @@ public class PayClassifyController { @ApiOperation("查询充值分类") public Result selectPayClassifyList(Integer page,Integer limit){ Page pages=new Page<>(page,limit); - IPage page1 = payClassifyService.page(pages); + QueryWrapper payClassifyQueryWrapper = new QueryWrapper<>(); + payClassifyQueryWrapper.orderByDesc("create_time"); + IPage page1 = payClassifyService.page(pages,payClassifyQueryWrapper); List records = page1.getRecords(); for(PayClassify payClassify:records){ List list = payClassifyDetailService.findList(payClassify.getPayClassifyId()); diff --git a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java index 56bea38..7ade234 100644 --- a/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java +++ b/src/main/java/com/sqx/modules/task/service/impl/AllTaskServiceImpl.java @@ -304,7 +304,7 @@ public class AllTaskServiceImpl implements AllTaskSercice { //赠送盛安豆定时任务 - @Scheduled(cron = "0 00 21 * * ?") + @Scheduled(cron = "0 0/1 * * * ?") public void updateSadJob() { QueryWrapper query = new QueryWrapper<>(); query.eq("sfwc",0);