first commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package com.sqx.modules.invite.controller;
|
||||
|
||||
|
||||
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 com.sqx.modules.invite.entity.InviteAward;
|
||||
import com.sqx.modules.invite.service.InviteAwardService;
|
||||
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;
|
||||
|
||||
/**
|
||||
* @author fang
|
||||
* @date 2020/7/9
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@Api(value = "邀请奖励", tags = {"邀请奖励"})
|
||||
@RequestMapping(value = "/inviteAward")
|
||||
public class InviteAwardController {
|
||||
|
||||
@Autowired
|
||||
private InviteAwardService inviteAwardService;
|
||||
|
||||
@PostMapping("/insertInviteAward")
|
||||
@ApiOperation("添加邀请奖励")
|
||||
public Result insertInviteAward(@RequestBody InviteAward inviteAward){
|
||||
inviteAward.setCreateTime(DateUtils.format(new Date()));
|
||||
inviteAwardService.save(inviteAward);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@PostMapping("/updateInviteAward")
|
||||
@ApiOperation("修改邀请奖励")
|
||||
public Result updateInviteAward(@RequestBody InviteAward inviteAward){
|
||||
inviteAwardService.updateById(inviteAward);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@PostMapping("/deleteInviteAward")
|
||||
@ApiOperation("删除邀请奖励")
|
||||
public Result deleteInviteAward(Long inviteAwardId){
|
||||
inviteAwardService.removeById(inviteAwardId);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@GetMapping("/selectInviteAwardList")
|
||||
@ApiOperation("查询邀请奖励列表")
|
||||
public Result selectInviteAwardList(Integer page,Integer limit){
|
||||
return Result.success().put("data",inviteAwardService.page(new Page<>(page,limit),new QueryWrapper<InviteAward>().orderByAsc("invite_count")));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,184 @@
|
||||
package com.sqx.modules.invite.controller;
|
||||
|
||||
|
||||
import com.sqx.common.utils.PageUtils;
|
||||
import com.sqx.common.utils.Result;
|
||||
import com.sqx.modules.app.entity.UserEntity;
|
||||
import com.sqx.modules.app.entity.UserMoneyDetails;
|
||||
import com.sqx.modules.app.service.UserMoneyDetailsService;
|
||||
import com.sqx.modules.app.service.UserService;
|
||||
import com.sqx.modules.common.entity.CommonInfo;
|
||||
import com.sqx.modules.common.service.CommonInfoService;
|
||||
import com.sqx.modules.invite.entity.InviteMoney;
|
||||
import com.sqx.modules.invite.service.InviteMoneyService;
|
||||
import com.sqx.modules.invite.service.InviteService;
|
||||
import com.sqx.modules.utils.InvitationCodeUtil;
|
||||
import com.sqx.modules.utils.SenInfoCheckUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author fang
|
||||
* @date 2020/7/9
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@Api(value = "邀请收益", tags = {"邀请收益"})
|
||||
@RequestMapping(value = "/invite")
|
||||
public class InviteController {
|
||||
|
||||
@Autowired
|
||||
private InviteService inviteService;
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private InviteMoneyService inviteMoneyService;
|
||||
@Autowired
|
||||
private CommonInfoService commonInfoService;
|
||||
@Autowired
|
||||
private UserMoneyDetailsService userMoneyDetailsService;
|
||||
|
||||
@RequestMapping(value = "/selectInviteCount", method = RequestMethod.GET)
|
||||
@ApiOperation("查看我邀请的人员数量")
|
||||
@ResponseBody
|
||||
public Result selectInviteCount(Integer state,Long userId){
|
||||
return Result.success().put("data",inviteService.selectInviteCount(state,userId));
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/selectInviteAndPoster", method = RequestMethod.GET)
|
||||
@ApiOperation("查看我的邀请码和海报二维码")
|
||||
@ResponseBody
|
||||
public Result selectInviteAndPoster(Long userId){
|
||||
UserEntity userEntity = userService.queryByUserId(userId);
|
||||
CommonInfo one = commonInfoService.findOne(19);
|
||||
Map<String,Object> map=new HashMap<>();
|
||||
map.put("url",one.getValue());
|
||||
map.put("user",userEntity);
|
||||
return Result.success().put("data",map);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/selectInviteByUserIdList", method = RequestMethod.GET)
|
||||
@ApiOperation("查看我邀请的人员列表(只查看邀请成功成为会员))")
|
||||
@ResponseBody
|
||||
public Result selectInviteByUserIdList(int page,int limit,Long userId,Integer userType){
|
||||
PageUtils pageUtils = inviteService.selectInviteUser(page, limit, userId,1,userType);
|
||||
InviteMoney inviteMoney = inviteMoneyService.selectInviteMoneyByUserId(userId);
|
||||
Map<String,Object> map=new HashMap<>();
|
||||
map.put("pageUtils",pageUtils);
|
||||
map.put("inviteMoney",inviteMoney);
|
||||
return Result.success().put("data",map);
|
||||
}
|
||||
|
||||
@GetMapping("/mpCreateQr")
|
||||
@ApiOperation("小程序推广二维码")
|
||||
public void mpCreateQr(String relation, String page,HttpServletResponse response) {
|
||||
SenInfoCheckUtil.getPoster(relation,page,response);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*@RequestMapping(value = "/selectZhiFeiMoney", method = RequestMethod.GET)
|
||||
@ApiOperation("查询直属非直属邀请收益")
|
||||
@ResponseBody
|
||||
public Result selectZhiFeiMoney(Long userId){
|
||||
UserEntity userEntity = userService.queryByUserId(userId);
|
||||
//查询直属邀请人数数量
|
||||
Integer zhiUserInviteCount = userService.selectZhiUserInviteCount(userEntity.getInvitationCode());
|
||||
//查询非直属邀请人数量
|
||||
Integer feiUserInviteCount = userService.selectFeiUserInviteCount(userEntity.getInvitationCode());
|
||||
Map<String,Object> map=new HashMap<>();
|
||||
map.put("zhiUserInviteCount",zhiUserInviteCount);
|
||||
map.put("feiUserInviteCount",feiUserInviteCount);
|
||||
return Result.success().put("data",map);
|
||||
}*/
|
||||
|
||||
/*@RequestMapping(value = "/selectZhiInviteByUserIdList", method = RequestMethod.GET)
|
||||
@ApiOperation("直属")
|
||||
@ResponseBody
|
||||
public Result selectZhiInviteByUserIdList(int page,int limit,Long userId){
|
||||
return userService.selectZhiInviteByUserIdList(page,limit,userId);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/selectFeiInviteByUserIdList", method = RequestMethod.GET)
|
||||
@ApiOperation("非直属用户")
|
||||
@ResponseBody
|
||||
public Result selectFeiInviteByUserIdList(int page,int limit,Long userId){
|
||||
return userService.selectFeiInviteByUserIdList(page,limit,userId);
|
||||
}*/
|
||||
|
||||
|
||||
@RequestMapping(value = "/selectInviteByUserIdLists", method = RequestMethod.GET)
|
||||
@ApiOperation("查看我邀请的人员列表(查看所有邀请列表)")
|
||||
@ResponseBody
|
||||
public Result selectInviteByUserIdLists(int page,int limit,Long userId,Integer userType){
|
||||
PageUtils pageUtils = inviteService.selectInviteUser(page, limit, userId,null,userType);
|
||||
Map<String,Object> map=new HashMap<>();
|
||||
map.put("pageUtils",pageUtils);
|
||||
return Result.success().put("data",map);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/insertInvitationCode", method = RequestMethod.POST)
|
||||
@ApiOperation("填写邀请码")
|
||||
@ResponseBody
|
||||
public Result insertInvitationCode(Long userId,String invitationCode)
|
||||
{
|
||||
if(StringUtils.isBlank(invitationCode)){
|
||||
return Result.error("邀请码不能为空!");
|
||||
}
|
||||
long inviteeUserId = InvitationCodeUtil.codeToId(invitationCode);
|
||||
UserEntity userEntity = userService.queryByUserId(inviteeUserId);
|
||||
if(userEntity==null){
|
||||
return Result.error("邀请码填写错误!");
|
||||
}
|
||||
inviteService.saveBody(userId,userEntity);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@PostMapping("addInviteMoney/{userId}/{money}")
|
||||
@ApiOperation("添加金额")
|
||||
public Result addInviteMoney(@PathVariable("userId") Long userId, @PathVariable("money") Double money) {
|
||||
inviteMoneyService.updateInviteMoneySum(money, userId);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setUserId(userId);
|
||||
userMoneyDetails.setTitle("平台修改收益");
|
||||
userMoneyDetails.setContent("平台增加收益:" + money);
|
||||
userMoneyDetails.setType(1);
|
||||
userMoneyDetails.setClassify(2);
|
||||
userMoneyDetails.setMoney(new BigDecimal(money));
|
||||
userMoneyDetails.setCreateTime(sdf.format(new Date()));
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
@PostMapping("subInviteMoney/{userId}/{money}")
|
||||
@ApiOperation("减少金额")
|
||||
public Result subInviteMoney(@PathVariable("userId") Long userId, @PathVariable("money") Double money) {
|
||||
inviteMoneyService.updateInviteMoneySumSub(money, userId);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setUserId(userId);
|
||||
userMoneyDetails.setTitle("平台修改收益");
|
||||
userMoneyDetails.setContent("平台减少收益:" + money);
|
||||
userMoneyDetails.setType(2);
|
||||
userMoneyDetails.setClassify(2);
|
||||
userMoneyDetails.setMoney(new BigDecimal(money));
|
||||
userMoneyDetails.setCreateTime(sdf.format(new Date()));
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,179 @@
|
||||
package com.sqx.modules.invite.controller.app;
|
||||
|
||||
|
||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||
import cn.hutool.extra.qrcode.QrConfig;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.sqx.common.utils.PageUtils;
|
||||
import com.sqx.common.utils.Result;
|
||||
import com.sqx.modules.app.annotation.Login;
|
||||
import com.sqx.modules.app.annotation.LoginUser;
|
||||
import com.sqx.modules.app.entity.UserEntity;
|
||||
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.entity.CommonInfo;
|
||||
import com.sqx.modules.common.service.CommonInfoService;
|
||||
import com.sqx.modules.invite.entity.InviteAward;
|
||||
import com.sqx.modules.invite.entity.InviteMoney;
|
||||
import com.sqx.modules.invite.service.InviteAwardService;
|
||||
import com.sqx.modules.invite.service.InviteMoneyService;
|
||||
import com.sqx.modules.invite.service.InviteService;
|
||||
import com.sqx.modules.urlAddress.service.UrlAddressService;
|
||||
import com.sqx.modules.utils.SenInfoCheckUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author fang
|
||||
* @date 2020/7/9
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@Api(value = "邀请收益", tags = {"邀请收益"})
|
||||
@RequestMapping(value = "/app/invite")
|
||||
public class AppInviteController {
|
||||
|
||||
@Autowired
|
||||
private InviteService inviteService;
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private InviteMoneyService inviteMoneyService;
|
||||
@Autowired
|
||||
private CommonInfoService commonInfoService;
|
||||
@Autowired
|
||||
private UserMoneyService userMoneyService;
|
||||
@Autowired
|
||||
private UserMoneyDetailsService userMoneyDetailsService;
|
||||
@Autowired
|
||||
private InviteAwardService inviteAwardService;
|
||||
@Resource
|
||||
private QrConfig qrconig;
|
||||
@Autowired
|
||||
private UrlAddressService urlAddressService;
|
||||
|
||||
@RequestMapping(value = "/selectInviteCount", method = RequestMethod.GET)
|
||||
@ApiOperation("查看我邀请的人员数量")
|
||||
@ResponseBody
|
||||
public Result selectInviteCount(Integer state,Long userId){
|
||||
return Result.success().put("data",inviteService.selectInviteCount(state,userId));
|
||||
}
|
||||
|
||||
@Login
|
||||
@RequestMapping(value = "/selectUserMoney", method = RequestMethod.GET)
|
||||
@ApiOperation("查看我的钱包")
|
||||
@ResponseBody
|
||||
public Result selectUserMoney(@RequestAttribute("userId") Long userId){
|
||||
return Result.success().put("data",userMoneyService.selectUserMoneyByUserId(userId));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@RequestMapping(value = "/selectInviteAndPoster", method = RequestMethod.GET)
|
||||
@ApiOperation("查看我的邀请码和海报二维码")
|
||||
@ResponseBody
|
||||
public Result selectInviteAndPoster(Long userId){
|
||||
UserEntity userEntity = userService.queryByUserId(userId);
|
||||
CommonInfo one = commonInfoService.findOne(19);
|
||||
Map<String,Object> map=new HashMap<>();
|
||||
map.put("url",one.getValue());
|
||||
map.put("user",userEntity);
|
||||
return Result.success().put("data",map);
|
||||
}
|
||||
|
||||
@Login
|
||||
@RequestMapping(value = "/selectInviteMoney", method = RequestMethod.GET)
|
||||
@ApiOperation("我的收益")
|
||||
@ResponseBody
|
||||
public Result selectInviteMoney(@RequestAttribute("userId") Long userId){
|
||||
InviteMoney inviteMoney = inviteMoneyService.selectInviteMoneyByUserId(userId);
|
||||
Integer inviteCount = inviteService.selectInviteCount(-1, userId);
|
||||
Map<String,Object> result=new HashMap<>();
|
||||
result.put("inviteMoney",inviteMoney);
|
||||
result.put("inviteCount",inviteCount);
|
||||
return Result.success().put("data",result);
|
||||
}
|
||||
|
||||
@GetMapping("/mpCreateQr")
|
||||
@ApiOperation("微信小程序推广二维码")
|
||||
public void mpCreateQr(String invitationCode,String page, HttpServletResponse response) {
|
||||
SenInfoCheckUtil.getPoster(invitationCode,page,response);
|
||||
}
|
||||
|
||||
@GetMapping("/dyCreateQr")
|
||||
@ApiOperation("抖音小程序推广二维码")
|
||||
public void dyCreateQr(String invitationCode,String page, HttpServletResponse response) {
|
||||
SenInfoCheckUtil.getDyImg(invitationCode,page,response);
|
||||
}
|
||||
|
||||
@GetMapping("/insertQrCode")
|
||||
@ApiOperation("生成二维码")
|
||||
public void selectQrCode(String content,String courseId, HttpServletResponse servletResponse) throws Exception{
|
||||
String invitationCode = commonInfoService.findOne(88).getValue();
|
||||
String value="";
|
||||
if(StringUtils.isNotBlank(courseId)){
|
||||
value=urlAddressService.selectUrlAddressOne().getUrlAddress()+"?invitation="+invitationCode+"&qdCode="+content+"&id="+courseId;
|
||||
}else{
|
||||
value=urlAddressService.selectUrlAddressOne().getUrlAddress()+"?invitation="+invitationCode+"&qdCode="+content;
|
||||
}
|
||||
|
||||
QrCodeUtil.generate(value,qrconig,"png",servletResponse.getOutputStream());
|
||||
}
|
||||
|
||||
@Login
|
||||
@RequestMapping(value = "/selectInviteByUserIdLists", method = RequestMethod.GET)
|
||||
@ApiOperation("查看我邀请的人员列表(查看所有邀请列表)")
|
||||
@ResponseBody
|
||||
public Result selectInviteByUserIdLists(int page,int limit,@RequestAttribute("userId") Long userId,Integer userType){
|
||||
PageUtils pageUtils = inviteService.selectInviteUser(page, limit, userId,null,userType);
|
||||
return Result.success().put("data",pageUtils);
|
||||
}
|
||||
|
||||
@Login
|
||||
@ApiOperation("钱包明细")
|
||||
@GetMapping("/queryUserMoneyDetails")
|
||||
public Result queryUserMoneyDetails(Integer page, Integer limit,@RequestAttribute("userId") Long userId,Integer classify,Integer type) {
|
||||
return userMoneyDetailsService.queryUserMoneyDetails(page, limit,null, userId,2,type);
|
||||
}
|
||||
|
||||
@GetMapping("/selectInviteAwardList")
|
||||
@ApiOperation("查询邀请奖励列表")
|
||||
public Result selectInviteAwardList(Integer page,Integer limit){
|
||||
return Result.success().put("data",inviteAwardService.page(new Page<>(page,limit),new QueryWrapper<InviteAward>().orderByAsc("invite_count")));
|
||||
}
|
||||
|
||||
@Login
|
||||
@GetMapping("/selectInviteAwardByUserId")
|
||||
@ApiOperation("查询当前邀请人数的下一个等级")
|
||||
public Result selectInviteAwardByUserId(@LoginUser UserEntity userEntity){
|
||||
int inviterCount = userService.queryInviterCount(userEntity.getInvitationCode());
|
||||
return Result.success().put("data",inviteAwardService.getOne(new QueryWrapper<InviteAward>().gt("invite_count",inviterCount)
|
||||
.last(" order by invite_count limit 1")));
|
||||
}
|
||||
|
||||
@Login
|
||||
@GetMapping("/selectInviteUserListByUserId")
|
||||
@ApiOperation("查询当前邀请人列表")
|
||||
public Result selectInviteUserListByUserId(@LoginUser UserEntity userEntity){
|
||||
return Result.success().put("data",userService.list(new QueryWrapper<UserEntity>().eq("inviter_code",userEntity.getInvitationCode())));
|
||||
}
|
||||
|
||||
@Login
|
||||
@PostMapping("/inviteMoneyConvertUserMoney")
|
||||
@ApiOperation("收益充值京豆")
|
||||
public Result inviteMoneyConvertUserMoney(@LoginUser UserEntity userEntity, Long payClassifyId){
|
||||
return inviteMoneyService.inviteMoneyConvertUserMoney(userEntity,payClassifyId);
|
||||
}
|
||||
|
||||
}
|
||||
16
src/main/java/com/sqx/modules/invite/dao/InviteAwardDao.java
Normal file
16
src/main/java/com/sqx/modules/invite/dao/InviteAwardDao.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package com.sqx.modules.invite.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sqx.modules.invite.entity.InviteAward;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author fang
|
||||
* @date 2023/12/12
|
||||
*/
|
||||
@Mapper
|
||||
public interface InviteAwardDao extends BaseMapper<InviteAward> {
|
||||
|
||||
|
||||
|
||||
}
|
||||
41
src/main/java/com/sqx/modules/invite/dao/InviteDao.java
Normal file
41
src/main/java/com/sqx/modules/invite/dao/InviteDao.java
Normal file
@@ -0,0 +1,41 @@
|
||||
package com.sqx.modules.invite.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.sqx.modules.invite.entity.Invite;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author fang
|
||||
* @date 2020/7/9
|
||||
*/
|
||||
@Mapper
|
||||
public interface InviteDao extends BaseMapper<Invite> {
|
||||
|
||||
IPage<Invite> selectInviteList(Page<Map<String,Object>> page, @Param("state") Integer state, @Param("userId") Long userId);
|
||||
|
||||
Integer selectInviteCount(@Param("state") Integer state, @Param("userId") Long userId);
|
||||
|
||||
Double selectInviteSum(@Param("state") Integer state, @Param("userId") Long userId);
|
||||
|
||||
IPage<Map<String,Object>> selectInviteUser(Page<Map<String,Object>> page, @Param("userId") Long userId,@Param("state") Integer state,@Param("userType") Integer userType);
|
||||
|
||||
Invite selectInviteByUser(@Param("userId")Long userId,@Param("inviteeUserId") Long inviteeUserId,@Param("userType") Integer userType);
|
||||
|
||||
Integer selectInviteByUserIdCountNotTime(@Param("userId")Long userId);
|
||||
|
||||
Integer selectInviteByUserIdCount(@Param("userId") Long userId, @Param("startTime")Date startTime,@Param("endTime")Date endTime);
|
||||
|
||||
Double selectInviteByUserIdSum(@Param("userId") Long userId, @Param("startTime")Date startTime,@Param("endTime")Date endTime);
|
||||
|
||||
Double sumInviteMoney(@Param("time")String time,@Param("flag")Integer flag);
|
||||
|
||||
IPage<Map<String,Object>> inviteAnalysis(Page<Map<String,Object>> page,@Param("time")String time,@Param("flag")Integer flag);
|
||||
|
||||
|
||||
}
|
||||
26
src/main/java/com/sqx/modules/invite/dao/InviteMoneyDao.java
Normal file
26
src/main/java/com/sqx/modules/invite/dao/InviteMoneyDao.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package com.sqx.modules.invite.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.sqx.modules.invite.entity.InviteMoney;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 邀请收益钱包
|
||||
*
|
||||
*/
|
||||
@Mapper
|
||||
public interface InviteMoneyDao extends BaseMapper<InviteMoney> {
|
||||
|
||||
|
||||
InviteMoney selectInviteMoneyByUserId(Long userId);
|
||||
|
||||
int updateInviteMoneySum(@Param("money") Double money,@Param("userId") Long userId);
|
||||
|
||||
int updateInviteMoneySumSub(@Param("money") Double money,@Param("userId") Long userId);
|
||||
|
||||
int updateInviteMoneyCashOut(@Param("type") Integer type,@Param("money") Double money,@Param("userId") Long userId);
|
||||
|
||||
int updateInviteMoneySub(@Param("money") Double money,@Param("userId") Long userId);
|
||||
|
||||
}
|
||||
55
src/main/java/com/sqx/modules/invite/entity/Invite.java
Normal file
55
src/main/java/com/sqx/modules/invite/entity/Invite.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package com.sqx.modules.invite.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author fang
|
||||
* @date 2020/7/9
|
||||
*/
|
||||
@Data
|
||||
@TableName("invite")
|
||||
public class Invite implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 邀请id
|
||||
*/
|
||||
@TableId(type = IdType.INPUT)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 邀请人id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 被邀请人id
|
||||
*/
|
||||
private Long inviteeUserId;
|
||||
|
||||
/**
|
||||
* 状态 0非会员 1会员
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 收益
|
||||
*/
|
||||
private Double money;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String createTime;
|
||||
|
||||
/**
|
||||
* 类型 1一级好友 2二级好友
|
||||
*/
|
||||
private Integer userType;
|
||||
|
||||
}
|
||||
47
src/main/java/com/sqx/modules/invite/entity/InviteAward.java
Normal file
47
src/main/java/com/sqx/modules/invite/entity/InviteAward.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package com.sqx.modules.invite.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* @description invite_award
|
||||
* @author fang
|
||||
* @date 2023-12-12
|
||||
*/
|
||||
@Data
|
||||
public class InviteAward implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(type = IdType.AUTO)
|
||||
/**
|
||||
* 邀请奖励id
|
||||
*/
|
||||
private Integer inviteAwardId;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
private String inviteImg;
|
||||
|
||||
/**
|
||||
* 邀请人数
|
||||
*/
|
||||
private Integer inviteCount;
|
||||
|
||||
/**
|
||||
* 奖励月份 0是永久
|
||||
*/
|
||||
private Integer inviteMonth;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String createTime;
|
||||
|
||||
public InviteAward() {}
|
||||
}
|
||||
44
src/main/java/com/sqx/modules/invite/entity/InviteMoney.java
Normal file
44
src/main/java/com/sqx/modules/invite/entity/InviteMoney.java
Normal file
@@ -0,0 +1,44 @@
|
||||
package com.sqx.modules.invite.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* invite_money
|
||||
* @author fang 2020-07-28
|
||||
*/
|
||||
@Data
|
||||
public class InviteMoney implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 邀请收益钱包id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 总获取收益
|
||||
*/
|
||||
private Double moneySum;
|
||||
|
||||
/**
|
||||
* 当前金豆
|
||||
*/
|
||||
private Double money;
|
||||
|
||||
/**
|
||||
* 累计提现
|
||||
*/
|
||||
private Double cashOut;
|
||||
|
||||
public InviteMoney() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.sqx.modules.invite.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sqx.modules.invite.entity.InviteAward;
|
||||
|
||||
public interface InviteAwardService extends IService<InviteAward> {
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.sqx.modules.invite.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.sqx.common.utils.Result;
|
||||
import com.sqx.modules.app.entity.UserEntity;
|
||||
import com.sqx.modules.invite.entity.InviteMoney;
|
||||
|
||||
/**
|
||||
* 邀请收益
|
||||
*
|
||||
*/
|
||||
public interface InviteMoneyService extends IService<InviteMoney> {
|
||||
|
||||
InviteMoney selectInviteMoneyByUserId(Long userId);
|
||||
|
||||
int updateInviteMoneySum(Double money,Long userId);
|
||||
|
||||
int updateInviteMoneySumSub(Double money, Long userId);
|
||||
|
||||
int updateInviteMoneyCashOut(Double money,Long userId);
|
||||
|
||||
int updateInviteMoneyCashOut(Integer type,Double money, Long userId);
|
||||
|
||||
Result inviteMoneyConvertUserMoney(UserEntity userEntity, Long payClassifyId);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.sqx.modules.invite.service;
|
||||
|
||||
|
||||
import com.sqx.common.utils.PageUtils;
|
||||
import com.sqx.modules.app.entity.UserEntity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
public interface InviteService {
|
||||
|
||||
PageUtils selectInviteList(int page, int limit, Integer state, Long userId);
|
||||
|
||||
Integer selectInviteCount(Integer state,Long userId);
|
||||
|
||||
Double selectInviteSum(Integer state,Long userId);
|
||||
|
||||
int saveBody(Long userId, UserEntity userEntity);
|
||||
|
||||
PageUtils selectInviteUser(int page,int limit,Long userId,Integer state,Integer userType);
|
||||
|
||||
Integer selectInviteByUserIdCountNotTime(Long userId);
|
||||
|
||||
Integer selectInviteByUserIdCount(Long userId, Date startTime, Date endTime);
|
||||
|
||||
Double selectInviteByUserIdSum(Long userId, Date startTime,Date endTime);
|
||||
|
||||
Double sumInviteMoney(String time,Integer flag);
|
||||
|
||||
PageUtils inviteAnalysis(int page,int limit, String time, Integer flag);
|
||||
|
||||
Map updateInvite(UserEntity userEntity, String format, Long userId, BigDecimal price);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.sqx.modules.invite.service.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sqx.modules.invite.dao.InviteAwardDao;
|
||||
import com.sqx.modules.invite.entity.InviteAward;
|
||||
import com.sqx.modules.invite.service.InviteAwardService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
@Service("InviteAwardService")
|
||||
public class InviteAwardServiceImpl extends ServiceImpl<InviteAwardDao, InviteAward> implements InviteAwardService {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.sqx.modules.invite.service.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sqx.common.utils.DateUtils;
|
||||
import com.sqx.common.utils.Result;
|
||||
import com.sqx.modules.app.entity.UserEntity;
|
||||
import com.sqx.modules.app.entity.UserMoneyDetails;
|
||||
import com.sqx.modules.app.service.UserMoneyDetailsService;
|
||||
import com.sqx.modules.app.service.UserMoneyService;
|
||||
import com.sqx.modules.invite.dao.InviteMoneyDao;
|
||||
import com.sqx.modules.invite.entity.InviteMoney;
|
||||
import com.sqx.modules.invite.service.InviteMoneyService;
|
||||
import com.sqx.modules.pay.entity.PayClassify;
|
||||
import com.sqx.modules.pay.service.PayClassifyService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
@Service("InviteMoneyService")
|
||||
public class InviteMoneyServiceImpl extends ServiceImpl<InviteMoneyDao, InviteMoney> implements InviteMoneyService {
|
||||
|
||||
@Autowired
|
||||
private InviteMoneyDao inviteMoneyDao;
|
||||
@Autowired
|
||||
private UserMoneyDetailsService userMoneyDetailsService;
|
||||
@Autowired
|
||||
private UserMoneyService userMoneyService;
|
||||
@Autowired
|
||||
private PayClassifyService payClassifyService;
|
||||
|
||||
|
||||
@Override
|
||||
public InviteMoney selectInviteMoneyByUserId(Long userId) {
|
||||
InviteMoney inviteMoney = inviteMoneyDao.selectInviteMoneyByUserId(userId);
|
||||
if(inviteMoney==null){
|
||||
inviteMoney=new InviteMoney();
|
||||
inviteMoney.setCashOut(0.00);
|
||||
inviteMoney.setUserId(userId);
|
||||
inviteMoney.setMoney(0.00);
|
||||
inviteMoney.setMoneySum(0.00);
|
||||
inviteMoneyDao.insert(inviteMoney);
|
||||
}
|
||||
return inviteMoney;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateInviteMoneySum(Double money, Long userId) {
|
||||
selectInviteMoneyByUserId(userId);
|
||||
return inviteMoneyDao.updateInviteMoneySum(money,userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateInviteMoneySumSub(Double money, Long userId) {
|
||||
selectInviteMoneyByUserId(userId);
|
||||
return inviteMoneyDao.updateInviteMoneySumSub(money,userId);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int updateInviteMoneyCashOut(Double money, Long userId) {
|
||||
return inviteMoneyDao.updateInviteMoneySum(money,userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateInviteMoneyCashOut(Integer type,Double money, Long userId) {
|
||||
return inviteMoneyDao.updateInviteMoneyCashOut(type,money,userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result inviteMoneyConvertUserMoney(UserEntity userEntity, Long payClassifyId){
|
||||
PayClassify payClassify = payClassifyService.getById(payClassifyId);
|
||||
BigDecimal price = payClassify.getPrice();
|
||||
InviteMoney inviteMoney = selectInviteMoneyByUserId(userEntity.getUserId());
|
||||
if(inviteMoney.getMoney()<price.doubleValue()){
|
||||
return Result.error("收益不足!");
|
||||
}
|
||||
BigDecimal add = payClassify.getMoney().add(payClassify.getGiveMoney());
|
||||
inviteMoneyDao.updateInviteMoneySub(price.doubleValue(),userEntity.getUserId());
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setUserId(userEntity.getUserId());
|
||||
userMoneyDetails.setTitle("收益转余额");
|
||||
userMoneyDetails.setContent("减少收益:"+price+",增加余额:"+add);
|
||||
userMoneyDetails.setType(2);
|
||||
userMoneyDetails.setClassify(2);
|
||||
userMoneyDetails.setMoney(price);
|
||||
userMoneyDetails.setCreateTime(DateUtils.format(new Date()));
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
userMoneyService.updateMoney(1,userEntity.getUserId(),add.doubleValue());
|
||||
userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setUserId(userEntity.getUserId());
|
||||
userMoneyDetails.setTitle("收益转余额");
|
||||
userMoneyDetails.setContent("减少收益:"+price+",增加余额:"+add);
|
||||
userMoneyDetails.setType(1);
|
||||
userMoneyDetails.setClassify(1);
|
||||
userMoneyDetails.setMoney(add);
|
||||
userMoneyDetails.setCreateTime(DateUtils.format(new Date()));
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
//创建订单返回对象
|
||||
return Result.success();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,303 @@
|
||||
package com.sqx.modules.invite.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sqx.common.utils.DateUtils;
|
||||
import com.sqx.common.utils.PageUtils;
|
||||
import com.sqx.modules.app.entity.UserEntity;
|
||||
import com.sqx.modules.app.entity.UserMoneyDetails;
|
||||
import com.sqx.modules.app.entity.UserVip;
|
||||
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.app.service.UserVipService;
|
||||
import com.sqx.modules.common.service.CommonInfoService;
|
||||
import com.sqx.modules.invite.dao.InviteDao;
|
||||
import com.sqx.modules.invite.entity.Invite;
|
||||
import com.sqx.modules.invite.entity.InviteAward;
|
||||
import com.sqx.modules.invite.service.InviteAwardService;
|
||||
import com.sqx.modules.invite.service.InviteMoneyService;
|
||||
import com.sqx.modules.invite.service.InviteService;
|
||||
import com.sqx.modules.sys.entity.SysUserEntity;
|
||||
import com.sqx.modules.sys.service.SysUserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 邀请记录
|
||||
*/
|
||||
@Service
|
||||
public class InviteServiceImpl extends ServiceImpl<InviteDao, Invite> implements InviteService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private InviteDao inviteDao;
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private CommonInfoService commonInfoService;
|
||||
@Autowired
|
||||
private InviteMoneyService inviteMoneyService;
|
||||
@Autowired
|
||||
private UserMoneyService userMoneyService;
|
||||
@Autowired
|
||||
private UserMoneyDetailsService userMoneyDetailsService;
|
||||
@Autowired
|
||||
private InviteAwardService inviteAwardService;
|
||||
@Autowired
|
||||
private UserVipService userVipService;
|
||||
@Autowired
|
||||
private SysUserService sysUserService;
|
||||
|
||||
@Override
|
||||
public PageUtils selectInviteList(int page,int limit,Integer state,Long userId){
|
||||
Page<Map<String,Object>> pages=new Page<>(page,limit);
|
||||
if(state==null || state==-1){
|
||||
state=null;
|
||||
}
|
||||
return new PageUtils(inviteDao.selectInviteList(pages,state,userId));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public PageUtils selectInviteUser(int page, int limit, Long userId, Integer state,Integer userType) {
|
||||
Page<Map<String, Object>> pages = new Page<>(page, limit);
|
||||
return new PageUtils(inviteDao.selectInviteUser(pages, userId, state,userType));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer selectInviteByUserIdCountNotTime(Long userId) {
|
||||
return inviteDao.selectInviteByUserIdCountNotTime(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer selectInviteByUserIdCount(Long userId, Date startTime, Date endTime) {
|
||||
return inviteDao.selectInviteByUserIdCount(userId,startTime,endTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double selectInviteByUserIdSum(Long userId, Date startTime, Date endTime) {
|
||||
return inviteDao.selectInviteByUserIdSum(userId,startTime,endTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double sumInviteMoney(String time, Integer flag) {
|
||||
return inviteDao.sumInviteMoney(time,flag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageUtils inviteAnalysis(int page,int limit, String time, Integer flag) {
|
||||
Page<Map<String,Object>> pages=new Page<>(page,limit);
|
||||
return new PageUtils(inviteDao.inviteAnalysis(pages,time,flag));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer selectInviteCount(Integer state,Long userId){
|
||||
if(state==null || state==-1){
|
||||
state=null;
|
||||
}
|
||||
return inviteDao.selectInviteCount(state,userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double selectInviteSum(Integer state, Long userId) {
|
||||
if(state==null || state==-1){
|
||||
state=null;
|
||||
}
|
||||
return inviteDao.selectInviteSum(state,userId);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int saveBody(Long userId, UserEntity userEntity){
|
||||
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String format = sdf.format(new Date());
|
||||
Invite invite=new Invite();
|
||||
invite.setState(0);
|
||||
invite.setMoney(0.00);
|
||||
invite.setUserId(userEntity.getUserId());
|
||||
invite.setInviteeUserId(userId);
|
||||
invite.setCreateTime(format);
|
||||
invite.setUserType(1);
|
||||
inviteDao.insert(invite);
|
||||
//同步二级
|
||||
UserEntity two = userService.queryByInvitationCode(userEntity.getInviterCode());
|
||||
if(two!=null){
|
||||
invite=new Invite();
|
||||
invite.setState(0);
|
||||
invite.setMoney(0.00);
|
||||
invite.setUserId(two.getUserId());
|
||||
invite.setInviteeUserId(userId);
|
||||
invite.setCreateTime(format);
|
||||
invite.setUserType(2);
|
||||
inviteDao.insert(invite);
|
||||
}
|
||||
UserEntity user=new UserEntity();
|
||||
user.setUserId(userId);
|
||||
user.setInviterCode(userEntity.getInvitationCode());
|
||||
userService.updateById(user);
|
||||
String value = commonInfoService.findOne(813).getValue();
|
||||
if("是".equals(value)){
|
||||
//获取邀请人的邀请数量
|
||||
int inviterCount = userService.queryInviterCount(userEntity.getInvitationCode());
|
||||
InviteAward inviteAward = inviteAwardService.getOne(new QueryWrapper<InviteAward>().eq("invite_count", inviterCount));
|
||||
if(inviteAward!=null){
|
||||
if(inviteAward.getInviteMonth()==0){
|
||||
userVipService.update(null, Wrappers.<UserVip>lambdaUpdate()
|
||||
.set(UserVip::getIsVip,2)
|
||||
.set(UserVip::getEndTime,null)
|
||||
.set(UserVip::getVipType,1)
|
||||
.eq(UserVip::getUserId,userEntity.getUserId()));
|
||||
}else{
|
||||
UserVip userVip = userVipService.selectUserVipByUserId(userEntity.getUserId());
|
||||
Calendar calendar=Calendar.getInstance();
|
||||
if(userVip!=null && userVip.getIsVip()==2){
|
||||
Date date = DateUtils.stringToDate(userVip.getEndTime(), DateUtils.DATE_TIME_PATTERN);
|
||||
calendar.setTime(date);
|
||||
}else{
|
||||
userVip=new UserVip();
|
||||
userVip.setUserId(userEntity.getUserId());
|
||||
userVip.setCreateTime(DateUtils.format(new Date()));
|
||||
}
|
||||
userVip.setIsVip(2);
|
||||
userVip.setVipType(1);
|
||||
calendar.add(Calendar.MONTH,inviteAward.getInviteMonth());
|
||||
userVip.setEndTime(DateUtils.format(calendar.getTime()));
|
||||
if(userVip.getVipId()!=null){
|
||||
userVipService.updateById(userVip);
|
||||
}else{
|
||||
userVipService.save(userVip);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Map updateInvite(UserEntity userEntity, String format, Long userId, BigDecimal price) {
|
||||
Map<String,Object> result=new HashMap<>();
|
||||
if (userEntity != null && userId != null && price != null) {
|
||||
Invite invite1 = inviteDao.selectInviteByUser(userEntity.getUserId(), userId,1);
|
||||
if (invite1 == null) {
|
||||
Invite invite = new Invite();
|
||||
invite.setState(0);
|
||||
invite.setMoney(0.00);
|
||||
invite.setUserId(userEntity.getUserId());
|
||||
invite.setInviteeUserId(userId);
|
||||
invite.setCreateTime(format);
|
||||
invite.setUserType(1);
|
||||
inviteDao.insert(invite);
|
||||
invite1 = inviteDao.selectInviteByUser(userEntity.getUserId(), userId,1);
|
||||
}
|
||||
UserEntity userEntity1 = userService.selectUserById(userId);
|
||||
BigDecimal oneMoney=BigDecimal.ZERO;
|
||||
BigDecimal twoMoney=BigDecimal.ZERO;
|
||||
if (userEntity.getRate() != null && userEntity.getRate().doubleValue() > 0) {
|
||||
BigDecimal rateMoney = price.multiply(userEntity.getRate()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
oneMoney=rateMoney;
|
||||
Double money = rateMoney.doubleValue();
|
||||
invite1.setUserType(1);
|
||||
invite1.setState(1);
|
||||
BigDecimal add = BigDecimal.valueOf(invite1.getMoney()).add(BigDecimal.valueOf(money));
|
||||
invite1.setMoney(add.doubleValue());
|
||||
inviteDao.updateById(invite1);
|
||||
inviteMoneyService.updateInviteMoneySum(money, userEntity.getUserId());
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setUserId(userEntity.getUserId());
|
||||
userMoneyDetails.setType(1);
|
||||
userMoneyDetails.setClassify(2);
|
||||
userMoneyDetails.setMoney(new BigDecimal(money));
|
||||
userMoneyDetails.setCreateTime(format);
|
||||
userMoneyDetails.setTitle("[邀请好友]好友名称:"+userEntity1.getUserName());
|
||||
userMoneyDetails.setContent("获取佣金:"+money);
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
result.put("oneUserId",userEntity.getUserId());
|
||||
result.put("oneMoney",money);
|
||||
}
|
||||
UserEntity two = userService.queryByInvitationCode(userEntity.getInviterCode());
|
||||
if(two!=null){
|
||||
Invite invite2 = inviteDao.selectInviteByUser(two.getUserId(), userId,2);
|
||||
if (invite2 == null) {
|
||||
Invite invite = new Invite();
|
||||
invite.setState(0);
|
||||
invite.setMoney(0.00);
|
||||
invite.setUserId(two.getUserId());
|
||||
invite.setInviteeUserId(userId);
|
||||
invite.setCreateTime(format);
|
||||
invite.setUserType(2);
|
||||
inviteDao.insert(invite);
|
||||
invite2 = inviteDao.selectInviteByUser(two.getUserId(), userId,2);
|
||||
}
|
||||
if (two.getTwoRate() != null && two.getTwoRate().doubleValue() > 0) {
|
||||
BigDecimal rateMoney = price.multiply(two.getTwoRate()).setScale(2, RoundingMode.HALF_UP);
|
||||
twoMoney=rateMoney;
|
||||
Double money = rateMoney.doubleValue();
|
||||
invite2.setUserType(2);
|
||||
invite2.setState(1);
|
||||
BigDecimal add = BigDecimal.valueOf(invite2.getMoney()).add(BigDecimal.valueOf(money));
|
||||
invite2.setMoney(add.doubleValue());
|
||||
inviteDao.updateById(invite2);
|
||||
inviteMoneyService.updateInviteMoneySum(money, two.getUserId());
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setUserId(two.getUserId());
|
||||
userMoneyDetails.setType(1);
|
||||
userMoneyDetails.setMoney(new BigDecimal(money));
|
||||
userMoneyDetails.setCreateTime(format);
|
||||
userMoneyDetails.setClassify(2);
|
||||
userMoneyDetails.setTitle("[邀请好友]好友名称:"+userEntity1.getUserName());
|
||||
userMoneyDetails.setContent("获取佣金:"+money);
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
result.put("twoUserId",two.getUserId());
|
||||
result.put("twoMoney",money);
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotEmpty(userEntity1.getQdCode())){
|
||||
SysUserEntity sysUserEntity = sysUserService.selectSysUserByQdCode(userEntity1.getQdCode());
|
||||
if(sysUserEntity!=null){
|
||||
BigDecimal rateMoney = price.multiply(sysUserEntity.getQdRate()).setScale(2, RoundingMode.HALF_UP);
|
||||
BigDecimal sumMoney = rateMoney.subtract(oneMoney);
|
||||
sumMoney = sumMoney.subtract(twoMoney);
|
||||
userMoneyService.updateSysMoney(1,sysUserEntity.getUserId(),sumMoney.doubleValue());
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
|
||||
userMoneyDetails.setSysUserId(sysUserEntity.getUserId());
|
||||
userMoneyDetails.setType(1);
|
||||
userMoneyDetails.setMoney(sumMoney);
|
||||
userMoneyDetails.setCreateTime(format);
|
||||
userMoneyDetails.setClassify(10);
|
||||
userMoneyDetails.setTitle("[渠道用户]用户名称:"+userEntity1.getUserName());
|
||||
String title="总佣金:"+rateMoney;
|
||||
if(oneMoney.doubleValue()>0){
|
||||
title=title+",一级推广员扣除收益:"+oneMoney;
|
||||
}
|
||||
if(twoMoney.doubleValue()>0){
|
||||
title=title+",二级推广员扣除收益:"+twoMoney;
|
||||
}
|
||||
userMoneyDetails.setContent(title+",到账佣金:"+sumMoney);
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
result.put("sysUserId",sysUserEntity.getUserId());
|
||||
result.put("qdMoney",sumMoney);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user