From 113f3a5d3b843fba68ce50a3ba3255c66ca1e15f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 17 Jan 2023 20:13:57 +0800
Subject: [PATCH] 20221227 充值归集
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 465 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 349 insertions(+), 116 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 1314ef0..09a2aaf 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -2,9 +2,9 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
-import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.enumerates.*;
import cc.mrbird.febs.common.exception.FebsException;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
@@ -12,17 +12,22 @@
import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
+import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.pay.model.SinglePayDto;
+import cc.mrbird.febs.pay.service.UnipayService;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.xmlbeans.impl.store.Query;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -53,8 +58,14 @@
private final IApiMallMemberWalletService iApiMallMemberWalletService;
private final AppVersionMapper appVersionMapper;
+ private final MallMemberWithdrawMapper mallMemberWithdrawMapper;
private final MallNewsInfoMapper mallNewsInfoMapper;
+ private final MallShopApplyMapper mallShopApplyMapper;
+
+ private final IMallMoneyFlowService mallMoneyFlowService;
+ private final UnipayService unipayService;
+ private final MallMemberBankMapper mallMemberBankMapper;
@Override
public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -88,6 +99,24 @@
}
@Override
+ public void changeIdentity(Integer type, Long id, Integer value) {
+ MallMember mallMember = mallMemberMapper.selectById(id);
+ if(mallMember == null) {
+ throw new FebsException("参数错误");
+ }
+
+ if (type == 1) {
+ mallMember.setDirector(value);
+ } else if (type == 2){
+ mallMember.setStoreMaster(value);
+ } else {
+ throw new FebsException("参数错误");
+ }
+
+ this.baseMapper.updateById(mallMember);
+ }
+
+ @Override
public MallMemberVo getMallMemberInfoById(long id) {
MallMemberVo mallMemberVo = mallMemberMapper.getMallMemberInfoById(id);
return mallMemberVo;
@@ -117,41 +146,70 @@
@Override
@Transactional
public FebsResponse chargeAgree(Long id) {
- MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id);
- if(ObjectUtil.isEmpty(mallMoneyFlow)){
+
+ MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMemberWithdraw)){
return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
}
- if(1 != mallMoneyFlow.getStatus()){
+ if(1 != mallMemberWithdraw.getStatus()){
return new FebsResponse().fail().message("当前状态不是提现中");
}
- mallMoneyFlow.setStatus(2);
- mallMoneyFlowMapper.updateById(mallMoneyFlow);
+
+// Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId();
+// MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
+// if(ObjectUtil.isEmpty(mallMemberBank)){
+// return new FebsResponse().fail().message("提现地址不存在");
+// }
+ //更新提现记录状态为成功
+ mallMemberWithdrawMapper.updateStatusById(2,mallMemberWithdraw.getId());
+ //更新提现流水记录为成功
+ String withdrawNo = mallMemberWithdraw.getWithdrawNo();
+ MallMoneyFlow withdrawMoneyFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn(
+ mallMemberWithdraw.getMemberId(),
+ withdrawNo,
+ MallMoneyFlowTypeEnum.WITHDRAW.getCode(),
+ MallMoneyFlow.STATUS_ING,
+ MallMoneyFlow.IS_RETURN_Y
+ );
+ withdrawMoneyFlow.setStatus(MallMoneyFlow.STATUS_SUCCESS);
+ mallMoneyFlowMapper.updateById(withdrawMoneyFlow);
return new FebsResponse().success();
}
@Override
@Transactional
public FebsResponse chargeDisagree(Long id) {
- MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id);
- if(ObjectUtil.isEmpty(mallMoneyFlow)){
+ MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallMemberWithdraw)){
return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
}
- if(1 != mallMoneyFlow.getStatus()){
+ if(1 != mallMemberWithdraw.getStatus()){
return new FebsResponse().fail().message("当前状态不是提现中");
}
- mallMoneyFlow.setStatus(3);
- mallMoneyFlowMapper.updateById(mallMoneyFlow);
+ //更新提现记录状态为失败
+ mallMemberWithdrawMapper.updateStatusById(3,mallMemberWithdraw.getId());
+ //更新提现流水记录为成功
+ String withdrawNo = mallMemberWithdraw.getWithdrawNo();
+ MallMoneyFlow withdrawMoneyFlow = mallMoneyFlowMapper.selectOneByMemberIdAndOrderNoAndTypeAndStatusAndIsReturn(
+ mallMemberWithdraw.getMemberId(),
+ withdrawNo,
+ MallMoneyFlowTypeEnum.WITHDRAW.getCode(),
+ MallMoneyFlow.STATUS_ING,
+ MallMoneyFlow.IS_RETURN_Y
+ );
+ withdrawMoneyFlow.setStatus(MallMoneyFlow.STATUS_FAIL);
+ mallMoneyFlowMapper.updateById(withdrawMoneyFlow);
- //用户钱包增加对应的余额
- iApiMallMemberWalletService.addBalance(mallMoneyFlow.getAmount().negate(),mallMoneyFlow.getMemberId());
+ //用户余额增加对应的余额
+ iApiMallMemberWalletService.addBalance(mallMemberWithdraw.getAmount(),mallMemberWithdraw.getMemberId());
return new FebsResponse().success();
}
@Override
public AdminMallMemberPaymentVo getMallMemberPaymentInfoByFlowId(long id) {
AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo();
- MallMoneyFlow mallMoneyFlow = mallMoneyFlowMapper.selectById(id);
- AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMoneyFlow.getMemberId());
+ MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id);
+ AdminMallMemberPaymentVo adminMallMemberPaymentVoa = mallMemberPaymentMapper.getMallMemberPaymentInfoByMemberId(mallMemberWithdraw.getMemberId());
if(ObjectUtil.isNotEmpty(adminMallMemberPaymentVoa)){
adminMallMemberPaymentVo = adminMallMemberPaymentVoa;
}
@@ -166,6 +224,7 @@
if(CollUtil.isNotEmpty(records)){
for(AdminAgentVo adminAgentVo : records){
String inviteId = adminAgentVo.getInviteId();
+
//直接下级
List<MallMember> mallMembers = mallMemberMapper.selectChildAgentListByInviteId(inviteId);
adminAgentVo.setMemberNum(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
@@ -173,6 +232,17 @@
//获取总数
List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId);
adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size());
+
+ //团队业绩
+ BigDecimal amount = BigDecimal.ZERO;
+ if(CollUtil.isNotEmpty(allMallMembers)){
+ for(MallMember teamMember : allMallMembers){
+ Long memberId = teamMember.getId();
+ BigDecimal sumAmount = mallMemberMapper.getSumAmountByMemberId(memberId);
+ amount = amount.add(sumAmount);
+ }
+ }
+ adminAgentVo.setAmount(amount);
}
}
return adminAgentVos;
@@ -187,17 +257,10 @@
@Override
public AdminAgentLevelUpdateInfoVo getAgentLevelUpdateInfoById(long id) {
- AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = new AdminAgentLevelUpdateInfoVo();
DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(id);
String value = dataDictionaryCustom.getValue();
//{"directIncome":36,"lastCnt":3,"orderCnt":500,"orderType":2,"teamIncome":6,"teamIncomeType":2}
- JSONObject jsonObject = JSONObject.parseObject(value);
- adminAgentLevelUpdateInfoVo.setDirectIncome(new BigDecimal((jsonObject.get("directIncome")==null?0:jsonObject.get("directIncome")).toString()));
- adminAgentLevelUpdateInfoVo.setLastCnt(Integer.parseInt((jsonObject.get("lastCnt")==null?0:jsonObject.get("lastCnt")).toString()));
- adminAgentLevelUpdateInfoVo.setOrderCnt(Integer.parseInt((jsonObject.get("orderCnt")==null?0:jsonObject.get("orderCnt")).toString()));
- adminAgentLevelUpdateInfoVo.setOrderType(Integer.parseInt(jsonObject.get("orderType").toString()));
- adminAgentLevelUpdateInfoVo.setTeamIncome(new BigDecimal((jsonObject.get("teamIncome")==null?0:jsonObject.get("teamIncome")).toString()));
- adminAgentLevelUpdateInfoVo.setTeamIncomeType(Integer.parseInt(jsonObject.get("orderType").toString()));
+ AdminAgentLevelUpdateInfoVo adminAgentLevelUpdateInfoVo = JSONObject.parseObject(value, AdminAgentLevelUpdateInfoVo.class);
adminAgentLevelUpdateInfoVo.setId(id);
return adminAgentLevelUpdateInfoVo;
}
@@ -205,15 +268,9 @@
@Override
public FebsResponse agentLevelUpdate(AgentLevelUpdateDto agentLevelUpdateDto) {
DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(agentLevelUpdateDto.getId());
- AgentLevelUpdateDto agentLevelUpdateDtoJson = new AgentLevelUpdateDto();
- agentLevelUpdateDtoJson.setDirectIncome(agentLevelUpdateDto.getDirectIncome());
- agentLevelUpdateDtoJson.setLastCnt(agentLevelUpdateDto.getLastCnt());
- agentLevelUpdateDtoJson.setOrderCnt(agentLevelUpdateDto.getOrderCnt());
- agentLevelUpdateDtoJson.setTeamIncome(agentLevelUpdateDto.getTeamIncome());
- agentLevelUpdateDtoJson.setOrderType(agentLevelUpdateDto.getOrderType());
- agentLevelUpdateDtoJson.setTeamIncomeType(agentLevelUpdateDto.getTeamIncomeType());
- JSONObject jsonObject = (JSONObject)JSONObject.toJSON(agentLevelUpdateDtoJson);
- dataDictionaryCustom.setValue(jsonObject.toString());
+
+ agentLevelUpdateDto.setId(null);
+ dataDictionaryCustom.setValue(JSONObject.toJSONString(agentLevelUpdateDto));
dataDictionaryCustomMapper.updateById(dataDictionaryCustom);
return new FebsResponse().success();
}
@@ -232,8 +289,8 @@
List<AdminAgentMemberVo> records = adminAgentMemberVos.getRecords();
if(CollUtil.isNotEmpty(records)){
for(AdminAgentMemberVo agentMemberVo : records){
- String inviteId = agentMemberVo.getInviteId();
- BigDecimal amount = mallMemberMapper.getAgentTeamAmountByInviteId(inviteId);
+ Long agentMemberVoId = agentMemberVo.getId();
+ BigDecimal amount = mallMemberMapper.getSumAmountByMemberId(agentMemberVoId);
agentMemberVo.setAmount(amount);
}
}
@@ -318,73 +375,6 @@
}
@Override
- public MallNewsInfo getNewsInfoById(long id) {
- return mallNewsInfoMapper.selectById(id);
- }
-
- @Override
- public IPage<AdminMallNewsInfoVo> getNewInfoList(MallNewsInfo mallNewsInfo, QueryRequest request) {
- Page<AdminMallNewsInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize());
- IPage<AdminMallNewsInfoVo> adminMallNewsInfoVos = mallNewsInfoMapper.getNewInfoListInPage(page, mallNewsInfo);
- return adminMallNewsInfoVos;
- }
-
- @Override
- public FebsResponse addNewsInfo(MallNewsInfoDto mallNewsInfoDto) {
- Integer type = mallNewsInfoDto.getType();
- if(type == 2){
- Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId();
- if(goodsId == 0L){
- return new FebsResponse().fail().message("请选择跳转的产品");
- }
- }
- MallNewsInfo mallNewsInfo = new MallNewsInfo();
- mallNewsInfo.setTitle(mallNewsInfoDto.getTitle());
- mallNewsInfo.setContent(mallNewsInfoDto.getContent());
- mallNewsInfo.setType(mallNewsInfoDto.getType());
- if(mallNewsInfoDto.getType() == 2){
- mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId());
- }
- mallNewsInfoMapper.insert(mallNewsInfo);
- return new FebsResponse().success();
- }
-
- @Override
- public FebsResponse delNewsInfo(Long id) {
- MallNewsInfo mallNewsInfo = mallNewsInfoMapper.selectById(id);
- if(ObjectUtil.isEmpty(mallNewsInfo)){
- return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
- }
- mallNewsInfoMapper.deleteById(id);
- return new FebsResponse().success();
- }
-
- @Override
- public FebsResponse updateNewsInfo(MallNewsInfoDto mallNewsInfoDto) {
- MallNewsInfo mallNewsInfoBefore = mallNewsInfoMapper.selectById(mallNewsInfoDto.getId());
- if(ObjectUtil.isEmpty(mallNewsInfoBefore)){
- return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
- }
- Integer type = mallNewsInfoDto.getType();
- if(type == 2){
- Long goodsId = mallNewsInfoDto.getGoodsId()==null?0L:mallNewsInfoDto.getGoodsId();
- if(goodsId == 0L){
- return new FebsResponse().fail().message("请选择跳转的产品");
- }
- }
- MallNewsInfo mallNewsInfo = new MallNewsInfo();
- mallNewsInfo.setTitle(mallNewsInfoDto.getTitle());
- mallNewsInfo.setContent(mallNewsInfoDto.getContent());
- mallNewsInfo.setType(mallNewsInfoDto.getType());
- if(mallNewsInfoDto.getType() == 2){
- mallNewsInfo.setTargetId(mallNewsInfoDto.getGoodsId());
- }
- mallNewsInfoMapper.insert(mallNewsInfo);
- mallNewsInfoMapper.deleteById(mallNewsInfoDto.getId());
- return new FebsResponse().success();
- }
-
- @Override
@Transactional
public FebsResponse updateSystemPay(MallSystemPayDto mallSystemPayDto) {
Long memberId = mallSystemPayDto.getId();
@@ -394,27 +384,58 @@
}
BigDecimal bigDecimal = mallSystemPayDto.getAddBalance();
+ boolean isReduce = false;
if(bigDecimal.compareTo(BigDecimal.ZERO) <= 0){
- return new FebsResponse().fail().message("拨付数目需要大于0");
+ isReduce = true;
}
- MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
- mallMemberWallet.setBalance(mallMemberWallet.getBalance().add(bigDecimal));
- mallMemberWalletMapper.updateBalanceWithId(mallMemberWallet);
+ Integer type = mallSystemPayDto.getType();
+ String filedType = "";
+ if (type == 1) {
+ filedType = "balance";
+ } else if (type == 2) {
+ filedType = "score";
+ } else if (type == 3) {
+ filedType = "prizeScore";
+ } else {
+ throw new FebsException("参数错误");
+ }
- MallMoneyFlow flow = new MallMoneyFlow();
- flow.setMemberId(memberId);
- flow.setAmount(bigDecimal);
- flow.setType(MoneyFlowTypeEnum.SYSTEM_PAY.getValue());
- flow.setOrderNo("SYS"+MallUtils.getOrderNum());
- flow.setStatus(2);
- mallMoneyFlowMapper.insert(flow);
+ if (isReduce) {
+ int i = iApiMallMemberWalletService.reduce(mallSystemPayDto.getAddBalance().negate(), mallSystemPayDto.getId(), filedType);
+
+ if (i == 2) {
+ throw new FebsException("剩余数量不足");
+ }
+ } else {
+ iApiMallMemberWalletService.add(mallSystemPayDto.getAddBalance(), mallSystemPayDto.getId(), filedType);
+ }
+
+ mallMoneyFlowService.addMoneyFlow(
+ memberId,
+ null,
+ bigDecimal,
+ MallMoneyFlowTypeEnum.SYSTEM_CHARGE.getCode(),
+ MallMoneyFlow.STATUS_SUCCESS,
+ MallMoneyFlow.IS_RETURN_Y,
+ memberId,
+ FlowTypeEnum.BALANCE.getValue(),
+ MallMoneyFlowTypeEnum.SYSTEM_CHARGE.getName()
+ );
return new FebsResponse().success();
}
@Override
public AdminAgentLevelSetInfoVo getAgentLevelSetInfoByMemberId(long id) {
- AdminAgentLevelSetInfoVo adminAgentLevelSetInfoVo = mallMemberMapper.getAgentLevelSetInfoByMemberId(id);
+ AdminAgentLevelSetInfoVo adminAgentLevelSetInfoVo = new AdminAgentLevelSetInfoVo();
+ AdminAgentLevelSetInfoVo adminAgentLevelSetInfo = mallMemberMapper.getAgentLevelSetInfoByMemberId(id);
+ if(ObjectUtil.isEmpty(adminAgentLevelSetInfo)){
+ adminAgentLevelSetInfoVo.setId(id);
+ adminAgentLevelSetInfoVo.setLevelCode(MemberAgentLevelEnum.AGENT.getCodeByName(MemberAgentLevelEnum.AGENT.getName()));
+ }else{
+ adminAgentLevelSetInfoVo.setId(id);
+ adminAgentLevelSetInfoVo.setLevelCode(MemberAgentLevelEnum.AGENT.getCodeByName(adminAgentLevelSetInfo.getLevelCode()));
+ }
return adminAgentLevelSetInfoVo;
}
@@ -425,8 +446,10 @@
if(ObjectUtil.isEmpty(mallMember)){
return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
}
- mallMember.setLevel(agentLevelSetUpdateDto.getLevelCode());
- mallMemberMapper.updateById(mallMember);
+ String levelCode = agentLevelSetUpdateDto.getLevelCode();
+ String nameByCode = MemberAgentLevelEnum.AGENT.getNameByCode(levelCode);
+ mallMemberMapper.updateLevelStatusById(1,memberId);
+ mallMemberMapper.updateLevelById(nameByCode,memberId);
return new FebsResponse().success();
}
@@ -444,9 +467,219 @@
}
@Override
+ public void resetPwd(String ids, Integer type) {
+ if (StrUtil.isEmpty(ids)) {
+ throw new FebsException("参数错误");
+ }
+ List<String> idList = StrUtil.split(ids, ',');
+
+ for (String s : idList) {
+ Long id = Long.parseLong(s);
+ MallMember member = new MallMember();
+ member.setId(id);
+ member.setCreatedTime(null);
+
+ // 重置交易密码
+ if (type == 1) {
+ String payPwd = SecureUtil.md5("654321");
+ member.setTradePassword(payPwd);
+ // 重置登录密码
+ } else {
+ String pwd = SecureUtil.md5("a123456");
+ member.setPassword(pwd);
+ }
+ this.baseMapper.updateById(member);
+ }
+ }
+
+ @Override
public IPage<MallDataVo> getMallDataList(MallMember mallMember, QueryRequest request) {
Page<MallDataVo> page = new Page<>(request.getPageNum(), request.getPageSize());
IPage<MallDataVo> mallDataVos = this.baseMapper.getMallDataListInPage(page, mallMember);
return mallDataVos;
}
+
+ @Override
+ public IPage<MallShopApply> findShopApplyListInPage(MallShopApply mallShopApply, QueryRequest request) {
+ Page<MallShopApply> page = new Page<>(request.getPageNum(), request.getPageSize());
+
+ return mallShopApplyMapper.selectShopApplyInPage(mallShopApply, page);
+ }
+
+ @Override
+ public MallShopApply findShopApplyById(Long id) {
+ return mallShopApplyMapper.selectById(id);
+ }
+
+ @Override
+ public void applyCheckAgree(Long id) {
+ MallShopApply apply = mallShopApplyMapper.selectById(id);
+ if (!MallShopApply.APPLY_ING.equals(apply.getStatus())) {
+ throw new FebsException("申请已审核, 请勿重复操作");
+ }
+
+ MallMember member = mallMemberMapper.selectById(apply.getMemberId());
+ member.setStoreMaster(1);
+ mallMemberMapper.updateById(member);
+
+ apply.setStatus(MallShopApply.APPLY_AGREE);
+ mallShopApplyMapper.updateById(apply);
+ }
+
+ @Override
+ public void applyCheckDisAgree(Long id) {
+ MallShopApply apply = mallShopApplyMapper.selectById(id);
+ if (!MallShopApply.APPLY_ING.equals(apply.getStatus())) {
+ throw new FebsException("申请已审核, 请勿重复操作");
+ }
+
+ apply.setStatus(MallShopApply.APPLY_DISAGREE);
+ mallShopApplyMapper.updateById(apply);
+ }
+
+ @Override
+ @Transactional
+ public FebsResponse updateMemberInfo(MallUpdateMemberInfoDto mallUpdateMemberInfoDto) {
+ Long memberId = mallUpdateMemberInfoDto.getId();
+ MallMember mallMember = mallMemberMapper.selectById(memberId);
+ if(ObjectUtil.isEmpty(mallMember)){
+ return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+ }
+ String phone = mallUpdateMemberInfoDto.getPhone();
+ if(StrUtil.isEmpty(phone)){
+ throw new FebsException("请输入手机号码");
+ }
+ if(!phone.equals(mallMember.getPhone())){
+ QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("phone",phone);
+ List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isNotEmpty(mallMembers)){
+ throw new FebsException("手机号码已绑定过账号");
+ }
+ }
+ mallMember.setPhone(phone);
+ mallMember.setBindPhone(phone);
+ mallMember.setLevel(mallUpdateMemberInfoDto.getLevelCode());
+ mallMemberMapper.updateById(mallMember);
+ if(mallUpdateMemberInfoDto.getBalance() == null){
+ throw new FebsException("请输入正确的余额");
+ }
+ if(mallUpdateMemberInfoDto.getScore() == null){
+ throw new FebsException("请输入正确的赠送积分");
+ }
+ if(mallUpdateMemberInfoDto.getPrizeScore() == null){
+ throw new FebsException("请输入正确的竞猜积分");
+ }
+ BigDecimal balance = mallUpdateMemberInfoDto.getBalance();
+ if(BigDecimal.ZERO.compareTo(balance) > 0){
+ throw new FebsException("请输入正确的余额");
+ }
+ BigDecimal score = mallUpdateMemberInfoDto.getScore();
+ if(BigDecimal.ZERO.compareTo(score) > 0){
+ throw new FebsException("请输入正确的赠送积分");
+ }
+ BigDecimal prizeScore = mallUpdateMemberInfoDto.getPrizeScore();
+ if(BigDecimal.ZERO.compareTo(prizeScore) > 0){
+ throw new FebsException("请输入正确的竞猜积分");
+ }
+ MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId);
+ mallMemberWallet.setBalance(balance);
+ mallMemberWallet.setScore(score);
+ mallMemberWallet.setPrizeScore(prizeScore);
+ mallMemberWalletMapper.updateById(mallMemberWallet);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public MallMember findByInviteId(String inviteId) {
+
+ return this.baseMapper.selectInfoByInviteId(inviteId);
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyReferer(MallMember member) {
+ MallMember referer = this.baseMapper.selectInfoByInviteId(member.getReferrerId());
+ if (referer == null) {
+ throw new FebsException("推荐人不存在");
+ }
+ String refererId = member.getReferrerId();
+
+ member = this.baseMapper.selectById(member.getId());
+
+ String beforeReferer = member.getReferrerId();
+ member.setReferrerId(refererId);
+ String refererIds = refererIds(refererId);
+ member.setReferrerIds(refererIds);
+ this.baseMapper.updateById(member);
+
+ List<MallMember> childs = this.baseMapper.selectByRefererId(member.getInviteId());
+ if (CollUtil.isEmpty(childs)) {
+ return;
+ }
+
+ for (MallMember child : childs) {
+ child.setReferrerIds(member.getInviteId() + "," + refererIds);
+ this.baseMapper.updateById(child);
+ }
+ }
+
+ @Override
+ public void updateShopApply(MallShopApply apply) {
+ MallShopApply mallShopApply = mallShopApplyMapper.selectById(apply.getId());
+ mallShopApply.setName(apply.getName());
+ mallShopApply.setPhone(apply.getPhone());
+ mallShopApply.setIdcard(apply.getIdcard());
+ mallShopApply.setBusinessLicense(apply.getBusinessLicense());
+ mallShopApply.setSaleArea(apply.getSaleArea());
+ mallShopApply.setShopName(apply.getShopName());
+ mallShopApplyMapper.updateById(mallShopApply);
+ }
+
+ @Override
+ public AdminMallMemberPaymentVo getMallBankInfoById(long id) {
+
+ MallMemberWithdraw mallMemberWithdraw = mallMemberWithdrawMapper.selectById(id);
+ Long wtihdrawTypeId = mallMemberWithdraw.getWtihdrawTypeId();
+ MallMemberBank mallMemberBank = mallMemberBankMapper.selectById(wtihdrawTypeId);
+ AdminMallMemberPaymentVo adminMallMemberPaymentVo = new AdminMallMemberPaymentVo();
+ if(ObjectUtil.isNotEmpty(mallMemberBank)){
+ adminMallMemberPaymentVo.setBankNo(mallMemberBank.getBankNo());
+ adminMallMemberPaymentVo.setBankName(mallMemberBank.getName());
+ }
+ return adminMallMemberPaymentVo;
+ }
+
+ @Override
+ public IPage<MemberCoinChargeEntity> getChargeList(MemberCoinChargeEntity memberCoinChargeEntity, QueryRequest request) {
+
+ Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberCoinChargeEntity> memberCoinChargeEntityIPage = this.baseMapper.selectMemberChargeListInPage(page, memberCoinChargeEntity);
+ return memberCoinChargeEntityIPage;
+ }
+
+ private String refererIds(String parentId) {
+ boolean flag = false;
+ if (StrUtil.isBlank(parentId)) {
+ flag = true;
+ }
+ String ids = "";
+ while (!flag) {
+ if (StrUtil.isBlank(ids)) {
+ ids += parentId;
+ } else {
+ ids += ("," + parentId);
+ }
+ MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId);
+ if (parentMember == null) {
+ break;
+ }
+ parentId = parentMember.getReferrerId();
+ if (StrUtil.isBlank(parentMember.getReferrerId())) {
+ flag = true;
+ }
+ }
+
+ return ids;
+ }
}
--
Gitblit v1.9.1