From 978c4ff5b6d3d5278fee58b74c7264b9e8f123d5 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Thu, 12 Dec 2024 10:10:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=80=E8=AF=B7=E4=BA=BA=E5=91=98=E8=BE=BE?= =?UTF-8?q?=E6=A0=87=E4=BA=BA=E5=91=98=E5=A4=9F=EF=BC=9F=E9=A2=9D=E5=A4=96?= =?UTF-8?q?=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CompletAwardController.java | 65 +++++++++++++++++++ .../modules/complet/dao/CompletAwardDao.java | 11 ++++ .../modules/complet/entity/CompletAward.java | 42 ++++++++++++ .../complet/service/CompletAwardService.java | 11 ++++ .../service/impl/CompletAwardServiceImpl.java | 19 ++++++ .../pay/controller/app/WuyouController.java | 33 +++++++++- 6 files changed, 180 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/sqx/modules/complet/controller/CompletAwardController.java create mode 100644 src/main/java/com/sqx/modules/complet/dao/CompletAwardDao.java create mode 100644 src/main/java/com/sqx/modules/complet/entity/CompletAward.java create mode 100644 src/main/java/com/sqx/modules/complet/service/CompletAwardService.java create mode 100644 src/main/java/com/sqx/modules/complet/service/impl/CompletAwardServiceImpl.java diff --git a/src/main/java/com/sqx/modules/complet/controller/CompletAwardController.java b/src/main/java/com/sqx/modules/complet/controller/CompletAwardController.java new file mode 100644 index 00000000..c36e56b5 --- /dev/null +++ b/src/main/java/com/sqx/modules/complet/controller/CompletAwardController.java @@ -0,0 +1,65 @@ +package com.sqx.modules.complet.controller; + + +import cn.hutool.core.date.DateUtil; +import com.sqx.modules.complet.entity.CompletAward; +import com.sqx.modules.complet.service.CompletAwardService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sqx.common.utils.DateUtils; +import com.sqx.common.utils.Result; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Date; + +@Slf4j +@RestController +@Api(value = "达标奖励", tags = {"达标奖励表(邀请人员 几个人达标后的额外奖励)"}) +@RequestMapping(value = "/completAward") +public class CompletAwardController { + /** + * 服务对象 + */ + @Autowired + private CompletAwardService completAwardService; + + @PostMapping("/insertCompletAward") + @ApiOperation("添加达标奖励") + public Result insertCompletAward(@RequestBody CompletAward completAward) { + completAward.setCreateTime(DateUtil.now()); + completAwardService.save(completAward); + return Result.success(); + } + + @GetMapping("/{id}") + @ApiOperation("通过Id查询详情") + public Result selectOne(@PathVariable Integer id) { + return Result.success().put("data", completAwardService.getById(id)); + } + + @PostMapping("/updateCompletAward") + @ApiOperation("修改达标奖励") + public Result updateCompletAward(@RequestBody CompletAward completAward) { + completAward.setUpdateTime(DateUtil.now()); + completAwardService.updateById(completAward); + return Result.success(); + } + + @PostMapping("/deleteCompletAward") + @ApiOperation("删除达标奖励") + public Result deleteCompletAward(Long id) { + completAwardService.removeById(id); + return Result.success(); + } + + @GetMapping("/selectCompletAward") + @ApiOperation("查询达标奖励") + public Result selectCompletAward(Integer page, Integer limit) { + return Result.success().put("data", completAwardService.page(new Page<>(page, limit), new QueryWrapper().orderByAsc("id"))); + } +} + diff --git a/src/main/java/com/sqx/modules/complet/dao/CompletAwardDao.java b/src/main/java/com/sqx/modules/complet/dao/CompletAwardDao.java new file mode 100644 index 00000000..50d39144 --- /dev/null +++ b/src/main/java/com/sqx/modules/complet/dao/CompletAwardDao.java @@ -0,0 +1,11 @@ +package com.sqx.modules.complet.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.sqx.modules.complet.entity.CompletAward; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface CompletAwardDao extends BaseMapper { + +} + diff --git a/src/main/java/com/sqx/modules/complet/entity/CompletAward.java b/src/main/java/com/sqx/modules/complet/entity/CompletAward.java new file mode 100644 index 00000000..55aabed3 --- /dev/null +++ b/src/main/java/com/sqx/modules/complet/entity/CompletAward.java @@ -0,0 +1,42 @@ +package com.sqx.modules.complet.entity; + +import java.math.BigDecimal; +import java.util.Date; + +import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import java.io.Serializable; + +import lombok.Data; + +/** + * 达标奖励表(邀请人员 几个人达标后的额外奖励)(CompletAward)表实体类 + * + * @author ww + * @since 2024-12-12 09:36:13 + */ +@Data +@TableName("complet_award") +@ApiModel(value = "达标奖励表(邀请人员 几个人达标后的额外奖励) 实体类") +public class CompletAward extends Model { + @ApiModelProperty("id") + private Long id; + @ApiModelProperty("人数") + private Integer inviteCount; + @ApiModelProperty("1 金豆 2 红包") + private Integer type; + @ApiModelProperty("奖励数量") + private BigDecimal awardNumber; + @ApiModelProperty("状态 0 关闭 1 开启") + private Integer status; + @ApiModelProperty("创建时间") + private String createTime; + @ApiModelProperty("更新时间") + private String updateTime; + + +} + diff --git a/src/main/java/com/sqx/modules/complet/service/CompletAwardService.java b/src/main/java/com/sqx/modules/complet/service/CompletAwardService.java new file mode 100644 index 00000000..3285f670 --- /dev/null +++ b/src/main/java/com/sqx/modules/complet/service/CompletAwardService.java @@ -0,0 +1,11 @@ +package com.sqx.modules.complet.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.sqx.modules.complet.entity.CompletAward; + +import java.util.Map; + +public interface CompletAwardService extends IService { + +} + diff --git a/src/main/java/com/sqx/modules/complet/service/impl/CompletAwardServiceImpl.java b/src/main/java/com/sqx/modules/complet/service/impl/CompletAwardServiceImpl.java new file mode 100644 index 00000000..eb0b4fcf --- /dev/null +++ b/src/main/java/com/sqx/modules/complet/service/impl/CompletAwardServiceImpl.java @@ -0,0 +1,19 @@ +package com.sqx.modules.complet.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sqx.modules.complet.dao.CompletAwardDao; +import com.sqx.modules.complet.entity.CompletAward; +import com.sqx.modules.complet.service.CompletAwardService; +import org.springframework.stereotype.Service; +import org.apache.commons.lang3.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Map; + +@Service +public class CompletAwardServiceImpl extends ServiceImpl implements CompletAwardService { + + +} + diff --git a/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java b/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java index 499638ba..b7960596 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java @@ -3,6 +3,7 @@ package com.sqx.modules.pay.controller.app; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.sqx.common.annotation.Debounce; import com.sqx.common.utils.DateUtils; import com.sqx.common.utils.Result; @@ -12,6 +13,8 @@ import com.sqx.modules.app.service.UserMoneyDetailsService; import com.sqx.modules.app.service.UserMoneyService; import com.sqx.modules.app.service.UserService; import com.sqx.modules.common.service.CommonInfoService; +import com.sqx.modules.complet.entity.CompletAward; +import com.sqx.modules.complet.service.CompletAwardService; import com.sqx.modules.invite.dao.InviteDao; import com.sqx.modules.invite.entity.Invite; import com.sqx.modules.invite.service.InviteService; @@ -58,12 +61,13 @@ public class WuyouController { private final UserMoneyDetailsService userMoneyDetailsService; private final CommonInfoService commonRepository; private final CashOutDao cashOutDao; + private final CompletAwardService completAwardService; private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); WuyouController(OrdersService ordersService, PayDetailsDao payDetailsDao, UserService userService, InviteService inviteService, CashOutDao cashOutDao, UserMoneyService userMoneyService, UserMoneyDetailsService userMoneyDetailsService, CommonInfoService commonRepository, - InviteDao inviteDao) { + InviteDao inviteDao,CompletAwardService completAwardService) { this.ordersService = ordersService; this.payDetailsDao = payDetailsDao; this.userService = userService; @@ -73,6 +77,7 @@ public class WuyouController { this.userMoneyDetailsService = userMoneyDetailsService; this.commonRepository = commonRepository; this.inviteDao = inviteDao; + this.completAwardService = completAwardService; } @Debounce(interval = 1000, value = "#orderId") @@ -262,6 +267,32 @@ public class WuyouController { } } } + + QueryWrapper moneyDetailsQuery = new QueryWrapper<>(); + moneyDetailsQuery.eq("classify", 7); + moneyDetailsQuery.eq("user_id", sourceUser.getUserId()); + //达标人数 + int completeCount = userMoneyDetailsService.count(moneyDetailsQuery); + completAwardService.list(new QueryWrapper().eq("invite_count", completeCount)).forEach(completAward -> { + switch (completAward.getType()) { + case 1: + UserMoneyDetails userMoneyDetails1 = new UserMoneyDetails( + sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 8, 1, 2, + completAward.getAwardNumber(), "邀请人员已有"+completAward.getInviteCount()+"人完成达标任务,额外奖励金豆" + completAward.getAwardNumber(), 2); + + userMoneyService.updateMoney(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue()); + userMoneyDetailsService.save(userMoneyDetails1); + break; + case 2: + UserMoneyDetails userMoneyDetails2 = new UserMoneyDetails( + sourceUser.getUserId(), null, null, "[分享达标额外奖励]", 8, 1, 2, + completAward.getAwardNumber(), "邀请人员已有"+completAward.getInviteCount()+"人完成达标任务,额外奖励现金红包" + completAward.getAwardNumber(), 1); + + userMoneyService.updateAmount(1, sourceUser.getUserId(), completAward.getAwardNumber().doubleValue()); + userMoneyDetailsService.save(userMoneyDetails2); + break; + } + }); } }