Merge remote-tracking branch 'origin/zcc'

This commit is contained in:
wangjinlei
2024-05-28 17:47:33 +08:00
9 changed files with 302 additions and 49 deletions

View File

@@ -0,0 +1,9 @@
package com.peanut.modules.common.dao;
import com.github.yulichang.base.MPJBaseMapper;
import com.peanut.modules.common.entity.UserContributionExchange;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserContributionExchangeDao extends MPJBaseMapper<UserContributionExchange> {
}

View File

@@ -23,6 +23,8 @@ public class CourseMedicine {
private Integer sort;
private String icon;
private Date createTime;
@TableLogic

View File

@@ -19,6 +19,12 @@ public class CourseToMedicine {
private Integer sort;
//0隐藏1初级2高级
private Integer level;
//0隐藏1必修2选修
private Integer selective;
private Date createTime;
@TableLogic

View File

@@ -0,0 +1,30 @@
package com.peanut.modules.common.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("user_contribution_exchange")
public class UserContributionExchange {
@TableId
private Integer id;
private Integer userId;
//剩余未换分数
private Double surplus;
private Date createTime;
@TableLogic
private Integer delFlag;
@TableField(exist = false)
private MyUserEntity user;
}

View File

@@ -0,0 +1,34 @@
package com.peanut.modules.master.controller;
import com.peanut.common.utils.R;
import com.peanut.modules.master.service.UserMergeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* 合并用户
*/
@Slf4j
@RestController("masterUserMerge")
@RequestMapping("master/userMerge")
public class UserMergeController {
@Autowired
private UserMergeService mergeService;
@RequestMapping("/userMerge")
public R userMerge(@RequestBody Map<String, Object> params) {
mergeService.userMerge(params);
return null;
}
}

View File

@@ -0,0 +1,11 @@
package com.peanut.modules.master.service;
import com.peanut.common.utils.R;
import java.util.Map;
public interface UserMergeService {
R userMerge(Map<String, Object> params);
}

View File

@@ -58,7 +58,7 @@ public class CourseMedicineServiceImpl extends ServiceImpl<CourseMedicineDao, Co
}
}
this.updateById(courseMedicine);
return R.ok().put("sociology", courseMedicine);
return R.ok().put("medicine", courseMedicine);
}
private List<CourseMedicine> medicals(int id){

View File

@@ -0,0 +1,90 @@
package com.peanut.modules.master.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.peanut.common.utils.R;
import com.peanut.modules.common.dao.MyUserDao;
import com.peanut.modules.common.dao.UserContributionDao;
import com.peanut.modules.common.dao.UserContributionExchangeDao;
import com.peanut.modules.common.dao.UserCourseBuyDao;
import com.peanut.modules.common.entity.MyUserEntity;
import com.peanut.modules.common.entity.UserContribution;
import com.peanut.modules.common.entity.UserContributionExchange;
import com.peanut.modules.common.entity.UserCourseBuyEntity;
import com.peanut.modules.master.service.UserMergeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Slf4j
@Service("masterUserMergeService")
public class UserMergeServiceImpl implements UserMergeService {
@Autowired
private MyUserDao userDao;
@Autowired
private UserContributionDao contributionDao;
@Autowired
private UserContributionExchangeDao exchangeDao;
@Autowired
private UserCourseBuyDao courseBuyDao;
@Override
public R userMerge(Map<String, Object> params) {
MyUserEntity mainUser = userDao.selectById(params.get("mainAccountId").toString());
MyUserEntity secondUser = userDao.selectById(params.get("secondAccountId").toString());
if (mainUser != null){
if (secondUser!=null){
//虚拟币、积分
mainUser.setPeanutCoin(mainUser.getPeanutCoin().add(secondUser.getPeanutCoin()));
mainUser.setJf(mainUser.getJf().add(secondUser.getJf()));
userDao.updateById(mainUser);
//湖分
LambdaQueryWrapper<UserContribution> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(UserContribution :: getUserId,secondUser.getId());
List<UserContribution> contributions = contributionDao.selectList(queryWrapper);
if (contributions != null&&contributions.size()>0) {
for (UserContribution c : contributions) {
c.setUserId(mainUser.getId());
contributionDao.updateById(c);
}
}
//湖分剩余
LambdaQueryWrapper<UserContributionExchange> exchangeWrapper = new LambdaQueryWrapper<>();
exchangeWrapper.eq(UserContributionExchange :: getUserId,secondUser.getId());
UserContributionExchange exchange = exchangeDao.selectOne(exchangeWrapper);
if (exchange != null) {
LambdaQueryWrapper<UserContributionExchange> mainExchangeWrapper = new LambdaQueryWrapper<>();
mainExchangeWrapper.eq(UserContributionExchange :: getUserId,mainUser.getId());
UserContributionExchange mainExchanges = exchangeDao.selectOne(mainExchangeWrapper);
if (mainExchanges != null) {
mainExchanges.setSurplus(mainExchanges.getSurplus()+exchange.getSurplus());
exchangeDao.updateById(mainExchanges);
}else {
exchange.setUserId(mainUser.getId());
exchangeDao.updateById(exchange);
}
}
//课
LambdaQueryWrapper<UserCourseBuyEntity> courseWrapper = new LambdaQueryWrapper<>();
courseWrapper.eq(UserCourseBuyEntity :: getUserId,secondUser.getId());
List<UserCourseBuyEntity> courseBuys = courseBuyDao.selectList(courseWrapper);
if (courseBuys != null&&courseBuys.size()>0) {
for (UserCourseBuyEntity c : courseBuys) {
c.setUserId(mainUser.getId());
courseBuyDao.updateById(c);
}
}
//删除次用户
userDao.deleteById(secondUser.getId());
}else {
return R.error("次账号未找到");
}
}else {
return R.error("主账号未找到");
}
return null;
}
}