## 实名认证同步更新生日;会员真实信息列表优化;

This commit is contained in:
cabbage 2025-08-07 14:59:07 +08:00
parent 4558c385d8
commit 3720d6b608
28 changed files with 288 additions and 1088 deletions

View File

@ -1,9 +1,11 @@
package com.hzs.member.account.controller.api;
import cn.hutool.core.util.IdcardUtil;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
import com.hzs.common.core.constant.msg.FinanceMsgConstants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.OssUtil;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.utils.ThreadUtils;
@ -173,6 +175,8 @@ public class ApiCuMemberAuthenticationController extends BaseController {
if (null != message) {
return AjaxResult.error(message);
}
// 从身份证获取出生日期
authenticationVO.setBirthDate(DateUtils.parseDateOne(IdcardUtil.getBirthByIdCard(authenticationVO.getIdCard()), DateUtils.YAMMER));
authenticationVO.setPkCountry(pkCountry);
authenticationVO.setPkMember(pkMember);

View File

@ -1,6 +1,5 @@
package com.hzs.member.account.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.account.CuMemberTransfer;
import com.hzs.common.domain.member.account.CuMemberTransferExt;
@ -9,12 +8,7 @@ import com.hzs.member.account.vo.CuMemberTransferVO;
import java.util.List;
/**
* <p>
* 会员转账表 Mapper 接口
* </p>
*
* @author hzs
* @since 2022-09-06
*/
public interface CuMemberTransferMapper extends BaseMapper<CuMemberTransfer> {

View File

@ -1,24 +1,19 @@
package com.hzs.member.account.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.account.CuMemberTransfer;
import com.hzs.common.domain.member.account.CuMemberTransferExt;
import com.hzs.common.domain.system.config.BdTransfer;
import com.hzs.member.account.vo.CuMemberTransferVO;
/**
* <p>
* 会员转账表 服务类
* </p>
*
* @author hzs
* @since 2022-09-06
*/
public interface ICuMemberTransferService extends IService<CuMemberTransfer> {
/**
* 是否在血缘线上
*
@ -81,7 +76,6 @@ public interface ICuMemberTransferService extends IService<CuMemberTransfer> {
*/
BdTransfer getBdTransfer(Integer pkCountry);
/**
* 保存转账
*

View File

@ -60,7 +60,7 @@ public class CuMemberAuthenticationServiceImpl extends ServiceImpl<CuMemberAuthe
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(CuMember::getIsRealName, EYesNo.YES.getIntValue());
updateWrapper.set(CuMember::getIdCard, authenticationVO.getIdCard());
updateWrapper.set(CuMember::getServiceAgreement, EServiceStatus.UNSIGNED.getValue());
updateWrapper.set(CuMember::getBirthDate, authenticationVO.getBirthDate());
updateWrapper.set(CuMember::getModifiedTime, new Date());
updateWrapper.set(CuMember::getPkModified, pkMember);
updateWrapper.eq(CuMember::getPkId, pkMember);

View File

@ -34,32 +34,22 @@ import java.math.RoundingMode;
import java.util.*;
/**
* <p>
* 会员转账表 服务实现类
* </p>
*
* @author hzs
* @since 2022-09-06
*/
@Service
public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMapper, CuMemberTransfer> implements ICuMemberTransferService {
@Autowired
private ICuMemberService cuMemberService;
private ICuMemberService iCuMemberService;
@Autowired
private ICuMemberAccountService cuMemberAccountService;
private ICuMemberAccountService iCuMemberAccountService;
@Autowired
private ICuMemberTradeService cuMemberTradeService;
private ICuMemberTradeService iCuMemberTradeService;
@Autowired
private ICuMemberBaseService iCuMemberBaseService;
@DubboReference
private ITransferServiceApi transferServiceApi;
@Autowired
private ICuMemberBaseService cuMemberBaseService;
ITransferServiceApi iTransferServiceApi;
@Override
public Boolean isBloodLine(Long pkMember, Long toPkMember) {
@ -71,14 +61,13 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
@Override
public BdTransfer getBdTransfer(Integer pkCountry) {
return transferServiceApi.queryTransfer(pkCountry).getData();
return iTransferServiceApi.queryTransfer(pkCountry).getData();
}
@Override
public Boolean isBloodKinshipOnUmbrella(Long pkMember, Long toPkMember) {
//查找血缘伞上推荐人
List<CuMemberExt> cuMemberUp = cuMemberService.queryBloodKinshipOnUmbrella(pkMember);
List<CuMemberExt> cuMemberUp = iCuMemberService.queryBloodKinshipOnUmbrella(pkMember);
Optional<CuMemberExt> upOptional = cuMemberUp.stream().filter(up -> toPkMember.equals(up.getPkId())).findFirst();
return upOptional.isPresent();
}
@ -86,7 +75,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
@Override
public Boolean isBloodKinshipUnderUmbrella(Long pkMember, Long toPkMember) {
//查找血缘伞下推荐人
List<CuMemberExt> cuMemberDown = cuMemberService.queryBloodKinshipUnderUmbrella(pkMember);
List<CuMemberExt> cuMemberDown = iCuMemberService.queryBloodKinshipUnderUmbrella(pkMember);
Optional<CuMemberExt> downOptional = cuMemberDown.stream().filter(down -> toPkMember.equals(down.getPkId())).findFirst();
return downOptional.isPresent();
}
@ -102,14 +91,14 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
@Override
public Boolean isPlaceSponsorOnUmbrella(Long pkMember, Long toPkMember) {
// TODO 此处会查询整颗树会出现问题
List<CuMemberExt> memberPlaceOn = cuMemberService.queryPlaceSponsorOnUmbrella(pkMember);
List<CuMemberExt> memberPlaceOn = iCuMemberService.queryPlaceSponsorOnUmbrella(pkMember);
Optional<CuMemberExt> onPlaceOptional = memberPlaceOn.stream().filter(placeOn -> toPkMember.equals(placeOn.getPkId())).findFirst();
return onPlaceOptional.isPresent();
}
@Override
public Boolean isPlaceSponsorUnderUmbrella(Long pkMember, Long toPkMember) {
List<CuMemberExt> memberPlaceUnder = cuMemberService.queryPlaceSponsorUnderUmbrella(pkMember);
List<CuMemberExt> memberPlaceUnder = iCuMemberService.queryPlaceSponsorUnderUmbrella(pkMember);
Optional<CuMemberExt> underPlaceOptional = memberPlaceUnder.stream().filter(placeUnder -> toPkMember.equals(placeUnder.getPkId())).findFirst();
return underPlaceOptional.isPresent();
}
@ -136,7 +125,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
Integer pkToAccount = cuMemberTransfer.getPkToAccount();
String transferCode = cuMemberTransfer.getTransferCode();
//转出方
if (cuMemberBaseService.getAccountValueById(pkAccount).equals(EAccount.BONUS.getValue())) {
if (iCuMemberBaseService.getAccountValueById(pkAccount).equals(EAccount.BONUS.getValue())) {
memberAccountList = new ArrayList<>();
memberAccountList.add(cuMemberAccount);
idsMap = new HashMap<>();
@ -144,7 +133,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
saveTransferMemberTradeDetailAndBonus(memberAccountList, ETransferType.TRANSFER_OUT.getValue(), transferCode, idsMap);
}
//转入方
if (cuMemberBaseService.getAccountValueById(pkToAccount).equals(EAccount.BONUS.getValue())) {
if (iCuMemberBaseService.getAccountValueById(pkToAccount).equals(EAccount.BONUS.getValue())) {
memberAccountList = new ArrayList<>();
memberAccountList.add(toMemberAccount);
idsMap = new HashMap<>();
@ -163,9 +152,9 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
private void saveTransferMemberTradeDetailAndBonus(List<CuMemberAccount> memberAccountList, Integer type, String businessCode, Map<Long, Long> idsMap) {
//转出方
if (type.equals(ETransferType.TRANSFER_OUT.getValue())) {
cuMemberBaseService.handleMemberTradeDetailAndBonus(memberAccountList, businessCode, idsMap, EConsumeType.TRANSFER.getValue());
iCuMemberBaseService.handleMemberTradeDetailAndBonus(memberAccountList, businessCode, idsMap, EConsumeType.TRANSFER.getValue());
} else {
cuMemberBaseService.saveMemberTradeDetail(businessCode);
iCuMemberBaseService.saveMemberTradeDetail(businessCode);
}
}
@ -178,7 +167,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
*/
private Integer updateTradeAndBalancd(CuMemberTransfer cuMemberTransfer, int type) {
CuMemberTrade cuMemberTrade = type == (ETransferType.TRANSFER_OUT.getValue()) ? this.getCuMemberTradeToTransferOut(cuMemberTransfer) : this.getCuMemberTradeToTransferIn(cuMemberTransfer);
cuMemberTradeService.save(cuMemberTrade);
iCuMemberTradeService.save(cuMemberTrade);
//更新余额表
Long pkMember = cuMemberTransfer.getPkMember();
Long toPkMember = cuMemberTransfer.getToPkMember();
@ -192,14 +181,14 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
//转账金额
BigDecimal transferMoney = type == (ETransferType.TRANSFER_OUT.getValue()) ? cuMemberTransfer.getTransferMoney() : cuMemberTransfer.getIssuedAmount();
BigDecimal amount = type == (ETransferType.TRANSFER_OUT.getValue()) ? transferMoney.negate() : transferMoney;
Integer pkAccountValue = cuMemberBaseService.getAccountValueById(pkAccount);
Integer pkAccountValue = iCuMemberBaseService.getAccountValueById(pkAccount);
CuMemberAccountParam param = CuMemberAccountParam.builder().pkMember(memberId)
.accountType(pkAccountValue).amount(amount).pkModified(cuMemberTransfer.getPkCreator())
.accountClassify(ETradeClassify.TRANSFER.getValue()).pkCountry(cuMemberTransfer.getPkCountry())
.transferType(type).build();
return cuMemberAccountService.updateMemberAccountByMemberCode(param);
return iCuMemberAccountService.updateMemberAccountByMemberCode(param);
}
/**
@ -211,15 +200,15 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
private CuMemberTrade getCuMemberTradeToTransferOut(CuMemberTransfer cuMemberTransfer) {
Long pkMember = cuMemberTransfer.getPkMember();
Long toPkMember = cuMemberTransfer.getToPkMember();
CuMember member = cuMemberService.queryMember(pkMember);
CuMember toMember = cuMemberService.queryMember(toPkMember);
CuMember member = iCuMemberService.queryMember(pkMember);
CuMember toMember = iCuMemberService.queryMember(toPkMember);
//提现金额
BigDecimal tradeAmount = cuMemberTransfer.getTransferMoney();
BigDecimal amount = tradeAmount.negate();
int accountType = cuMemberTransfer.getPkAccount();
String tradeCode = CommonUtil.createSerialNumber(EOrderPrefix.TRANSFER_CODE.getValue());
//查询余额
BigDecimal balance = cuMemberAccountService.selectBalanceByMemberCode(pkMember, cuMemberBaseService.getAccountValueById(accountType));
BigDecimal balance = iCuMemberAccountService.selectBalanceByMemberCode(pkMember, iCuMemberBaseService.getAccountValueById(accountType));
CuMemberTrade memberTrade = CuMemberTrade.builder().pkMember(pkMember)
.tradeCode(tradeCode)
.pkAccount(cuMemberTransfer.getPkAccount())
@ -231,7 +220,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
.tradeBalance(balance.add(amount))
.sourceCode(cuMemberTransfer.getTransferCode())
.tradeStatue(ETradeStatus.TAKE_EFFECT.getValue())
.remarks(getTransferRemarks(toMember, member, tradeAmount,ETransferType.TRANSFER_OUT))
.remarks(getTransferRemarks(toMember, member, tradeAmount, ETransferType.TRANSFER_OUT))
.build();
memberTrade.setPkCountry(cuMemberTransfer.getPkCountry());
memberTrade.setPkCreator(cuMemberTransfer.getPkCreator());
@ -248,14 +237,14 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
private CuMemberTrade getCuMemberTradeToTransferIn(CuMemberTransfer cuMemberTransfer) {
Long pkMember = cuMemberTransfer.getPkMember();
Long toPkMember = cuMemberTransfer.getToPkMember();
CuMember member = cuMemberService.queryMember(pkMember);
CuMember toMember = cuMemberService.queryMember(toPkMember);
CuMember member = iCuMemberService.queryMember(pkMember);
CuMember toMember = iCuMemberService.queryMember(toPkMember);
//提现金额
BigDecimal tradeAmount = cuMemberTransfer.getIssuedAmount();
int accountType = cuMemberTransfer.getPkToAccount();
String tradeCode = CommonUtil.createSerialNumber(EOrderPrefix.TRANSFER_CODE.getValue());
//查询余额
BigDecimal balance = cuMemberAccountService.selectBalanceByMemberCode(toPkMember, cuMemberBaseService.getAccountValueById(accountType));
BigDecimal balance = iCuMemberAccountService.selectBalanceByMemberCode(toPkMember, iCuMemberBaseService.getAccountValueById(accountType));
CuMemberTrade memberTrade = CuMemberTrade.builder().pkMember(toPkMember)
.tradeCode(tradeCode)
.pkAccount(cuMemberTransfer.getPkToAccount())
@ -267,7 +256,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
.tradeBalance(balance.add(tradeAmount))
.sourceCode(cuMemberTransfer.getTransferCode())
.tradeStatue(ETradeStatus.TAKE_EFFECT.getValue())
.remarks(getTransferRemarks(member, toMember, tradeAmount,ETransferType.TRANSFER_IN))
.remarks(getTransferRemarks(member, toMember, tradeAmount, ETransferType.TRANSFER_IN))
.build();
memberTrade.setPkCountry(cuMemberTransfer.getPkCountry());
memberTrade.setPkCreator(cuMemberTransfer.getPkCreator());
@ -285,7 +274,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
*/
private String getTransferRemarks(CuMember member, CuMember toMember, BigDecimal tradeAmount, ETransferType eTransferType) {
StringBuilder remarks = new StringBuilder();
remarks.append(cuMemberBaseService.getMemberName(toMember))
remarks.append(iCuMemberBaseService.getMemberName(toMember))
.append("(")
.append(toMember.getMemberName())
.append(") ");
@ -294,9 +283,9 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
} else {
remarks.append(TransactionUtils.getContent(FinanceMsgConstants.TRANSFER_ACCOUNTS));
}
remarks.append(cuMemberBaseService.getMemberName(member))
remarks.append(iCuMemberBaseService.getMemberName(member))
.append("(")
.append(cuMemberBaseService.getMemberNameByVertex(member))
.append(iCuMemberBaseService.getMemberNameByVertex(member))
.append(") ")
.append(TransactionUtils.getContent(FinanceMsgConstants.AMOUNT_MONEY))
.append(tradeAmount);
@ -304,8 +293,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
}
@Override
public Object[] selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO) {
CuMemberTransferVO memberTransferVO;
@ -319,8 +306,7 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
cuMemberTransferVOS.add(memberTransferVO);
}
}
Object[] objects = new Object[]{cuMemberTransferExts, cuMemberTransferVOS};
return objects;
return new Object[]{cuMemberTransferExts, cuMemberTransferVOS};
}
@ -335,17 +321,17 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
Integer pkRate = memberTransfer.getPkRate();
if (null != pkRate) {
//汇率
exchangeRate = cuMemberBaseService.getCurrencyById(pkRate).getInExchangeRate();
exchangeRate = iCuMemberBaseService.getCurrencyById(pkRate).getInExchangeRate();
} else {
//取最新的汇率
CurrencyDTO currencyDTO = cuMemberBaseService.getCurrency(cuMemberTransferVO.getPkCountry());
CurrencyDTO currencyDTO = iCuMemberBaseService.getCurrency(cuMemberTransferVO.getPkCountry());
exchangeRate = currencyDTO.getInExchangeRate();
}
//翻译key键
Integer pkAccount = cuMemberTransferVO.getPkAccount();
cuMemberTransferVO.setPkAccount(cuMemberBaseService.translateAccountValue(pkAccount));
cuMemberTransferVO.setPkAccount(iCuMemberBaseService.translateAccountValue(pkAccount));
Integer pkToAccount = cuMemberTransferVO.getPkToAccount();
cuMemberTransferVO.setPkToAccount(cuMemberBaseService.translateAccountValue(pkToAccount));
cuMemberTransferVO.setPkToAccount(iCuMemberBaseService.translateAccountValue(pkToAccount));
//转账本币
if (null != exchangeRate) {
BigDecimal settleTransferMoney = memberTransfer.getTransferMoney().divide(exchangeRate, 4, RoundingMode.HALF_UP);

View File

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* 实名认证VO
@ -151,4 +152,9 @@ public class CuMemberAuthenticationVO implements Serializable {
*/
private String idCardBackUrl;
/**
* 出生日期
*/
private Date birthDate;
}

View File

@ -64,15 +64,6 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
*/
List<CuMemberSettleExt> queryCuMemberTreeParentTable(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember, @Param("level") Integer level, @Param("vertexIdList") List<Integer> vertexIdList);
/**
* 查询直推人数
*
* @param settleTableName
* @param pkMember
* @return
*/
Long queryCuMemberTreeParentTableCount(@Param("tableName") String settleTableName, @Param("pkMember") Long pkMember);
/**
* 查询历史安置上下级
*

View File

@ -57,15 +57,6 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
*/
List<CuMemberSettleExt> queryCuMemberTreeParentTable(String settleTableName, Long pkMember, Integer level, List<Integer> vertexIdList);
/**
* 查询直推人数
*
* @param settleTableName
* @param pkMember
* @return
*/
Long queryCuMemberTreeParentTableCount(String settleTableName, Long pkMember);
/**
* 查询历史安置上下级
*

View File

@ -39,25 +39,11 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
return baseMapper.queryCuMemberSettleBloodUnderUmbrella(settleTableName, awardsValue, placeDept, pkMember) > 0;
}
/**
* 根据pkmember查询
*
* @param settleTableName
* @param pkMember
* @return
*/
@Override
public CuMemberSettleExt queryCuMemberTreeByPkMemberTable(String settleTableName, Long pkMember) {
return baseMapper.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember);
}
/**
* 查询推荐关系
*
* @param settleTableName
* @param pkMember
* @return
*/
@Override
public List<CuMemberSettleExt> queryCuMemberTreeParentTable(String settleTableName, Long pkMember, Integer level, List<Integer> vertexIdList) {
List<CuMemberSettleExt> memberSettleExtList = baseMapper.queryCuMemberTreeParentTable(settleTableName, pkMember, level, vertexIdList);
@ -91,85 +77,31 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
return memberSettleExtList;
}
/**
* 查询直推人数
*
* @param settleTableName
* @param pkMember
* @return
*/
@Override
public Long queryCuMemberTreeParentTableCount(String settleTableName, Long pkMember) {
return baseMapper.queryCuMemberTreeParentTableCount(settleTableName, pkMember);
}
/**
* 查询历史安置上下级
*
* @param settleTableName
* @param pkMember
* @return
*/
@Override
public List<CuMemberSettleExt> queryCuMemberTreePlaceParentHistoryTable(String settleTableName, Long pkMember, List<Long> memberIdList, Integer level) {
return baseMapper.queryCuMemberTreePlaceParentHistoryTable(settleTableName, pkMember, memberIdList, level);
}
/**
* 查询秒结表会员信息
*
* @param pkMember
* @param settleTableName
* @param level
* @return
*/
@Override
public List<CuMemberSettleExt> selectByTreeMemberList(Long pkMember, String settleTableName, Integer level, List<Integer> vertexIdList) {
return baseMapper.selectByTreeMemberList(pkMember, settleTableName, level, vertexIdList);
}
/**
* 查询秒结表会员信息
*
* @param pkMember
* @param level
* @return
*/
@Override
public List<CuMemberSettleExt> selectByTreeMemberListFive(Long pkMember, Integer level, List<Integer> vertexIdList) {
return baseMapper.selectByTreeMemberListFive(pkMember, level, vertexIdList);
}
/**
* 查询秒结表是否有值
*
* @param settleTableName
* @return
*/
@Override
public Long selectByselectByTreeMemberCount(String settleTableName, Long pkMember) {
return baseMapper.selectByselectByTreeMemberCount(settleTableName, pkMember);
}
/**
* 查询伞下安置新增业绩
*
* @param settleTableName
* @param pkMember
* @return
*/
@Override
public List<CuMemberSettleExt> brollyBelowResettle(String settleTableName, Long pkMember) {
return baseMapper.brollyBelowResettle(settleTableName, pkMember);
}
/**
* 根据pkmember查询 关联parent
*
* @param settleTableName
* @param pkMember
* @return
*/
@Override
public CuMemberSettleExt queryCuMemberTreeByPlacePkMemberTable(String settleTableName, Long pkMember) {
CuMemberSettleExt cuMemberSettleExt = baseMapper.queryCuMemberTreeByPlacePkMemberTable(settleTableName, pkMember);
@ -189,40 +121,16 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
return cuMemberSettleExt;
}
/**
* 查询会员直推业绩
*
* @param settleTableName
* @param memberIds
* @return
*/
@Override
public List<MemberParentCountParam> queryByMemberParentSumPv(String settleTableName, List<Long> memberIds) {
return baseMapper.queryByMemberParentSumPv(settleTableName, memberIds);
}
/**
* 查询历史安置架构
*
* @param settleTableName
* @param pkMember
* @param memberIdList
* @param level
* @return
*/
@Override
public List<CuMemberSettleExt> queryCuMemberTreePlaceParentHistoryFramework(String settleTableName, Long pkMember, List<Long> memberIdList, Integer level) {
return baseMapper.queryCuMemberTreePlaceParentHistoryFramework(settleTableName, pkMember, memberIdList, level);
}
/**
* 查询会员历史直推业绩
*
* @param settleTableName
* @param memberIds
* @return
*/
@Override
public List<MemberParentCountParam> queryByMemberParentSettleSumPv(String settleTableName, List<Long> memberIds) {
List<MemberParentCountParam> memberParentCountParamList = new ArrayList<>();

View File

@ -2,9 +2,6 @@ package com.hzs.member.base.controller.manage;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hzs.common.core.annotation.AccessPermissions;
import com.hzs.common.core.annotation.ColumnAuthority;
import com.hzs.common.core.annotation.Log;
@ -18,9 +15,6 @@ import com.hzs.common.core.utils.poi.ExcelUtil;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo;
import com.hzs.common.domain.member.account.CuMemberTransfer;
import com.hzs.common.domain.member.account.CuMemberWithdraw;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.system.config.BdAwards;
@ -28,20 +22,14 @@ import com.hzs.common.security.service.MemberTokenService;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.service.ITransactionCommonService;
import com.hzs.common.util.TransactionUtils;
import com.hzs.member.account.service.ICuMemberTransferService;
import com.hzs.member.account.service.ICuMemberWithdrawService;
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.member.achieve.service.ICuMemberTreeService;
import com.hzs.member.base.dto.LoginMember;
import com.hzs.member.base.dto.MemberBusinessTemplate;
import com.hzs.member.base.param.*;
import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.base.service.ICuMemberTeamService;
import com.hzs.member.base.vo.*;
import com.hzs.member.login.service.IMemberLoginService;
import com.hzs.member.swing.param.CuMemberSwingNetParam;
import com.hzs.member.swing.vo.CuMemberRetVO;
import com.hzs.system.base.IAreaServiceApi;
import com.hzs.system.base.ICurrencyServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.system.config.IAwardsServiceApi;
@ -58,26 +46,15 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@RequestMapping("/manager/member")
@RestController
public class CuMemberController extends BaseController {
@Autowired
private ICuMemberWithdrawService iCuMemberWithdrawService;
@Autowired
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
@Autowired
private ICuMemberTransferService iCuMemberTransferService;
@Autowired
private ICuMemberService iCuMemberService;
@Autowired
private ICuMemberTeamService iCuMemberTeamService;
@Autowired
private ICuMemberTreeService iCuMemberTreeService;
@Autowired
private IMemberLoginService iMemberLoginService;
@Autowired
private ITransactionCommonService iTransactionCommonService;
@ -91,8 +68,6 @@ public class CuMemberController extends BaseController {
@DubboReference
IGradeServiceApi iGradeServiceApi;
@DubboReference
IAreaServiceApi iAreaServiceApi;
@DubboReference
ICurrencyServiceApi iCurrencyServiceApi;
@DubboReference
IMenuColumnServiceApi iMenuColumnServiceApi;
@ -407,18 +382,6 @@ public class CuMemberController extends BaseController {
if (cvo.getCardType() == ECardType.CARD.getValue()) {
cvo.setCardTypeVal(ECardType.CARD.getLabel());
}
if (cvo.getCardType() == ECardType.OFFICER.getValue()) {
cvo.setCardTypeVal(ECardType.OFFICER.getLabel());
}
if (cvo.getCardType() == ECardType.STUDENT.getValue()) {
cvo.setCardTypeVal(ECardType.STUDENT.getLabel());
}
if (cvo.getCardType() == ECardType.DRIVE.getValue()) {
cvo.setCardTypeVal(ECardType.DRIVE.getLabel());
}
if (cvo.getCardType() == ECardType.PASSPORT.getValue()) {
cvo.setCardTypeVal(ECardType.PASSPORT.getLabel());
}
}
}
@ -524,35 +487,18 @@ public class CuMemberController extends BaseController {
UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
memberRealInfoParam.setVertexList(userAuthorityDTO.getUserVertexList());
memberRealInfoParam.setTeamList(userAuthorityDTO.getUserTeamList());
if (StringUtils.isNotEmpty(memberRealInfoParam.getBirthDate())) {
memberRealInfoParam.setBirthDate(memberRealInfoParam.getBirthDate().replace("-", ""));
}
startPage();
List<MemberRealInfoVO> resultList = iCuMemberService.selectByMemberRealInfo(memberRealInfoParam);
if (CollectionUtil.isNotEmpty(resultList)) {
// 奖衔
R<List<BdAwards>> awardsListDate = iAwardsServiceApi.queryAwards(SecurityUtils.getPkCountry());
List<BdAwards> awardsList = awardsListDate.getData();
// 等级
R<List<GradeDTO>> gradeListDate = iGradeServiceApi.queryGradeList(SecurityUtils.getPkCountry());
List<GradeDTO> gradeList = gradeListDate.getData();
Map<Integer, String> areaDate = iAreaServiceApi.getAreaMap(SecurityUtils.getPkCountry()).getData();
for (MemberRealInfoVO cuMemberExt : resultList) {
if (cuMemberExt.getPkProvince() != null) {
//
cuMemberExt.setProvinceName(areaDate.get(cuMemberExt.getPkProvince()));
}
if (cuMemberExt.getPkCity() != null) {
//
cuMemberExt.setCityName(areaDate.get(cuMemberExt.getPkCity()));
}
if (cuMemberExt.getPkCounty() != null) {
// 区县
cuMemberExt.setCountyName(areaDate.get(cuMemberExt.getPkCounty()));
}
// 注册等级
if (cuMemberExt.getPkRegisterGrade() != null) {
for (GradeDTO grade : gradeList) {
@ -577,210 +523,67 @@ public class CuMemberController extends BaseController {
}
}
}
// 生日
if (StringUtils.isNotBlank(cuMemberExt.getIdCard()) && (checkIdCard(cuMemberExt.getIdCard()))) {
cuMemberExt.setBirthDate(IdcardUtil.getBirthDate(cuMemberExt.getIdCard()));
}
if (cuMemberExt.getIdType() != null) {
cuMemberExt.setCardTypeVal(EIdType.getLabel(cuMemberExt.getIdType()));
}
cuMemberExt.setCardTypeVal(EIdType.getLabelByValue(cuMemberExt.getIdType()));
cuMemberExt.setSexVal(ESex.getLabelByValue(cuMemberExt.getSex()));
}
}
return getDataTable(resultList);
}
/**
* 会员团队信息
*
* @return
*/
@AccessPermissions("TeamInfo")
@GetMapping("/member-team-info")
public TableDataInfo memberTeamInfo(MemberTeamInfoParam memberTeamInfoParam) {
String time;
String settleTableName;
CuMemberSettlePeriod csPeriod;
List<MemberTeamVo> memberTeamList = new ArrayList<>();
R<List<BdAwards>> awardsDto = iAwardsServiceApi.queryAwards(SecurityUtils.getPkCountry());
if (memberTeamInfoParam.getQueryDate() == null) {
* 导出真实信息
**/
@Log(module = EOperationModule.MEMBER_INFORMATION, business = EOperationBusiness.MEMBER_INFORMATION, method = EOperationMethod.EXPORT)
@PostMapping("/real-info-export")
public void realInfoExport(HttpServletResponse response, MemberRealInfoParam memberRealInfoParam) {
memberRealInfoParam.setPkCountry(SecurityUtils.getPkCountry());
// 昨日
time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtil.offsetDay(new Date(), -1));
csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
} else {
String queryDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, memberTeamInfoParam.getQueryDate());
String currentDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.currentDate());
time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, memberTeamInfoParam.getQueryDate());
csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
if (queryDate.equals(currentDate)) {
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
} else {
// 历史
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
}
}
// 如果表格不存在则返回空数据
Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName);
if (tableNumber == null || tableNumber == 0) {
return getDataTable(new ArrayList<>());
}
memberTeamInfoParam.setSettleTableName(settleTableName);
memberTeamInfoParam.setPeriod(csPeriod.getPkId());
startPage();
if (StringUtils.isNotBlank(memberTeamInfoParam.getMemberCode())) {
if (memberTeamInfoParam.getRelaType() != null && memberTeamInfoParam.getRelaType().equals(ERealType.XY.getIntValue())) {
// 血缘
memberTeamList = iCuMemberTeamService.queryMemberTeamInfoList(memberTeamInfoParam);
} else {
// 安置
memberTeamList = iCuMemberTeamService.queryMemberTeamInfoPlaceParentList(memberTeamInfoParam);
}
}
for (MemberTeamVo memberTeamVo : memberTeamList) {
// 查询安置层级
if (memberTeamVo.getPlaceDept() != null) {
memberTeamVo.setPlaceDept(memberTeamVo.getPlaceDept());
memberTeamVo.setPlaceDeptStr(EPlaceDept.getEPlaceDept(memberTeamVo.getPlaceDept()));
}
if (memberTeamVo.getPkAwards() != null) {
for (BdAwards date : awardsDto.getData()) {
if (memberTeamVo.getPkAwards().equals(date.getPkId())) {
memberTeamVo.setPkAwardsStr(date.getAwardsName());
// 获取管理员权限角色地区范围体系列表团队列表
UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
memberRealInfoParam.setVertexList(userAuthorityDTO.getUserVertexList());
memberRealInfoParam.setTeamList(userAuthorityDTO.getUserTeamList());
List<MemberRealInfoVO> resultList = iCuMemberService.selectByMemberRealInfo(memberRealInfoParam);
if (CollectionUtil.isNotEmpty(resultList)) {
// 奖衔
R<List<BdAwards>> awardsListDate = iAwardsServiceApi.queryAwards(SecurityUtils.getPkCountry());
List<BdAwards> awardsList = awardsListDate.getData();
// 等级
R<List<GradeDTO>> gradeListDate = iGradeServiceApi.queryGradeList(SecurityUtils.getPkCountry());
List<GradeDTO> gradeList = gradeListDate.getData();
for (MemberRealInfoVO cuMemberExt : resultList) {
// 注册等级
if (cuMemberExt.getPkRegisterGrade() != null) {
for (GradeDTO grade : gradeList) {
if (grade.getPkId().equals(cuMemberExt.getPkRegisterGrade())) {
cuMemberExt.setRegisterGradeVal(grade.getGradeName());
}
}
}
}
if (memberTeamVo.getPkPlaceParent() != null) {
CuMember member = iCuMemberService.getMember(memberTeamVo.getPkPlaceParent());
if (member != null) {
memberTeamVo.setPlaceParentCode(member.getMemberCode());
}
}
memberTeamVo.setResettleLevel(memberTeamVo.getLevel());
//TODO 血缘代数
memberTeamVo.setConsanguinityAlgebra("" + memberTeamVo.getLevel() + "");
//TODO 奖金大盘占比
memberTeamVo.setBonusLargeMarketProportion(BigDecimal.ZERO);
// 直推人数
Long directPushPeopleNumber = iCuMemberTreeService.queryCuMemberTreeParentTableCount(settleTableName, memberTeamVo.getMemberId());
memberTeamVo.setDirectPushPeopleNumber(directPushPeopleNumber);
// 转账次数
QueryWrapper<CuMemberTransfer> qew = new QueryWrapper<>();
qew.eq("PK_MEMBER", memberTeamVo.getMemberId());
int memberTransferCount = iCuMemberTransferService.count(qew);
memberTeamVo.setMemberTransferCount(memberTransferCount);
// 提现次数
QueryWrapper<CuMemberWithdraw> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_MEMBER", memberTeamVo.getMemberId());
int memberWithdrawCount = iCuMemberWithdrawService.count(queryWrapper);
memberTeamVo.setWithdrawalNumber(memberWithdrawCount);
// 最后一次登录时间
if (memberTeamVo.getLastLoginTime() != null) {
// 计算当前时间和 最后一次登陆时间间隔
memberTeamVo.setLastLoginTimeIntervalDays(DateUtil.betweenDay(DateUtils.currentDate(), memberTeamVo.getLastLoginTime(), true));
}
}
return getDataTable(memberTeamList);
}
/**
* 会员团队信息导出
*/
@PostMapping("/member-team-info-export")
public void memberTeamInfoExport(MemberTeamInfoParam memberTeamInfoParam, HttpServletResponse response) {
String time;
String settleTableName;
CuMemberSettlePeriod csPeriod;
List<MemberTeamVo> memberTeamList = new ArrayList<>();
R<List<BdAwards>> awardsDto = iAwardsServiceApi.queryAwards(SecurityUtils.getPkCountry());
if (memberTeamInfoParam.getQueryDate() == null) {
// 昨日
time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtil.offsetDay(new Date(), -1));
csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
} else {
String queryDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, memberTeamInfoParam.getQueryDate());
String currentDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.currentDate());
time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, memberTeamInfoParam.getQueryDate());
csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
if (queryDate.equals(currentDate)) {
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
} else {
// 历史
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
}
}
// 如果表格不存在则返回空数据
Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName);
if (tableNumber == null || tableNumber == 0) {
ExcelUtil<MemberTeamVo> util = new ExcelUtil<>(MemberTeamVo.class);
util.exportExcel(response, memberTeamList, "会员团队信息");
}
memberTeamInfoParam.setSettleTableName(settleTableName);
memberTeamInfoParam.setPeriod(csPeriod.getPkId());
startPage();
if (StringUtils.isNotBlank(memberTeamInfoParam.getMemberCode())) {
if (memberTeamInfoParam.getRelaType() != null && memberTeamInfoParam.getRelaType().equals(ERealType.XY.getIntValue())) {
// 血缘
memberTeamList = iCuMemberTeamService.queryMemberTeamInfoList(memberTeamInfoParam);
} else {
// 安置
memberTeamList = iCuMemberTeamService.queryMemberTeamInfoPlaceParentList(memberTeamInfoParam);
}
}
for (MemberTeamVo memberTeamVo : memberTeamList) {
// 查询安置层级
if (memberTeamVo.getPlaceDept() != null) {
memberTeamVo.setPlaceDept(memberTeamVo.getPlaceDept());
memberTeamVo.setPlaceDeptStr(EPlaceDept.getEPlaceDept(memberTeamVo.getPlaceDept()));
}
if (memberTeamVo.getPkAwards() != null) {
for (BdAwards date : awardsDto.getData()) {
if (memberTeamVo.getPkAwards().equals(date.getPkId())) {
memberTeamVo.setPkAwardsStr(date.getAwardsName());
// 结算等级
if (cuMemberExt.getPkSettleGrade() != null) {
for (GradeDTO grade : gradeList) {
if (grade.getPkId().equals(cuMemberExt.getPkSettleGrade())) {
cuMemberExt.setSettleGradeVal(grade.getGradeName());
}
}
}
}
if (memberTeamVo.getPkPlaceParent() != null) {
CuMember member = iCuMemberService.getMember(memberTeamVo.getPkPlaceParent());
if (member != null) {
memberTeamVo.setPlaceParentCode(member.getMemberCode());
// 真实奖衔
if (cuMemberExt.getPkAwards() != null) {
for (BdAwards awards : awardsList) {
if (awards.getPkId().equals(cuMemberExt.getPkAwards())) {
cuMemberExt.setAwardsVal(awards.getAwardsName());
}
}
}
}
memberTeamVo.setResettleLevel(memberTeamVo.getLevel());
//血缘代数
memberTeamVo.setConsanguinityAlgebra("" + memberTeamVo.getLevel() + "");
//奖金大盘占比
memberTeamVo.setBonusLargeMarketProportion(BigDecimal.ZERO);
// 直推人数
Long directPushPeopleNumber = iCuMemberTreeService.queryCuMemberTreeParentTableCount(settleTableName, memberTeamVo.getMemberId());
memberTeamVo.setDirectPushPeopleNumber(directPushPeopleNumber);
// 转账次数
QueryWrapper<CuMemberTransfer> qew = new QueryWrapper<>();
qew.eq("PK_MEMBER", memberTeamVo.getMemberId());
int memberTransferCount = iCuMemberTransferService.count(qew);
memberTeamVo.setMemberTransferCount(memberTransferCount);
// 提现次数
QueryWrapper<CuMemberWithdraw> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_MEMBER", memberTeamVo.getMemberId());
int memberWithdrawCount = iCuMemberWithdrawService.count(queryWrapper);
memberTeamVo.setWithdrawalNumber(memberWithdrawCount);
// 最后一次登录时间
if (memberTeamVo.getLastLoginTime() != null) {
// 计算当前时间和 最后一次登陆时间间隔
memberTeamVo.setLastLoginTimeIntervalDays(DateUtil.betweenDay(DateUtils.currentDate(), memberTeamVo.getLastLoginTime(), true));
cuMemberExt.setCardTypeVal(EIdType.getLabelByValue(cuMemberExt.getIdType()));
cuMemberExt.setSexVal(ESex.getLabelByValue(cuMemberExt.getSex()));
}
}
ExcelUtil<MemberTeamVo> util = new ExcelUtil<>(MemberTeamVo.class, iMenuColumnServiceApi.queryMenuColumn("TeamInfo", SecurityUtils.getUserId()).getData());
util.exportExcel(response, memberTeamList, "会员团队信息");
ExcelUtil<MemberRealInfoVO> util = new ExcelUtil<>(MemberRealInfoVO.class, iMenuColumnServiceApi.queryMenuColumn("RealInfo", SecurityUtils.getUserId()).getData());
util.exportExcel(response, resultList, "真实信息");
}
/**
@ -794,69 +597,6 @@ public class CuMemberController extends BaseController {
return AjaxResult.success(memberTokenService.createToken(loginMember));
}
/**
* 导出真实信息
**/
@Log(module = EOperationModule.MEMBER_INFORMATION, business = EOperationBusiness.MEMBER_INFORMATION, method = EOperationMethod.EXPORT)
@PostMapping("/real-info-export")
public void realInfoExport(HttpServletResponse response, MemberRealInfoParam memberRealInfoParam) {
memberRealInfoParam.setPkCountry(SecurityUtils.getPkCountry());
// 获取管理员权限角色地区范围体系列表团队列表
UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
memberRealInfoParam.setVertexList(userAuthorityDTO.getUserVertexList());
memberRealInfoParam.setTeamList(userAuthorityDTO.getUserTeamList());
List<MemberRealInfoVO> resultList = iCuMemberService.selectByMemberRealInfo(memberRealInfoParam);
if (CollectionUtil.isNotEmpty(resultList)) {
// 获取需要翻译的枚举翻译
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(ECardType.values(),
ESex.values()
);
//数据库内容翻译
Map<Integer, String> transactionMap1 = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE,
EnumsPrefixConstants.KEY_AWARD);
Map<Integer, String> areaDate = iAreaServiceApi.getAreaMap(SecurityUtils.getPkCountry()).getData();
for (MemberRealInfoVO cuMemberExt : resultList) {
cuMemberExt.setRegisterGradeVal(transactionMap1.get(cuMemberExt.getPkRegisterGrade()));
cuMemberExt.setSettleGradeVal(transactionMap1.get(cuMemberExt.getPkSettleGrade()));
cuMemberExt.setAwardsVal(transactionMap1.get(cuMemberExt.getPkAwards()));
cuMemberExt.setPkMaxAwardsVal(transactionMap1.get(cuMemberExt.getPkMaxAwards()));
if (cuMemberExt.getPkProvince() != null) {
//
cuMemberExt.setProvinceName(areaDate.get(cuMemberExt.getPkProvince()));
}
if (cuMemberExt.getPkCity() != null) {
//
cuMemberExt.setCityName(areaDate.get(cuMemberExt.getPkCity()));
}
if (cuMemberExt.getPkCounty() != null) {
// 区县
cuMemberExt.setCountyName(areaDate.get(cuMemberExt.getPkCounty()));
}
// 证件类型
if (cuMemberExt.getCardType() != null) {
cuMemberExt.setCardTypeVal(transactionMap.get(EnumsPrefixConstants.CARD_TYPE + cuMemberExt.getCardType()));
}
// 性别
if (cuMemberExt.getSex() != null) {
cuMemberExt.setSexVal(transactionMap.get(EnumsPrefixConstants.SEX + cuMemberExt.getSex()));
}
// 生日
if (StringUtils.isNotBlank(cuMemberExt.getIdCard()) && (checkIdCard(cuMemberExt.getIdCard()))) {
cuMemberExt.setBirthDate(IdcardUtil.getBirthDate(cuMemberExt.getIdCard()));
}
if (cuMemberExt.getIdType() != null) {
cuMemberExt.setCardTypeVal(EIdType.getLabel(cuMemberExt.getIdType()));
}
}
}
ExcelUtil<MemberRealInfoVO> util = new ExcelUtil<>(MemberRealInfoVO.class, iMenuColumnServiceApi.queryMenuColumn("RealInfo", SecurityUtils.getUserId()).getData());
util.exportExcel(response, resultList, "真实信息");
}
/**
* 下载模板
*
@ -871,16 +611,6 @@ public class CuMemberController extends BaseController {
util.exportExcel(response, list, "会员编号");
}
/**
* 校验身份证格式
**/
public boolean checkIdCard(String idCard) {
// 正则表达式校验身份证号码格式
String reg = "\\d{17}[\\d|x|X]";
return Pattern.matches(reg, idCard);
}
/**
* 查询顶点会员
*

View File

@ -2,8 +2,8 @@ package com.hzs.member.base.controller.manage;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
import com.hzs.common.core.domain.R;
@ -20,7 +20,6 @@ import com.hzs.common.util.TransactionUtils;
import com.hzs.member.base.IMemberServiceApi;
import com.hzs.member.base.service.ICuMemberTeamService;
import com.hzs.member.base.vo.CuMemberTeamVO;
import com.hzs.system.base.ITransactionServiceApi;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -31,24 +30,20 @@ import java.util.List;
/**
* 会员所属团队隶属团队隶属团队 前端控制器
*
* @author zhangjing
* @since 2022-09-16
*/
@RestController
@RequestMapping("/manage/member-team")
public class CuMemberTeamController extends BaseController {
@Autowired
private ICuMemberTeamService cuMemberTeamService;
private ICuMemberTeamService iCuMemberTeamService;
@DubboReference
IMemberServiceApi iMemberServiceApi;
@DubboReference
ITransactionServiceApi iTransactionServiceApi;
/**
* @description: 查询会员所属团队隶属团队列表
* 查询会员所属团队隶属团队列表
*
* @param: [cuMemberTeam]
* @return: com.hzs.common.core.web.page.TableDataInfo
**/
@ -57,12 +52,13 @@ public class CuMemberTeamController extends BaseController {
public TableDataInfo list(CuMemberTeamExt cuMemberTeam) {
startPage();
cuMemberTeam.setPkCountry(SecurityUtils.getPkCountry());
List<CuMemberTeamExt> list = cuMemberTeamService.queryCuMemberTeam(cuMemberTeam);
List<CuMemberTeamExt> list = iCuMemberTeamService.queryCuMemberTeam(cuMemberTeam);
return getDataTable(list);
}
/**
* @description: 隶属团队下拉选
* 隶属团队下拉选
*
* @param: [cuMemberTeam]
* @return: com.hzs.common.core.web.page.TableDataInfo
**/
@ -70,7 +66,7 @@ public class CuMemberTeamController extends BaseController {
@GetMapping("/listNoPage")
public TableDataInfo listNoPage(CuMemberTeamExt cuMemberTeam) {
cuMemberTeam.setPkCountry(SecurityUtils.getPkCountry());
List<CuMemberTeamExt> list = cuMemberTeamService.queryCuMemberTeam(cuMemberTeam);
List<CuMemberTeamExt> list = iCuMemberTeamService.queryCuMemberTeam(cuMemberTeam);
List<CuMemberTeamVO> listVo = new ArrayList<>();
list.forEach(item -> listVo.add(BeanUtil.copyProperties(item, CuMemberTeamVO.class)));
return getDataTable(listVo);
@ -83,7 +79,7 @@ public class CuMemberTeamController extends BaseController {
*/
@GetMapping("find-all")
public AjaxResult findAll() {
return AjaxResult.success(cuMemberTeamService.list(new QueryWrapper<>()));
return AjaxResult.success(iCuMemberTeamService.list());
}
/**
@ -94,23 +90,22 @@ public class CuMemberTeamController extends BaseController {
*/
@GetMapping("/find-vertex")
public AjaxResult findByVertex(@RequestParam List<Long> pkVertexList) {
QueryWrapper<CuMemberTeam> queryWrapper = new QueryWrapper<>();
queryWrapper.in("PK_BD_VERTEX", pkVertexList);
queryWrapper.orderByAsc("TEAM_NAME");
return AjaxResult.success(cuMemberTeamService.list(queryWrapper));
LambdaQueryWrapper<CuMemberTeam> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(CuMemberTeam::getPkBdVertex, pkVertexList);
queryWrapper.orderByAsc(CuMemberTeam::getTeamName);
return AjaxResult.success(iCuMemberTeamService.list(queryWrapper));
}
/**
* @description: 新增会员所属团队隶属团队
* 新增会员所属团队隶属团队
*
* @param: [cuMemberTeam]
* @return: com.hzs.common.core.web.domain.AjaxResult
**/
@Log(module = EOperationModule.CU_MEMBER_TEAM, method = EOperationMethod.INSERT)
@PostMapping("/save")
public AjaxResult save(@RequestBody CuMemberTeamExt cuMemberTeam) {
Integer pkCountry = SecurityUtils.getPkCountry();
if (StringUtils.isEmpty(cuMemberTeam.getTeamName())) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.TEAM_NAME_NOT_NULL));
}
@ -125,33 +120,29 @@ public class CuMemberTeamController extends BaseController {
if (StringUtils.isNull(member.getData())) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_NOT_VALID));
}
QueryWrapper<CuMemberTeam> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_MEMBER", member.getData().getPkId());
List<CuMemberTeam> list = cuMemberTeamService.list(queryWrapper);
LambdaQueryWrapper<CuMemberTeam> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CuMemberTeam::getPkMember, member.getData().getPkId());
List<CuMemberTeam> list = iCuMemberTeamService.list(queryWrapper);
if (CollectionUtil.isNotEmpty(list)) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_CODE_REPEAT));
}
cuMemberTeam.setPkMember(member.getData().getPkId());
//字段翻译保存到数据库
R<Integer> pkTransaction = iTransactionServiceApi.createTransaction(pkCountry, ETransactionKey.MEMBER,
cuMemberTeam.getTeamName(), EYesNo.NO, EYesNo.NO);
cuMemberTeam.setPkTransaction(pkTransaction.getData());
cuMemberTeam.setPkCountry(SecurityUtils.getPkCountry());
cuMemberTeam.setPkCreator(SecurityUtils.getUserId());
cuMemberTeam.setCreationTime(new Date());
return toAjax(cuMemberTeamService.save(cuMemberTeam));
return toAjax(iCuMemberTeamService.save(cuMemberTeam));
}
/**
* @description: 修改会员所属团队隶属团队
* 修改会员所属团队隶属团队
*
* @param: [cuMemberTeam]
* @return: com.hzs.common.core.web.domain.AjaxResult
**/
@Log(module = EOperationModule.CU_MEMBER_TEAM, method = EOperationMethod.UPDATE)
@PostMapping("/update")
public AjaxResult update(@RequestBody CuMemberTeamExt cuMemberTeam) {
Integer pkCountry = SecurityUtils.getPkCountry();
if (StringUtils.isEmpty(cuMemberTeam.getTeamName())) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.TEAM_NAME_NOT_NULL));
}
@ -168,31 +159,23 @@ public class CuMemberTeamController extends BaseController {
if (StringUtils.isNull(member.getData())) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_NOT_VALID));
}
QueryWrapper<CuMemberTeam> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_MEMBER", member.getData().getPkId());
queryWrapper.ne("PK_ID", cuMemberTeam.getPkId());
List<CuMemberTeam> list = cuMemberTeamService.list(queryWrapper);
LambdaQueryWrapper<CuMemberTeam> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CuMemberTeam::getPkMember, member.getData().getPkId());
queryWrapper.ne(CuMemberTeam::getPkId, cuMemberTeam.getPkId());
List<CuMemberTeam> list = iCuMemberTeamService.list(queryWrapper);
if (CollectionUtil.isNotEmpty(list)) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_CODE_REPEAT));
}
cuMemberTeam.setPkMember(member.getData().getPkId());
if (null != cuMemberTeam.getPkTransaction()) {
iTransactionServiceApi.updateTransaction(pkCountry,
cuMemberTeam.getTeamName(), cuMemberTeam.getPkTransaction(), true);
} else {
//字段翻译保存到数据库
R<Integer> pkTransaction = iTransactionServiceApi.createTransaction(pkCountry, ETransactionKey.MEMBER,
cuMemberTeam.getTeamName(), EYesNo.NO, EYesNo.NO);
cuMemberTeam.setPkTransaction(pkTransaction.getData());
}
cuMemberTeam.setPkModified(SecurityUtils.getUserId());
cuMemberTeam.setModifiedTime(new Date());
return toAjax(cuMemberTeamService.updateById(cuMemberTeam));
return toAjax(iCuMemberTeamService.updateById(cuMemberTeam));
}
/**
* @description: 查询单条会员所属团队隶属团队
* 查询单条会员所属团队隶属团队
*
* @param: [pkId]
* @return: com.hzs.common.core.web.domain.AjaxResult
**/
@ -201,42 +184,39 @@ public class CuMemberTeamController extends BaseController {
public AjaxResult getOne(@PathVariable Long pkId) {
CuMemberTeamExt memberTeam = new CuMemberTeamExt();
memberTeam.setPkId(pkId);
List<CuMemberTeamExt> cuMemberTeam = cuMemberTeamService.queryCuMemberTeam(memberTeam);
List<CuMemberTeamExt> cuMemberTeam = iCuMemberTeamService.queryCuMemberTeam(memberTeam);
CuMemberTeamExt cuMemberTeamExt = cuMemberTeam.get(0);
return AjaxResult.success(cuMemberTeamExt);
}
/**
* @description: 删除会员所属团队隶属团队
* 删除会员所属团队隶属团队
*
* @param: [pkId]
* @return: com.hzs.common.core.web.domain.AjaxResult
**/
@Log(module = EOperationModule.CU_MEMBER_TEAM, method = EOperationMethod.DELETE)
@DeleteMapping("/{pkId}")
public AjaxResult delete(@PathVariable Long pkId) {
UpdateWrapper<CuMemberTeam> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("PK_ID", pkId);
updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue());
updateWrapper.set("PK_MODIFIED", SecurityUtils.getUserId());
updateWrapper.set("MODIFIED_TIME", new Date());
//删除翻译
CuMemberTeam memberTeam = cuMemberTeamService.getById(pkId);
List<Long> pkIdList = new ArrayList<>();
pkIdList.add(memberTeam.getPkTransaction().longValue());
iTransactionServiceApi.removeTransactionByPkId(pkIdList);
return toAjax(cuMemberTeamService.update(updateWrapper));
LambdaUpdateWrapper<CuMemberTeam> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(CuMemberTeam::getPkId, pkId);
updateWrapper.set(CuMemberTeam::getDelFlag, EDelFlag.DELETE.getValue());
updateWrapper.set(CuMemberTeam::getPkModified, SecurityUtils.getUserId());
updateWrapper.set(CuMemberTeam::getModifiedTime, new Date());
return toAjax(iCuMemberTeamService.update(updateWrapper));
}
/**
* @description: 更新所属团队隶属团队
* 更新所属团队隶属团队
*
* @param: [pkId]
* @return: com.hzs.common.core.web.domain.AjaxResult
**/
@Log(module = EOperationModule.CU_MEMBER_TEAM, method = EOperationMethod.RENEW)
@GetMapping("/update-team/{pkTeamCode}")
public AjaxResult updateTeamByVertex(@PathVariable Long pkTeamCode) {
cuMemberTeamService.updateCuMemberTeamByVertex(pkTeamCode);
iCuMemberTeamService.updateCuMemberTeamByVertex(pkTeamCode);
return AjaxResult.success();
}
}

View File

@ -3,65 +3,34 @@ package com.hzs.member.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.base.CuMemberTeam;
import com.hzs.common.domain.member.ext.CuMemberTeamExt;
import com.hzs.member.base.param.MemberTeamInfoParam;
import com.hzs.member.base.vo.MemberTeamVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 会员交易明细 Mapper 接口
* </p>
*
* @author hzs
* @since 2022-09-01
*/
public interface CuMemberTeamMapper extends BaseMapper<CuMemberTeam> {
List<CuMemberTeamExt> queryCuMemberTeam(CuMemberTeamExt cuMemberTeamExt);
/*
* @description: 查询会员伞下团队
* @author: sui q
* @date: 2023/4/24 20:04
* @param: null null
* 查询会员伞下团队
**/
List<CuMemberTeam> queryCuMemberUmbrella(Long pkMember);
/*
* @description: 更新体系下所有的团队为空
* @author: sui q
* @date: 2023/4/24 19:26
* @param: null null
* 更新体系下所有的团队为空
**/
void updateSelfCuMemberTeam(Long pkMember);
/*
* @description: 更新伞下会员
* @author: sui q
* @date: 2023/4/24 19:34
* @param: null null
* 更新伞下会员
**/
void updateCuMemberUnderUmbrella(CuMemberTeam cuMemberTeam);
/*
* @description: 更新伞下会员
* @author: sui q
* @date: 2023/4/24 19:34
* @param: null null
* 更新伞下会员
**/
void updateCuMemberUnderUmbrellaNull(Long pkMember);
/**
* 查询会员团队信息
* @param memberTeamInfoParam
* @return
*/
List<MemberTeamVo> queryMemberTeamInfoList(MemberTeamInfoParam memberTeamInfoParam);
/**
* 查询会员安置团队信息
* @param memberTeamInfoParam
* @return
*/
List<MemberTeamVo> queryMemberTeamInfoPlaceParentList(MemberTeamInfoParam memberTeamInfoParam);
}

View File

@ -1,26 +1,10 @@
package com.hzs.member.base.param;/**
* @Description:
* @Author: yuhui
* @Time: 2023/4/26 10:08
* @Classname: MemberRealInfo
* @PackageName: com.hzs.member.base.param
*/
package com.hzs.member.base.param;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.param
*@Author: yh
*@CreateTime: 2023-04-26 10:08
*@Description: TODO
*@Version: 1.0
*/
@Data
public class MemberRealInfoParam {
@ -57,7 +41,6 @@ public class MemberRealInfoParam {
/**
* 证件类型
*/
private Integer idType;
/**
@ -68,48 +51,15 @@ public class MemberRealInfoParam {
* 出生日期年月日
*/
private String birthDate;
/**
* 省id
* 出生日期查询
*/
private Integer pkProvince;
/**
* 市id
*/
private Integer pkCity;
/**
* 区县id
*/
private Integer pkCounty;
/**
* 详细地址
*/
private String address;
private Date birthDateQuery;
/**
* 性别0=未知,1=,2=
*/
private Integer sex;
/**
* 银行名称
*/
private String bankName;
/**
* 支行名称
*/
private String subBankName;
/**
* 银行卡号
*/
private String cardNumber;
/**
* 邮箱
*/
private String email;
/**
* 开始认证时间

View File

@ -1,24 +1,10 @@
package com.hzs.member.base.param;/**
* @Description:
* @Author: yuhui
* @Time: 2023/5/29 14:53
* @Classname: MemberTeamInfoParam
* @PackageName: com.hzs.member.base.param
*/
package com.hzs.member.base.param;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.param
*@Author: yh
*@CreateTime: 2023-05-29 14:53
*@Description: TODO
*@Version: 1.0
*/
@Data
public class MemberTeamInfoParam {

View File

@ -3,8 +3,6 @@ package com.hzs.member.base.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.base.CuMemberTeam;
import com.hzs.common.domain.member.ext.CuMemberTeamExt;
import com.hzs.member.base.param.MemberTeamInfoParam;
import com.hzs.member.base.vo.MemberTeamVo;
import java.util.List;
@ -14,17 +12,17 @@ import java.util.List;
public interface ICuMemberTeamService extends IService<CuMemberTeam> {
/**
* @description: 隶属团队列表
* 隶属团队列表
**/
List<CuMemberTeamExt> queryCuMemberTeam(CuMemberTeamExt cuMemberTeamExt);
/*
* @description: 根据会员主键获得所属团队
* 根据会员主键获得所属团队
**/
CuMemberTeamExt getCuMemberTeamById(Long pkMember);
/**
* @description: 根据国家查询隶属团队
* 根据国家查询隶属团队
**/
List<CuMemberTeamExt> queryCuMemberTeam(Integer pkCountry);
@ -37,23 +35,8 @@ public interface ICuMemberTeamService extends IService<CuMemberTeam> {
Boolean checkVertex(Integer pkVertex);
/*
* @description: 更新体系下的团队
* 更新体系下的团队
**/
Boolean updateCuMemberTeamByVertex(Long pkTeamCode);
/**
* 查询会员团队信息
*
* @param memberTeamInfoParam
* @return
*/
List<MemberTeamVo> queryMemberTeamInfoList(MemberTeamInfoParam memberTeamInfoParam);
/**
* 查询会员安置信息团队
*
* @param memberTeamInfoParam
* @return
*/
List<MemberTeamVo> queryMemberTeamInfoPlaceParentList(MemberTeamInfoParam memberTeamInfoParam);
}

View File

@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.domain.member.base.CuMemberTeam;
import com.hzs.common.domain.member.ext.CuMemberTeamExt;
import com.hzs.member.base.mapper.CuMemberTeamMapper;
import com.hzs.member.base.param.MemberTeamInfoParam;
import com.hzs.member.base.service.ICuMemberTeamService;
import com.hzs.member.base.vo.MemberTeamVo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -74,14 +72,4 @@ public class CuMemberTeamServiceImpl extends ServiceImpl<CuMemberTeamMapper, CuM
return Boolean.TRUE;
}
@Override
public List<MemberTeamVo> queryMemberTeamInfoList(MemberTeamInfoParam memberTeamInfoParam) {
return baseMapper.queryMemberTeamInfoList(memberTeamInfoParam);
}
@Override
public List<MemberTeamVo> queryMemberTeamInfoPlaceParentList(MemberTeamInfoParam memberTeamInfoParam) {
return baseMapper.queryMemberTeamInfoPlaceParentList(memberTeamInfoParam);
}
}

View File

@ -48,12 +48,6 @@ public class MemberRealInfoVO {
@Excel(name = "联系方式", sort = 3)
private String phone;
/**
* 邮箱
*/
@Excel(name = "邮箱地址", sort = 20)
private String email;
/**
* 证件号码
*/
@ -62,20 +56,18 @@ public class MemberRealInfoVO {
/**
* 证件类型 ECardType
*/
@Transaction(transactionKey = EnumsPrefixConstants.CARD_TYPE)
private Integer cardType;
/**
* 性别0=未知,1=,2=Esex
*/
@Transaction(transactionKey = EnumsPrefixConstants.SEX)
private Integer sex;
/**
* 出生日期年月日
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "出生日期", sort = 8)
@Excel(name = "出生日期", sort = 8, dateFormat = "yyyy-MM-dd")
private Date birthDate;
/**
@ -158,7 +150,7 @@ public class MemberRealInfoVO {
* 支付时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "支付时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 22)
@Excel(name = "支付日期", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 22)
private Date payTime;
/**
@ -329,53 +321,11 @@ public class MemberRealInfoVO {
*/
private String idBack;
/**
* 省id
*/
private Integer pkProvince;
/**
* 省名称
*/
@Excel(name = "", sort = 11)
private String provinceName;
/**
* 市id
*/
private Integer pkCity;
/**
* 市名称
*/
@Excel(name = "", sort = 12)
private String cityName;
/**
* 区县id
*/
private Integer pkCounty;
/**
* 区县名
*/
@Excel(name = "区/县", sort = 13)
private String countyName;
/**
* 详细地址
*/
@Excel(name = "详细地址", sort = 14)
private String address;
/**
* 银行名称
*/
@Excel(name = "银行名称", sort = 15)
private String bankName;
/**
* 支行名称
*/
@Excel(name = "支行名称", sort = 16)
private String subBankName;
/**
* 真实姓名开户姓名
*/
@Excel(name = "开户姓名", sort = 17)
private String accountName;
/**
* 证件类型 字符
*/
@ -385,12 +335,10 @@ public class MemberRealInfoVO {
/**
* 预留电话
*/
@Excel(name = "预留电话", sort = 18)
private String reservedPhone;
/**
* 银行卡号
*/
@Excel(name = "银行卡号", sort = 19)
private String cardNumber;
@ -419,15 +367,14 @@ public class MemberRealInfoVO {
@Excel(name = "结算等级", sort = 5)
private String settleGradeVal;
/**
* 真实奖衔 字符
*/
@Excel(name = "真实奖衔", sort = 6)
private String awardsVal;
/**
* 荣誉奖衔 字符
*/
@Excel(name = "荣誉奖衔", sort = 6)
private String awardsVal;
/**
*
*/
private String pkMaxAwardsVal;
/**

View File

@ -1,10 +1,4 @@
package com.hzs.member.base.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2023/5/29 16:02
* @Classname: MemberTeamVo
* @PackageName: com.hzs.member.base.vo
*/
package com.hzs.member.base.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
@ -13,14 +7,6 @@ import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.vo
*@Author: yh
*@CreateTime: 2023-05-29 16:02
*@Description: TODO
*@Version: 1.0
*/
@Data
public class MemberTeamVo {
@ -93,13 +79,13 @@ public class MemberTeamVo {
/**
* 左区首购业绩
*/
@Excel(name = "左区首购业绩($)")
@Excel(name = "左区首购业绩")
private BigDecimal afirstPv;
/**
* 右区首购业绩
*/
@Excel(name = "右区首购业绩($)")
@Excel(name = "右区首购业绩")
private BigDecimal bfirstPv;
/**
@ -108,68 +94,61 @@ public class MemberTeamVo {
private Integer placeDept;
/**
* 血缘首购业绩
*/
// TODO 血缘首购业绩
@Excel(name = "血缘首购业绩($)")
@Excel(name = "血缘首购业绩")
private BigDecimal consanguinityFirstPv;
/**
* 左区复购业绩
*/
@Excel(name = "左区复购业绩($)")
@Excel(name = "左区复购业绩")
private BigDecimal repASumPv;
/**
* 右区复购业绩
*/
@Excel(name = "右区复购业绩($)")
@Excel(name = "右区复购业绩")
private BigDecimal repBSumPv;
/**
* 血缘复购业绩
*/
// TODO 血缘复购业绩
@Excel(name = "血缘复购业绩($)")
@Excel(name = "血缘复购业绩")
private BigDecimal consanguinityRepBSumPv;
/**
*左区真实业绩(PV)
* 左区真实业绩(PV)
*/
@Excel(name = "左区真实业绩($)")
@Excel(name = "左区真实业绩")
private BigDecimal aSumRealPv;
/**
* B区真实业绩(PV)
*/
@Excel(name = "右区真实业绩($)")
@Excel(name = "右区真实业绩")
private BigDecimal bSumRealPv;
/**
* 血缘真实业绩pv
*/
@Excel(name = "血缘真实业绩($)")
@Excel(name = "血缘真实业绩")
private BigDecimal consanguinityRealPv;
/**
* 奖金收益
*/
// @Excel(name = "奖金收益($)")
// @Excel(name = "奖金收益")
private BigDecimal realIncomeTotal;
/**
* 奖金团队占比
*/
// todo 奖金团队占比
@Excel(name = "奖金团队占比(%)",suffix = "%")
@Excel(name = "奖金团队占比(%)", suffix = "%")
private BigDecimal bonusTeamProportion;
/**
@ -212,14 +191,14 @@ public class MemberTeamVo {
* 福利金额$
*/
// todo 福利金额
@Excel(name = "福利金额($)")
@Excel(name = "福利金额")
private BigDecimal benefitAmount;
/**
* 福利业绩(pv)
*/
// todo 福利业绩
@Excel(name = "福利业绩($)")
@Excel(name = "福利业绩")
private BigDecimal benefitPv;
/**
@ -239,14 +218,14 @@ public class MemberTeamVo {
* 转账金额$
*/
// todo 转账金额分多个账户
@Excel(name = "转账金额($)")
@Excel(name = "转账金额")
private BigDecimal transferAmount;
/**
* 充值金额$
*/
// todo 充值金额分多个账户
@Excel(name = "充值金额($)")
@Excel(name = "充值金额")
private BigDecimal rechargeAmount;
/**
@ -259,38 +238,38 @@ public class MemberTeamVo {
* 提现金额$
*/
// todo 提现金额分多个账户
@Excel(name = "提现金额($)")
@Excel(name = "提现金额")
private Integer withdrawalAmount;
/**
* 登录次数
*/
// @Excel(name = "登录次数")
// @Excel(name = "登录次数")
private Integer loginNumber;
/**
* 最后一次登录时间
*/
@Excel(name = "最近登录",dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "最近登录", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date lastLoginTime;
/**
* 最后一次登录时间间隔天数
*/
// @Excel(name = "最后一次登录时间间隔天数")
// @Excel(name = "最后一次登录时间间隔天数")
private Long lastLoginTimeIntervalDays;
/**
* 创建时间
*/
@Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
/**
* 支付时间
*/
@Excel(name = "支付时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "支付时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date payTime;

View File

@ -45,7 +45,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.*;
/**
* @Description: 架构管理
* 架构管理
*/
@RestController
@RequestMapping("/manage/member-structure")
@ -82,28 +82,19 @@ public class MemberStructureController extends BaseController {
// 体系
UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
List<Integer> vertexIdList = userAuthorityDTO.getVertexIdList();
Date date = new Date();
String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date());
Long pkMember;
Long pkMember = null;
if (StringUtils.isNotBlank(memberCode)) {
CuMember member = iCuMemberService.getMemberByCode(memberCode);
if (null == member) {
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.MEMBER_NOT_EXITS));
if (null != member) {
pkMember = member.getPkId();
}
pkMember = member.getPkId();
} else {
}
if (null == pkMember) {
return AjaxResult.error("请输入会员编号");
}
// if (vertexIdList != null && StringUtils.isNotBlank(memberCode)) {
// // 体系不为空 并且会员编号不为空 只能查询自己伞下以及自己的
// List<CuMemberExt> memberExtList = iCuMemberService.checkMemberVertex(vertexIdList, memberCode);
// if (memberExtList.size() == 0) {
// return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.QUERY_VERTEX_CODE));
// }
// }
Integer period = null;
Date settleDate = null;
if (memberSettlePeriodId != null) {

View File

@ -299,10 +299,8 @@
</if>
cm.PK_AWARDS,cm.PK_PLACE_PARENT,cm.PK_PARENT ,cm.PLACE_DEPT ,cm.MEMBER_NAME, cm.MEMBER_CODE,cm.PK_ID
PK_MEMBER,cm.PK_COUNTRY,cm.PK_SETTLE_COUNTRY,cme.MEMBER_CODE parentMemberCode, grade.GRADE_NAME, awards.AWARDS_NAME,
(select count(cr.pk_id) from CU_MEMBER cr where cr.pk_parent = cm.pk_id and cr.del_flag = 0)
directPushNumber,cm.PK_VERTEX ,cm.NICK_NAME
from
CU_MEMBER cm
cm.PK_VERTEX ,cm.NICK_NAME
from CU_MEMBER cm
left join CU_MEMBER cme on cme.PK_ID = cm.PK_PLACE_PARENT
left join BD_GRADE grade on grade.PK_ID = cm.PK_SETTLE_GRADE
left join BD_AWARDS awards on awards.PK_ID = cm.PK_AWARDS
@ -395,13 +393,6 @@
</if>
</select>
<select id="queryCuMemberTreeParentTableCount" resultType="long">
select count(PK_MEMBER)
from ${tableName} t
left join CU_MEMBER cm on cm.pk_id = t.PK_MEMBER
where cm.PK_PARENT = #{pkMember}
</select>
<select id="queryCuMemberTreePlaceParentHistoryTable" resultMap="CuMemberSettleExt">
select
<if test="tableName != null and tableName != ''">

View File

@ -1625,94 +1625,61 @@
<select id="selectByMemberRealInfo" resultType="com.hzs.member.base.vo.MemberRealInfoVO">
select
cm.MEMBER_CODE as memberCode,
cm.MEMBER_NAME memberName,
cm.PHONE phone,
cm.PK_REGISTER_GRADE as pkRegisterGrade,
cm.PK_SETTLE_GRADE as pkSettleGrade,
cm.PK_AWARDS as pkAwards,
cm.PK_MAX_AWARDS as pkMaxAwards,
ma.SEX as sex,
cm.member_code as memberCode,
cm.member_name memberName,
cm.phone phone,
cm.pk_register_grade as pkRegisterGrade,
cm.pk_settle_grade as pkSettleGrade,
cm.pk_awards as pkAwards,
ma.sex as sex,
cm.birth_date birthDate,
ma.ID_TYPE idType,
ma.ID_CARD idCard,
ma.ID_FRONT idFront,
ma.ID_BACK idBack,
ma.PK_PROVINCE pkProvince,
ma.PK_CITY pkCity,
ma.PK_COUNTY pkCounty,
ma.ADDRESS address,
bb.BANK_NAME bankName,
ma.SUB_BANK_NAME subBankName,
ma.ACCOUNT_NAME accountName,
ma.PHONE reservedPhone,
ma.CARD_NUMBER cardNumber,
cm.EMAIL email,
ma.CREATION_TIME certificationTime,
cm.CREATION_TIME creationTime,
cm.PAY_TIME payTime,
cm.DIRECT_PUSH_NUMBER directPushNumber
from CU_MEMBER cm
left join CU_MEMBER_AUTHENTICATION ma on ma.PK_MEMBER = cm.PK_ID and ma.del_flag = 0
left join BD_BANK bb on bb.PK_ID = ma.pk_bank
ma.id_type idType,
ma.id_card idCard,
ma.id_front idFront,
ma.id_back idBack,
ma.address address,
ma.phone reservedPhone,
ma.card_number cardNumber,
ma.creation_time certificationTime,
cm.creation_time creationTime,
cm.pay_time payTime,
cm.direct_push_number directPushNumber
from cu_member_authentication ma
left join cu_member cm on ma.pk_member = cm.PK_ID
left join bd_vertex ver on cm.pk_vertex = ver.pk_id
LEFT JOIN cu_member_team ct ON ct.pk_id = cm.pk_team_code
where cm.del_flag = 0
and PK_SETTLE_COUNTRY = #{pkCountry}
and ma.del_flag = 0
and cm.PK_SETTLE_COUNTRY = #{pkCountry}
<if test="memberCode != null and memberCode != ''">
and cm.MEMBER_CODE like #{memberCode} ||'%'
and cm.member_code like #{memberCode} ||'%'
</if>
<if test="memberName != null and memberName != ''">
and cm.MEMBER_NAME like #{memberName} ||'%'
and cm.member_name like #{memberName} ||'%'
</if>
<if test="birthDate != null and birthDate != ''">
and ma.ID_CARD like '%' || #{birthDate} ||'%'
<if test="birthDate != null">
and cm.birth_date = to_date(#{birthDate}, 'yyyy-mm-dd')
</if>
<if test="phone != null and phone != ''">
and cm.PHONE = #{phone}
and cm.phone = #{phone}
</if>
<if test="pkRegisterGrade != null">
and cm.PK_REGISTER_GRADE = #{pkRegisterGrade}
and cm.pk_register_grade = #{pkRegisterGrade}
</if>
<if test="pkAwards != null">
and cm.PK_AWARDS = #{pkAwards}
and cm.pk_awards = #{pkAwards}
</if>
<if test="pkSettleGrade != null">
and cm.PK_SETTLE_GRADE = #{pkSettleGrade}
and cm.pk_settle_grade = #{pkSettleGrade}
</if>
<if test="idType != null">
and ma.ID_TYPE = #{idType}
and ma.id_type = #{idType}
</if>
<if test="idCard != null and idCard != ''">
and ma.ID_CARD = #{idCard}
</if>
<if test="pkProvince != null">
and ma.PK_PROVINCE = #{pkProvince}
</if>
<if test="pkCity != null">
and ma.PK_CITY = #{pkCity}
</if>
<if test="pkCounty != null">
and ma.PK_COUNTY = #{pkCounty}
</if>
<if test="address != null and address != ''">
and ma.ADDRESS like #{address} ||'%'
and ma.id_card = #{idCard}
</if>
<if test="sex != null">
and ma.SEX = #{sex}
</if>
<if test="bankName != null and bankName != ''">
and bb.BANK_NAME like #{bankName}||'%'
</if>
<if test="subBankName != null and subBankName != ''">
and ma.SUB_BANK_NAME like #{subBankName}||'%'
</if>
<if test="cardNumber != null and cardNumber != ''">
and ma.CARD_NUMBER like #{cardNumber}||'%'
</if>
<if test="email != null and email != ''">
and cm.EMAIL like #{email}||'%'
and ma.sex = #{sex}
</if>
<if test="startCertificationTime != null">
and ma.CREATION_TIME &gt;= to_date(#{startCertificationTime}, 'yyyy-mm-dd')

View File

@ -4,66 +4,64 @@
<!-- 通用查询映射结果 -->
<resultMap id="CuMemberTeam" type="com.hzs.common.domain.member.base.CuMemberTeam">
<id column="PK_ID" property="pkId" />
<result column="DEL_FLAG" property="delFlag" />
<result column="PK_COUNTRY" property="pkCountry" />
<result column="PK_CREATOR" property="pkCreator" />
<result column="CREATION_TIME" property="creationTime" />
<result column="PK_MODIFIED" property="pkModified" />
<result column="MODIFIED_TIME" property="modifiedTime" />
<result column="PK_MEMBER" property="pkMember" />
<result column="TEAM_NAME" property="teamName" />
<result column="PK_TRANSACTION" property="pkTransaction" />
<id column="PK_ID" property="pkId"/>
<result column="DEL_FLAG" property="delFlag"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="PK_MEMBER" property="pkMember"/>
<result column="TEAM_NAME" property="teamName"/>
<result column="PK_TRANSACTION" property="pkTransaction"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
DEL_FLAG,
PK_COUNTRY,
PK_CREATOR,
CREATION_TIME,
PK_MODIFIED,
MODIFIED_TIME,
PK_ID, MEMBER_CODE, TEAM_NAME, PK_TRANSACTION
</sql>
<update id="updateSelfCuMemberTeam">
update cu_member set pk_team_code=null where pk_id in(
select t.pk_member from cu_member_team t
inner join (
SELECT t.pk_id
FROM cu_member t
WHERE t.del_flag = 0
START WITH t.pk_id = #{pkMember}
CONNECT BY PRIOR t.pk_id = t.pk_parent
update cu_member
set pk_team_code=null
where pk_id in (
select t.pk_member
from cu_member_team t
inner join (
SELECT t.pk_id
FROM cu_member t
WHERE t.del_flag = 0
START
WITH t.pk_id = #{pkMember}
CONNECT BY PRIOR t.pk_id = t.pk_parent
) s on t.pk_member = s.pk_id
where t.del_flag=0)
where t.del_flag = 0)
</update>
<update id="updateCuMemberUnderUmbrella">
merge into cu_member a
using (
using (
SELECT t.pk_id
FROM cu_member t
WHERE t.del_flag = 0
START
WITH t.pk_parent = #{pkMember}
CONNECT BY PRIOR
t.pk_id = t.pk_parent) b
on (a.pk_id = b.pk_id)
when matched then
update set a.pk_team_code = #{pkId}
</update>
<update id="updateCuMemberUnderUmbrellaNull">
update cu_member
set pk_team_code = null
where pk_id in (
SELECT t.pk_id
FROM cu_member t
WHERE t.del_flag = 0
START WITH t.pk_parent = 2725
CONNECT BY PRIOR
t.pk_id = t.pk_parent) b
on (a.pk_id = b.pk_id)
when matched then
update set a.pk_team_code= #{pkId}
</update>
<update id="updateCuMemberUnderUmbrellaNull">
update cu_member set pk_team_code = null
where pk_id in(
SELECT t.pk_id
FROM cu_member t
WHERE t.del_flag = 0
START WITH t.pk_id = #{pkMember}
CONNECT BY PRIOR t.pk_id = t.pk_parent)
START WITH t.pk_id = #{pkMember}
CONNECT BY PRIOR t.pk_id = t.pk_parent)
</update>
<!-- 查询隶属团队列表-->
<!-- 查询隶属团队列表-->
<select id="queryCuMemberTeam" parameterType="com.hzs.common.domain.member.ext.CuMemberTeamExt"
resultType="com.hzs.common.domain.member.ext.CuMemberTeamExt" >
resultType="com.hzs.common.domain.member.ext.CuMemberTeamExt">
select
a.PK_ID,
a.PK_MEMBER,
@ -119,103 +117,19 @@
</if>
ORDER BY a.CREATION_TIME DESC
</select>
<select id="queryCuMemberUmbrella" resultMap="CuMemberTeam">
select t.pk_id,t.pk_member from cu_member_team t
left join (
SELECT t.pk_id
FROM cu_member t
WHERE t.del_flag = 0
START WITH t.pk_id = #{pkMember}
CONNECT BY PRIOR t.pk_id = t.pk_parent
select t.pk_id, t.pk_member
from cu_member_team t
left join (
SELECT t.pk_id
FROM cu_member t
WHERE t.del_flag = 0
START
WITH t.pk_id = #{pkMember}
CONNECT BY PRIOR t.pk_id = t.pk_parent
) s on t.pk_member = s.pk_id
where t.del_flag=0
</select>
<select id="queryMemberTeamInfoList" resultType="com.hzs.member.base.vo.MemberTeamVo">
select
level,cm.MEMBER_NAME memberName,cm.MEMBER_CODE memberCode,m.A_NEW_PV afirstPv,m.B_NEW_PV bfirstPv,m.REP_A_SUM_PV repASumPv,m.REP_B_SUM_PV repBSumPv,
m.A_SUM_REAL_PV aSumRealPv, m.B_SUM_REAL_PV bSumRealPv,
cm.PK_AWARDS pkAwards,cm.PK_ID memberId,cm.PLACE_DEPT placeDept ,m.REPURCHASE_PV repurchasePv ,cm.PK_PLACE_PARENT pkPlaceParent,
mb.REAL_INCOME_TOTAL realIncomeTotal,m.REPURCHASE_AMOUNT repurchaseAmount,
a.loginNumber,
a.lastLoginTime,
cm.CREATION_TIME creationTime,cm.PAY_TIME payTime ,cm.DIRECT_PUSH_NUMBER directPushNumber
from cu_member cm
left join (
select count(ml.PK_ID) loginNumber,PK_MEMBER, max(ml.LOGIN_TIME) lastLoginTime
from CU_MEMBER_LOGIN ml
where ml.STATUS = 0
group by PK_MEMBER
) a on a.PK_MEMBER = cm.PK_ID
left join ${settleTableName} m on cm.PK_ID = m.PK_MEMBER
left join CU_MEMBER_BONUS mb on mb.PK_MEMBER = cm.PK_ID and mb.PERIOD = #{period}
where cm.del_flag = 0
<if test="pkAwards != null">
and cm.PK_AWARDS = #{pkAwards}
</if>
<if test="realIncomeTotal != null">
and mb.REAL_INCOME_TOTAL = #{realIncomeTotal}
</if>
<if test="consanguinityAlgebra != null">
and level = #{consanguinityAlgebra}
</if>
<if test="resettleLevel != null">
and level = #{resettleLevel}
</if>
<if test="placeDept != null">
and cm.PLACE_DEPT = #{placeDept}
</if>
start
with cm.MEMBER_CODE = #{memberCode}
connect by cm.pk_parent = prior cm.pk_id
order by level
</select>
<select id="queryMemberTeamInfoPlaceParentList" resultType="com.hzs.member.base.vo.MemberTeamVo">
select
level,cm.MEMBER_NAME memberName,cm.MEMBER_CODE memberCode,m.A_NEW_PV afirstPv,m.B_NEW_PV bfirstPv,m.REP_A_SUM_PV repASumPv,m.REP_B_SUM_PV repBSumPv,
m.A_SUM_REAL_PV aSumRealPv, m.B_SUM_REAL_PV bSumRealPv,
cm.PK_AWARDS pkAwards,cm.PK_ID memberId,cm.PLACE_DEPT placeDept ,m.REPURCHASE_PV repurchasePv ,cm.PK_PLACE_PARENT pkPlaceParent,
mb.REAL_INCOME_TOTAL realIncomeTotal,m.REPURCHASE_AMOUNT repurchaseAmount,
a.loginNumber,
a.lastLoginTime,
cm.CREATION_TIME creationTime,cm.PAY_TIME payTime ,cm.DIRECT_PUSH_NUMBER directPushNumber
from cu_member cm
left join (
select count(ml.PK_ID) loginNumber,PK_MEMBER, max(ml.LOGIN_TIME) lastLoginTime
from CU_MEMBER_LOGIN ml
where ml.STATUS = 0
group by PK_MEMBER
) a on a.PK_MEMBER = cm.PK_ID
left join ${settleTableName} m on cm.PK_ID = m.PK_MEMBER
left join CU_MEMBER_BONUS mb on mb.PK_MEMBER = cm.PK_ID and mb.PERIOD = #{period}
where cm.del_flag = 0
<if test="realIncomeTotal != null">
and mb.REAL_INCOME_TOTAL = #{realIncomeTotal}
</if>
<if test="pkAwards != null">
and cm.PK_AWARDS = #{pkAwards}
</if>
<if test="consanguinityAlgebra != null">
and level = #{consanguinityAlgebra}
</if>
<if test="resettleLevel != null">
and level = #{resettleLevel}
</if>
<if test="placeDept != null">
and cm.PLACE_DEPT = #{placeDept}
</if>
start
with cm.MEMBER_CODE = #{memberCode}
connect by cm.PK_PLACE_PARENT = prior cm.pk_id
order by level
where t.del_flag = 0
</select>
</mapper>

View File

@ -1,6 +1,5 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;
@ -16,26 +15,6 @@ public enum ECardType {
*/
CARD(1, "身份证", 0),
/**
* 军官证
*/
OFFICER(2, "军官证", 0),
/**
* 学生证
*/
STUDENT(3, "学生证", 0),
/**
* 驾驶证
*/
DRIVE(4, "驾驶证", 0),
/**
* 护照
*/
PASSPORT(5, "护照", 0),
;
/**
@ -51,13 +30,4 @@ public enum ECardType {
*/
private final int enable;
public static String getCardType(int value) {
for (ECardType eCardType : ECardType.values()) {
if (eCardType.getValue() == value) {
return eCardType.getLabel();
}
}
return null;
}
}

View File

@ -40,13 +40,15 @@ public enum EIdType {
*/
private final String key;
public static String getLabel(int value){
public static String getLabelByValue(Integer value) {
if (null == value) {
return "";
}
for (EIdType eIdType : EIdType.values()) {
if (eIdType.getValue() == value){
if (eIdType.getValue() == value) {
return eIdType.getLabel();
}
}
return null;
return "";
}
}

View File

@ -1,6 +1,5 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.utils.StringUtils;
import lombok.AllArgsConstructor;
import lombok.Getter;
@ -15,17 +14,17 @@ public enum ESex {
/**
* 未知
*/
UNKNOWN(0, "未知", 0, EnumsPrefixConstants.SEX + "0"),
UNKNOWN(0, "未知", 0),
/**
*
*/
MAN(1, "", 0, EnumsPrefixConstants.SEX + "1"),
MAN(1, "", 0),
/**
*
*/
WOMAN(2, "", 0, EnumsPrefixConstants.SEX + "2"),
WOMAN(2, "", 0),
;
@ -41,18 +40,17 @@ public enum ESex {
* 是否启用0=,1= -- 来源EYesNo
*/
private final int enable;
/**
* 国际化翻译key值
*/
private final String key;
public static String getSex(int value) {
public static String getLabelByValue(Integer value) {
if (null == value) {
return "";
}
for (ESex sex : ESex.values()) {
if (sex.getValue() == value) {
return sex.getLabel();
}
}
return null;
return "";
}

View File

@ -11,12 +11,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员转账表
* </p>
*
* @author hzs
* @since 2022-09-06
*/
@Data
@Builder

View File

@ -12,12 +12,7 @@ import java.math.BigDecimal;
import java.util.List;
/**
* <p>
* 会员转账表
* </p>
*
* @author hzs
* @since 2022-09-06
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 会员团队配置
* </p>
*
* @author hzs
* @since 2022-09-01
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ -63,8 +58,4 @@ public class CuMemberTeam extends BaseEntity {
private Integer pkTransaction;
}