邀请人员达标人员够?额外奖励
This commit is contained in:
parent
af6efd83be
commit
978c4ff5b6
|
|
@ -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<CompletAward>().orderByAsc("id")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -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<CompletAward> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -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<CompletAward> {
|
||||||
|
@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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -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<CompletAward> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -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<CompletAwardDao, CompletAward> implements CompletAwardService {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.sqx.modules.pay.controller.app;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.annotation.Debounce;
|
||||||
import com.sqx.common.utils.DateUtils;
|
import com.sqx.common.utils.DateUtils;
|
||||||
import com.sqx.common.utils.Result;
|
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.UserMoneyService;
|
||||||
import com.sqx.modules.app.service.UserService;
|
import com.sqx.modules.app.service.UserService;
|
||||||
import com.sqx.modules.common.service.CommonInfoService;
|
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.dao.InviteDao;
|
||||||
import com.sqx.modules.invite.entity.Invite;
|
import com.sqx.modules.invite.entity.Invite;
|
||||||
import com.sqx.modules.invite.service.InviteService;
|
import com.sqx.modules.invite.service.InviteService;
|
||||||
|
|
@ -58,12 +61,13 @@ public class WuyouController {
|
||||||
private final UserMoneyDetailsService userMoneyDetailsService;
|
private final UserMoneyDetailsService userMoneyDetailsService;
|
||||||
private final CommonInfoService commonRepository;
|
private final CommonInfoService commonRepository;
|
||||||
private final CashOutDao cashOutDao;
|
private final CashOutDao cashOutDao;
|
||||||
|
private final CompletAwardService completAwardService;
|
||||||
|
|
||||||
private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
WuyouController(OrdersService ordersService, PayDetailsDao payDetailsDao, UserService userService, InviteService inviteService, CashOutDao cashOutDao,
|
WuyouController(OrdersService ordersService, PayDetailsDao payDetailsDao, UserService userService, InviteService inviteService, CashOutDao cashOutDao,
|
||||||
UserMoneyService userMoneyService, UserMoneyDetailsService userMoneyDetailsService, CommonInfoService commonRepository,
|
UserMoneyService userMoneyService, UserMoneyDetailsService userMoneyDetailsService, CommonInfoService commonRepository,
|
||||||
InviteDao inviteDao) {
|
InviteDao inviteDao,CompletAwardService completAwardService) {
|
||||||
this.ordersService = ordersService;
|
this.ordersService = ordersService;
|
||||||
this.payDetailsDao = payDetailsDao;
|
this.payDetailsDao = payDetailsDao;
|
||||||
this.userService = userService;
|
this.userService = userService;
|
||||||
|
|
@ -73,6 +77,7 @@ public class WuyouController {
|
||||||
this.userMoneyDetailsService = userMoneyDetailsService;
|
this.userMoneyDetailsService = userMoneyDetailsService;
|
||||||
this.commonRepository = commonRepository;
|
this.commonRepository = commonRepository;
|
||||||
this.inviteDao = inviteDao;
|
this.inviteDao = inviteDao;
|
||||||
|
this.completAwardService = completAwardService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Debounce(interval = 1000, value = "#orderId")
|
@Debounce(interval = 1000, value = "#orderId")
|
||||||
|
|
@ -262,6 +267,32 @@ public class WuyouController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryWrapper<UserMoneyDetails> moneyDetailsQuery = new QueryWrapper<>();
|
||||||
|
moneyDetailsQuery.eq("classify", 7);
|
||||||
|
moneyDetailsQuery.eq("user_id", sourceUser.getUserId());
|
||||||
|
//达标人数
|
||||||
|
int completeCount = userMoneyDetailsService.count(moneyDetailsQuery);
|
||||||
|
completAwardService.list(new QueryWrapper<CompletAward>().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;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue