## 短信改为用会员ID做校验;实名认证迁移;

This commit is contained in:
cabbage 2025-08-12 14:02:27 +08:00
parent 416977db55
commit 9be9647f6d
74 changed files with 441 additions and 2992 deletions

View File

@ -6,12 +6,6 @@ import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* 自助服务
*
* @Description:
* @Author: ljc
* @Time: 2023/4/19 16:09
* @Classname: ICuSelfServiceServiceApi
* @Package_name: com.hzs.member.self
*/
public interface ICuSelfServiceServiceApi {

View File

@ -7,13 +7,6 @@ import com.hzs.system.config.dto.TradeConfigDTO;
import java.util.List;
/**
* @Description:
* @Author: ljc
* @Time: 2023/8/21 15:05
* @Classname: ITradeConfigApi
* @Package_name: com.hzs.system.config
*/
public interface ITradeConfigServiceApi {
/**
@ -32,7 +25,6 @@ public interface ITradeConfigServiceApi {
*/
R<BdTradeWhiteConfig> selectTradeWhiteConfigByCondition(TradeConfigDTO tradeConfigDTO);
/**
* 根据会员ID查询账户白名单
*
@ -42,7 +34,6 @@ public interface ITradeConfigServiceApi {
*/
R<List<Integer>> selectTransferWhiteByPkMember(Long pkMember, Integer pkCountry);
/**
* 查询配置伞下白名单的会员
*
@ -51,5 +42,4 @@ public interface ITradeConfigServiceApi {
*/
R<List<Long>> selectTradeWhiteConfigByUnderBlood(TradeConfigDTO tradeConfigDTO);
}

View File

@ -9,19 +9,15 @@ import java.io.Serializable;
/**
* 交易配置DTO
*
* @Description:
* @Author: ljc
* @Time: 2023/8/21 15:30
* @Classname: TradeConfigDTO
* @Package_name: com.hzs.system.config.dto
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TradeConfigDTO implements Serializable {
private static final long serialVersionUID = -5961829479214505354L;
/**
* 注册等级
*/
@ -30,25 +26,21 @@ public class TradeConfigDTO implements Serializable {
/**
* 真实奖衔
*/
private Integer pkAwards;
/**
* 1:提现 2:转账 (来源枚举EBusinessModule)
*/
private Integer businessModule;
/**
* 实名状态 1:禁止 0允许 (来源枚举EYesNo)
*/
private Integer realNameState;
/**
* 营业执照状态 1:禁止 0允许 (来源枚举EYesNo)
*/
private Integer licenseState;
/**
@ -75,4 +67,5 @@ public class TradeConfigDTO implements Serializable {
* 会员类型 1:正常 2伞下来源枚举ETradeMemberWhite
*/
private Integer memberType;
}

View File

@ -8,11 +8,7 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Description: 业务操作日志DTO
* @Author: jiang chao
* @Time: 2023/8/2 11:30
* @Classname: BusinessLogDTO
* @PackageName: com.hzs.system.sys.dto
* 业务操作日志DTO
*/
@Builder
@NoArgsConstructor

View File

@ -1,15 +1,17 @@
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;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.system.config.BdTradeConfig;
import com.hzs.common.domain.system.config.BdTradeWhiteConfig;
import com.hzs.common.security.utils.SecurityUtils;
@ -18,7 +20,7 @@ import com.hzs.member.account.service.ICuMemberAuthenticationService;
import com.hzs.member.account.service.ICuMemberBaseService;
import com.hzs.member.account.vo.CuMemberAuthenticationVO;
import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.sms.service.IApiCodeService;
import com.hzs.member.sms.service.IApiAliSmsService;
import com.hzs.third.idcard.IdCardServiceApi;
import com.hzs.third.idcard.dto.IdCardOcrDTO;
import org.apache.dubbo.config.annotation.DubboReference;
@ -26,7 +28,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
/**
@ -37,7 +38,7 @@ import java.time.format.DateTimeFormatter;
public class ApiCuMemberAuthenticationController extends BaseController {
@Autowired
private IApiCodeService iApiCodeService;
private IApiAliSmsService iApiAliSmsService;
@Autowired
private ICuMemberAuthenticationService iCuMemberAuthenticationService;
@Autowired
@ -48,6 +49,31 @@ public class ApiCuMemberAuthenticationController extends BaseController {
@DubboReference
IdCardServiceApi idCardServiceApi;
/**
* 是否需要实名认证
*
* @param businessModule 1:提现 2:转账 (来源枚举EBusinessModule)
* @return AjaxResult
*/
@GetMapping("/is-auth")
public AjaxResult isAuth(Integer businessModule) {
String flag = EYesNo.YES.getValue();
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
// 是否配置提现转账白名单
BdTradeWhiteConfig bdTradeWhiteConfig = iCuMemberBaseService.selectConfigWhite(pkMember, pkCountry, businessModule);
if (isStopStatus(businessModule, bdTradeWhiteConfig)) {
// 查询配置实名认证
BdTradeConfig bdTradeConfig = iCuMemberBaseService.selectConfigTrade(pkMember, pkCountry, businessModule, EVerificationModule.REAL_NAME);
// 配置后才进行验证
if (null != bdTradeConfig) {
//查询是否已实名认证
CuMemberAuthenticationVO authenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(CuMemberAuthenticationVO.builder().pkMember(pkMember).pkCountry(pkCountry).build());
flag = null == authenticationVO ? EYesNo.NO.getValue() : EYesNo.YES.getValue();
}
}
return AjaxResult.success().put("flag", flag);
}
/**
* 调用身份证OCR接口
@ -72,7 +98,6 @@ public class ApiCuMemberAuthenticationController extends BaseController {
return AjaxResult.error(result.getMsg());
}
/**
* 调用身份证OCR反面接口
*
@ -100,7 +125,6 @@ public class ApiCuMemberAuthenticationController extends BaseController {
ThreadUtils.threadPoolExecutor.submit(() -> OssUtil.deleteFile(idCardUrl));
}
return AjaxResult.error(result.getMsg());
}
/**
@ -115,65 +139,48 @@ public class ApiCuMemberAuthenticationController extends BaseController {
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
//查询是否已实名
CuMemberAuthenticationVO queryAuthenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(CuMemberAuthenticationVO.builder().pkMember(pkMember).pkCountry(pkCountry).build());
if (null != queryAuthenticationVO) {
return AjaxResult.error(FinanceMsgConstants.MEMBER_REAL_NAME);
}
// 验证码是否为空
String verificationCode = authenticationVO.getVerificationCode();
if (StringUtils.isEmpty(verificationCode)) {
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.VERIFICATION_CODE_CANNOT_EMPTY));
}
//真实姓名
// 真实姓名
String accountName = authenticationVO.getAccountName();
if (StringUtils.isEmpty(accountName)) {
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.REAL_NAME_CANNOT_EMPTY));
}
if (StringUtils.isEmpty(authenticationVO.getIdFront())) {
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.ID_FRONT_CANNOT_EMPTY));
}
if (StringUtils.isEmpty(authenticationVO.getIdBack())) {
return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.ID_BACK_CANNOT_EMPTY));
}
if (StringUtils.isEmpty(authenticationVO.getAddress())) {
return AjaxResult.error("详细地址不能为空!");
}
// 查询是否已实名
CuMemberAuthenticationVO queryAuthenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(CuMemberAuthenticationVO.builder().pkMember(pkMember).pkCountry(pkCountry).build());
if (null != queryAuthenticationVO) {
return AjaxResult.error(FinanceMsgConstants.MEMBER_REAL_NAME);
}
// 真实姓名与注册的会员姓名不一致
CuMember member = iCuMemberService.getMember(pkMember);
if (!member.getMemberName().equals(accountName)) {
return AjaxResult.error("真实姓名与会员姓名不一致");
}
String message = iApiCodeService.checkCode(authenticationVO.getPhone(), verificationCode, null);
String message = iApiAliSmsService.checkCode(authenticationVO.getPhone(), verificationCode, null, member.getPkId());
if (null != message) {
return AjaxResult.error(message);
}
// 从身份证获取出生日期
authenticationVO.setBirthDate(DateUtils.parseDateOne(IdcardUtil.getBirthByIdCard(authenticationVO.getIdCard()), DateUtils.YAMMER));
authenticationVO.setPkCountry(pkCountry);
authenticationVO.setPkMember(pkMember);
return toAjax(iCuMemberAuthenticationService.saveAuthentication(authenticationVO));
}
/**
* 是否需要实名认证
*
* @param businessModule 1:提现 2:转账 (来源枚举EBusinessModule)
* @return AjaxResult
*/
@GetMapping("/is-auth")
public AjaxResult isAuth(Integer businessModule) {
String flag = EYesNo.YES.getValue();
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
//查询是否配置了实名认证白名单
BdTradeWhiteConfig bdTradeWhiteConfig = iCuMemberBaseService.selectConfigWhite(pkMember, pkCountry, businessModule);
if (isStopStatus(businessModule, bdTradeWhiteConfig)) {
//查询配置实名认证
BdTradeConfig bdTradeConfig = iCuMemberBaseService.selectConfigTrade(pkMember, pkCountry, businessModule, EVerificationModule.REAL_NAME);
//配置后才进行验证
if (null != bdTradeConfig) {
//查询是否已实名认证
CuMemberAuthenticationVO authenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(CuMemberAuthenticationVO.builder().pkMember(pkMember).pkCountry(pkCountry).build());
flag = null == authenticationVO ? EYesNo.NO.getValue() : EYesNo.YES.getValue();
}
}
return AjaxResult.success().put("flag", flag);
}
/**
* 查询白名单的配置状态
*
@ -191,7 +198,6 @@ public class ApiCuMemberAuthenticationController extends BaseController {
return businessModule.equals(EBusinessModule.TRANSFER_ACCOUNTS.getValue()) && bdTradeWhiteConfig.getTransferState().equals(EYesNo.NO.getIntValue());
}
/**
* 查看详情
*
@ -205,69 +211,4 @@ public class ApiCuMemberAuthenticationController extends BaseController {
return AjaxResult.success(authenticationVO);
}
/**
* 协议处理校验实名
*
* @return
*/
@GetMapping("/agreement-real-name")
public AjaxResult agreementRealName() {
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
// 查询实名认证信息
CuMemberAuthenticationVO authenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(CuMemberAuthenticationVO.builder().pkMember(pkMember).pkCountry(pkCountry).build());
if (null != authenticationVO) {
// 存在实名认证信息则返回成功
return AjaxResult.success("", EYesNo.YES.getIntValue());
}
return AjaxResult.success("", EYesNo.YES.getIntValue());
}
/**
* 是否显示续约
*
* @return AjaxResult
*/
@GetMapping("/is-expire")
public AjaxResult isExpire() {
int flag = EYesNo.NO.getIntValue();
Long pkMember = SecurityUtils.getUserId();
CuMemberExt member = iCuMemberService.getMemberById(pkMember);
Integer isRealName = member.getIsRealName();
//未实名
if (isRealName.equals(flag)) {
return AjaxResult.success().put("flag", flag);
}
//到期日期
LocalDate expireDate = member.getExpireDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//到期三个月
LocalDate beforeMonthDate = expireDate.minusMonths(3);
LocalDate localDate = LocalDate.now();
if (localDate.equals(beforeMonthDate) || localDate.isAfter(beforeMonthDate)) {
flag = EYesNo.YES.getIntValue();
}
return AjaxResult.success().put("flag", flag);
}
/**
* 续约
*
* @return AjaxResult
*/
@GetMapping("/renewal_contract")
public AjaxResult renewalContract() {
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
//查询是否已实名
CuMemberAuthenticationVO queryAuthenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(CuMemberAuthenticationVO.builder().pkMember(pkMember).pkCountry(pkCountry).build());
if (null == queryAuthenticationVO) {
return AjaxResult.error(FinanceMsgConstants.MEMBER_NOT_REAL_NAME);
}
return toAjax(iCuMemberAuthenticationService.memberRenewalContract(pkMember));
}
}

View File

@ -7,7 +7,6 @@ import com.hzs.common.core.constant.msg.FinanceMsgConstants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EBusinessModule;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
@ -20,7 +19,7 @@ import com.hzs.member.account.service.ICuMemberBankService;
import com.hzs.member.account.service.ICuMemberBaseService;
import com.hzs.member.account.service.ICuMemberWithdrawService;
import com.hzs.member.account.vo.CuMemberBankVO;
import com.hzs.member.sms.service.IApiCodeService;
import com.hzs.member.sms.service.IApiAliSmsService;
import com.hzs.third.bankcard.IBankCardServiceApi;
import com.hzs.third.bankcard.dto.BankCardParam;
import org.apache.dubbo.config.annotation.DubboReference;
@ -28,14 +27,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
* 会员银行卡 前端控制器
*
* @author hzs
* @since 2022-09-06
*/
@RestController
@RequestMapping("/api/bank")
@ -44,11 +39,11 @@ public class ApiCuMemberBankController extends BaseController {
@Autowired
private ICuMemberBankService cuMemberBankService;
@Autowired
private IApiCodeService iApiCodeService;
@Autowired
private ICuMemberBaseService iCuMemberBaseService;
@Autowired
private ICuMemberWithdrawService cuMemberWithdrawService;
@Autowired
private IApiAliSmsService iApiAliSmsService;
@DubboReference
IBankCardServiceApi bankCardServiceApi;
@ -151,7 +146,7 @@ public class ApiCuMemberBankController extends BaseController {
String cardNumber = cuMemberBankParam.getCardNumber();
cuMemberBankParam.setCardNumber(StringUtils.deleteWhitespace(cardNumber));
String message = iApiCodeService.checkCode(cuMemberBankParam.getPhone(), verificationCode, null);
String message = iApiAliSmsService.checkCode(cuMemberBankParam.getPhone(), verificationCode, null, pkMember);
if (null != message) {
return AjaxResult.error(message);
}

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

@ -19,14 +19,6 @@ public interface ICuMemberAuthenticationService extends IService<CuMemberAuthent
*/
Boolean saveAuthentication(CuMemberAuthenticationVO authenticationVO);
/**
* 会员续约
*
* @param pkMember 会员ID
* @return Boolean
*/
Boolean memberRenewalContract(Long pkMember);
/**
* 查询实名认证详情
*

View File

@ -9,14 +9,10 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
import java.util.List;
/**
* <p>
* 会员信息-银行卡信息 服务类
* </p>
*
* @author hzs
* @since 2022-08-31
*/
public interface ICuMemberBankService extends IService<CuMemberBank> {
/**
* 根据主键查询银行卡信息
*
@ -36,8 +32,8 @@ public interface ICuMemberBankService extends IService<CuMemberBank> {
/**
* 解绑银行卡
*
* @param pkId 银行卡ID
* @param pkMember 会员ID
* @param pkId 银行卡ID
* @param pkMember 会员ID
* @return Boolean
*/
Boolean unbindBank(Long pkId, Long pkMember);
@ -50,7 +46,6 @@ public interface ICuMemberBankService extends IService<CuMemberBank> {
*/
Integer saveMemberBank(CuMemberBankParam cuMemberBankParam);
/**
* 查询绑定的银行卡
*

View File

@ -1,24 +1,16 @@
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,16 +73,15 @@ public interface ICuMemberTransferService extends IService<CuMemberTransfer> {
*/
BdTransfer getBdTransfer(Integer pkCountry);
/**
* 保存转账
*
* @param cuMemberTransfer 转账信息
* @param cuMemberAccount 转出的账户信息
* @param toMemberAccount 转入的账户信息
* @param cuMemberAccount 转出的账户信息
* @param toMemberAccount 转入的账户信息
* @return Integer
*/
Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount,CuMemberAccount toMemberAccount);
Integer saveMemberTransferInfo(CuMemberTransfer cuMemberTransfer, CuMemberAccount cuMemberAccount, CuMemberAccount toMemberAccount);
/**
* 根据条件查询转账列表

View File

@ -1,6 +1,5 @@
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.CuMemberWithdraw;
@ -14,14 +13,10 @@ import java.math.BigDecimal;
import java.util.List;
/**
* <p>
* 会员提现表 服务类
* </p>
*
* @author hzs
* @since 2022-09-06
*/
public interface ICuMemberWithdrawService extends IService<CuMemberWithdraw> {
/**
* 根据用户ID查询用户的提现次数
*
@ -63,7 +58,6 @@ public interface ICuMemberWithdrawService extends IService<CuMemberWithdraw> {
*/
Integer updateWithdrawByCode(MemberAccountAudit memberAccountAudit);
/**
* 查询列表信息
*
@ -72,7 +66,6 @@ public interface ICuMemberWithdrawService extends IService<CuMemberWithdraw> {
*/
Object[] selectMemberWithdrawList(CuMemberWithdrawVO cuMemberWithdrawVO);
/**
* 查询提现信息详情
*
@ -97,7 +90,6 @@ public interface ICuMemberWithdrawService extends IService<CuMemberWithdraw> {
*/
Integer withdrawPaymentPositiveByPkId(CuMemberWithdrawVO memberWithdrawVO);
/**
* 获取余额
*
@ -214,6 +206,7 @@ public interface ICuMemberWithdrawService extends IService<CuMemberWithdraw> {
/**
* 提现驳回
*
* @param param
*/
void withdrawReject(CuMemberWithdrawRejectParam param);

View File

@ -5,11 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.enums.EServiceStatus;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.domain.member.account.CuMemberAuthentication;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.account.mapper.CuMemberAuthenticationMapper;
import com.hzs.member.account.service.ICuMemberAuthenticationService;
import com.hzs.member.account.vo.CuMemberAuthenticationVO;
@ -18,8 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
import java.util.List;
@ -60,20 +55,6 @@ public class CuMemberAuthenticationServiceImpl extends ServiceImpl<CuMemberAuthe
return iCuMemberService.update(updateWrapper);
}
@Override
public Boolean memberRenewalContract(Long pkMember) {
CuMemberExt member = iCuMemberService.getMemberById(SecurityUtils.getUserId());
//到期日期
LocalDate expireDate = member.getExpireDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(CuMember::getServiceAgreement, EServiceStatus.SIGNED.getValue());
updateWrapper.set(CuMember::getExpireDate, DateUtils.toDate(expireDate.plusYears(1).atStartOfDay()));
updateWrapper.set(CuMember::getModifiedTime, new Date());
updateWrapper.set(CuMember::getPkModified, pkMember);
updateWrapper.eq(CuMember::getPkId, pkMember);
return iCuMemberService.update(updateWrapper);
}
@Override
public CuMemberAuthenticationVO selectCuMemberAuthenticationByPkMember(CuMemberAuthenticationVO authenticationVO) {
CuMemberAuthentication authentication = baseMapper.selectAuthenticationByPkMember(authenticationVO);

View File

@ -78,7 +78,6 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
return iCurrencyServiceApi.getByHistoryPkId(pkId).getData();
}
@Override
public BdAccount getAccount(Integer pkId) {
return iAccountServiceApi.getAccount(pkId).getData();
@ -95,7 +94,6 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
return awardsKey == null ? pkAccount : awardsKey.getPkTransactionKey();
}
@Override
public Integer getAccountValueById(Integer pkAccount) {
BdAccount bdAccount = getAccount(pkAccount);
@ -121,7 +119,6 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
iCuMemberTradeDetailService.batchInsertMemberTradeDetailFromTrade(sourceCode, cuMemberSettlePeriodByDate.getPkId());
}
@Override
public void handleMemberTradeDetailAndBonus(List<CuMemberAccount> memberAccountList, String sourceCode, Map<Long, Long> idsMap, Integer module) {
//查询充值奖金币的交易流水
@ -135,7 +132,6 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
}
}
@Override
public void handleRepeatMemberTradeDetailAndBonus(List<CuMemberAccountRechargeExt> memberAccountList, Integer module) {
for (CuMemberAccountRechargeExt cuMemberAccount : memberAccountList) {
@ -186,7 +182,6 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
//插入奖金发放流水
iCuMemberTradeBonusService.save(bonus);
}
}
@ -319,11 +314,12 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
@Override
public BdTradeWhiteConfig selectConfigWhite(Long pkMember, Integer pkCountry, Integer businessModule) {
TradeConfigDTO whiteDTO = TradeConfigDTO.builder().pkMember(pkMember).pkCountry(pkCountry).memberType(ETradeMemberWhite.BLOOD_UNDER_UMBRELLA.getValue()).build();
//查询个人配置实名认证白名单
// 查询个人配置实名认证白名单
BdTradeWhiteConfig whiteConfig = tradeConfigServiceApi.selectTradeWhiteConfigByCondition(whiteDTO).getData();
if (null != whiteConfig) {
return whiteConfig;
} else {//查询伞下配置白名单
} else {
// 查询伞下配置白名单
return iCuMemberService.selectMemberByUnderBlood(pkMember, ETradeMemberWhite.BLOOD_UNDER_UMBRELLA.getValue());
}
}
@ -340,7 +336,7 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
} else {
tradeConfigDTO.setLicenseState(EYesNo.YES.getIntValue());
}
//查询配置是否实名认证
// 查询配置是否实名认证
return tradeConfigServiceApi.selectTradeConfigByCondition(tradeConfigDTO).getData();
}
@ -362,7 +358,6 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
return result;
}
@Override
public void operationLogMQ(List<BusinessLogDTO> businessLogDTOList) {
rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, businessLogDTOList);
@ -373,7 +368,6 @@ public class CuMemberBaseServiceImpl implements ICuMemberBaseService {
return cuMember.getMemberCode();
}
@Override
public String getMemberNameByVertex(CuMember cuMember) {
return cuMember.getMemberName();

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,13 +152,12 @@ 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 +166,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 +180,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 +199,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 +219,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 +236,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 +255,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 +273,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 +282,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 +292,6 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
}
@Override
public Object[] selectMemberTransferList(CuMemberTransferVO cuMemberTransferVO) {
CuMemberTransferVO memberTransferVO;
@ -319,11 +305,9 @@ public class CuMemberTransferServiceImpl extends ServiceImpl<CuMemberTransferMap
cuMemberTransferVOS.add(memberTransferVO);
}
}
Object[] objects = new Object[]{cuMemberTransferExts, cuMemberTransferVOS};
return objects;
return new Object[]{cuMemberTransferExts, cuMemberTransferVOS};
}
/**
* 页面显示公用参数
*
@ -335,17 +319,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,23 +8,18 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* 实名认证VO
*
* @Description:
* @Author: ljc
* @Time: 2023/4/17 13:52
* @Classname: CuMemberAuthenticationVO
* @Package_name: com.hzs.member.account.vo
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberAuthenticationVO implements Serializable {
private static final long serialVersionUID = 4142922801656536607L;
private static final long serialVersionUID = 4142922801656536607L;
/**
* 主键
@ -158,4 +153,9 @@ public class CuMemberAuthenticationVO implements Serializable {
*/
private String idCardBackUrl;
/**
* 出生日期
*/
private Date birthDate;
}

View File

@ -2,8 +2,6 @@ package com.hzs.member.base.controller.api;
import cn.hutool.core.collection.CollectionUtil;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.constant.msg.CommonMsgConstants;
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
import com.hzs.common.core.constant.msg.MemberMsgConstants;
@ -19,7 +17,6 @@ import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.detail.CuMemberChangeLog;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.service.ITransactionCommonService;
import com.hzs.common.util.TransactionUtils;
import com.hzs.member.base.param.ForgetPasswordParam;
import com.hzs.member.base.param.MemberDataParam;
@ -27,9 +24,7 @@ import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.base.service.IMemberInfoService;
import com.hzs.common.core.utils.UploadFileUtil;
import com.hzs.member.base.vo.*;
import com.hzs.member.sms.service.IApiCodeService;
import com.hzs.system.base.ICurrencyServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.member.sms.service.IApiAliSmsService;
import com.hzs.system.config.IGradeServiceApi;
import com.hzs.system.config.dto.GradeDTO;
import lombok.extern.slf4j.Slf4j;
@ -39,7 +34,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.*;
/**
@ -50,33 +44,15 @@ import java.util.*;
@RestController
public class ApiMemberController extends BaseController {
@Autowired
private ITransactionCommonService iTransactionCommonService;
@Autowired
private IMemberInfoService iMemberInfoService;
@Autowired
private ICuMemberService iCuMemberService;
@Autowired
private IApiCodeService iApiCodeService;
private IApiAliSmsService iApiAliSmsService;
@DubboReference
IGradeServiceApi gradeServiceApi;
@DubboReference
ICurrencyServiceApi currencyServiceApi;
// /**
// * 获取登录会员信息
// *
// * @return
// */
// @GetMapping("/get-info")
// public AjaxResult getInfo() {
// MemberInfoVO memberInfo = iMemberInfoService.getMemberInfo(SecurityUtils.getUserId());
// if (null == memberInfo) {
// return AjaxResult.error();
// }
// return AjaxResult.success(memberInfo);
// }
IGradeServiceApi iGradeServiceApi;
/**
* 更新个人资料昵称
@ -261,7 +237,7 @@ public class ApiMemberController extends BaseController {
Long memberId = cuMemberExt.getPkId();
// 校验短信验证码是否有效
String checkSmsStr = iApiCodeService.checkRecoverCode(param.getPhone(), param.getCode());
String checkSmsStr = iApiAliSmsService.checkRecoverCode(param.getPhone(), param.getCode(), memberId);
if (null != checkSmsStr) {
return AjaxResult.error(checkSmsStr);
}
@ -306,7 +282,7 @@ public class ApiMemberController extends BaseController {
Long memberId = cuMemberExt.getPkId();
// 校验短信验证码是否有效
String checkSmsStr = iApiCodeService.checkPayPasswordCode(cuMemberExt.getPhone(), param.getCode());
String checkSmsStr = iApiAliSmsService.checkPayPasswordCode(cuMemberExt.getPhone(), param.getCode(), memberId);
if (null != checkSmsStr) {
return AjaxResult.error(checkSmsStr);
}
@ -356,18 +332,10 @@ public class ApiMemberController extends BaseController {
/**
* 会员 推荐列表直推列表
*
* @return
*/
@GetMapping("parent-list")
public TableDataInfo parentList(String memberCode, String memberName, Date startCreateTime, Date endCreateTime, String memberInfo) {
Long memberId = SecurityUtils.getUserId();
// 查询等级
Integer pkCountry = SecurityUtils.getPkCountry();
R<List<GradeDTO>> grderDate = gradeServiceApi.findAll();
List<GradeDTO> grderList = grderDate.getData();
if (endCreateTime != null) {
endCreateTime = DateUtils.getEndTime(endCreateTime);
}
@ -376,27 +344,21 @@ public class ApiMemberController extends BaseController {
List<ParentMemberVo> list = iCuMemberService.parentList(memberId, memberCode, memberName, startCreateTime, endCreateTime, memberInfo);
if (CollectionUtil.isNotEmpty(list)) {
Map<Integer, String> transactionMap = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE);
R<CurrencyDTO> currency = currencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
BigDecimal inExchangeRate = currency.getData().getInExchangeRate();
R<List<GradeDTO>> gradeDate = iGradeServiceApi.findAll();
List<GradeDTO> gradeList = gradeDate.getData();
for (ParentMemberVo cuMember : list) {
cuMember.setMemberCode(cuMember.getMemberCode());
cuMember.setMemberName(cuMember.getMemberName());
for (GradeDTO gradeDTO : grderList) {
for (GradeDTO gradeDTO : gradeList) {
if (gradeDTO.getPkId().equals(cuMember.getPkRegisterGrade())) {
cuMember.setPkRegisterGradeStr(transactionMap.get(gradeDTO.getPkTransaction()));
cuMember.setPkRegisterGradeStr(gradeDTO.getGradeName());
}
}
for (GradeDTO gradeDTO : grderList) {
for (GradeDTO gradeDTO : gradeList) {
if (gradeDTO.getPkId().equals(cuMember.getPkSettleGrade())) {
cuMember.setPkSettleGradeStr(transactionMap.get(gradeDTO.getPkTransaction()));
}
}
if (pkCountry.equals(CountryConstants.CHINA_COUNTRY)) {
if (cuMember.getConsumeAchieve() != null) {
cuMember.setConsumeAchieve(cuMember.getConsumeAchieve().multiply(inExchangeRate));
cuMember.setPkSettleGradeStr(gradeDTO.getGradeName());
}
}
}

View File

@ -3,16 +3,12 @@ package com.hzs.member.base.controller.manage;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.codec.Base64Encoder;
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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.common.core.annotation.AccessPermissions;
import com.hzs.common.core.annotation.ColumnAuthority;
import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.constant.TableNameConstants;
import com.hzs.common.core.constant.VertexConstants;
import com.hzs.common.core.constant.msg.MemberMsgConstants;
import com.hzs.common.core.domain.R;
@ -23,9 +19,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;
@ -33,20 +26,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;
@ -64,7 +51,6 @@ import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@RequestMapping("/manager/member")
@ -72,17 +58,7 @@ import java.util.stream.Collectors;
public class CuMemberController extends BaseController {
@Autowired
private ICuMemberWithdrawService memberWithdrawService;
@Autowired
private ICuMemberSettlePeriodService memberSettlePeriodService;
@Autowired
private ICuMemberTransferService memberTransferService;
@Autowired
private ICuMemberService cuMemberService;
@Autowired
private ICuMemberTeamService memberTeamService;
@Autowired
private ICuMemberTreeService memberTreeService;
private ICuMemberService iCuMemberService;
@Autowired
private ITransactionCommonService iTransactionCommonService;
@Autowired
@ -97,15 +73,13 @@ public class CuMemberController extends BaseController {
@DubboReference
IGradeServiceApi iGradeServiceApi;
@DubboReference
IAreaServiceApi iAreaServiceApi;
@DubboReference
ICurrencyServiceApi iCurrencyServiceApi;
@DubboReference
IMenuColumnServiceApi iMenuColumnServiceApi;
@Autowired
public void setCuMemberService(ICuMemberService cuMemberService) {
this.cuMemberService = cuMemberService;
public void setCuMemberService(ICuMemberService iCuMemberService) {
this.iCuMemberService = iCuMemberService;
}
@ -169,17 +143,12 @@ public class CuMemberController extends BaseController {
/**
* 真实信息
*
* @author: zhang jing
* @date: 2022/11/15 17:59
* @param: [memberParam]
* @return: com.hzs.common.core.web.page.TableDataInfo
**/
@Log(module = EOperationModule.MEMBER_INFORMATION, business = EOperationBusiness.MEMBER_INFO_REAL, method = EOperationMethod.SELECT)
@PostMapping("/real-member")
public TableDataInfo realMember(@RequestBody CuMemberVO memberParam) {
memberParam.setPkCountry(SecurityUtils.getPkCountry());
List<CuMemberVO> cuMemberVOS = cuMemberService.realCuMemberByCondition(memberParam);
List<CuMemberVO> cuMemberVOS = iCuMemberService.realCuMemberByCondition(memberParam);
if (CollectionUtil.isNotEmpty(cuMemberVOS)) {
for (CuMemberVO cvo : cuMemberVOS) {
if (cvo.getSex() == ESex.MAN.getValue()) {
@ -191,18 +160,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());
}
}
}
return getDataTable(cuMemberVOS);
@ -210,15 +167,10 @@ public class CuMemberController extends BaseController {
/**
* 根据会员编号查询会员信息
*
* @author: zhang jing
* @date: 2022/11/9 18:25
* @param: [pkId]
* @return: com.hzs.common.core.web.domain.AjaxResult
**/
@GetMapping("/getOne/{memberCode}")
public AjaxResult getOne(@PathVariable String memberCode) {
CuMember cuMember = cuMemberService.getMember(memberCode);
CuMember cuMember = iCuMemberService.getMember(memberCode);
return AjaxResult.success(cuMember);
}
@ -277,7 +229,7 @@ public class CuMemberController extends BaseController {
* @param param
*/
private void handleMemberSelect(List<MemberSelectVO> resultList, MemberSelectParam param) {
List<CuMemberExt> cuMemberExtList = cuMemberService.queryMemberSelect(param, SecurityUtils.getPkCountry());
List<CuMemberExt> cuMemberExtList = iCuMemberService.queryMemberSelect(param, SecurityUtils.getPkCountry());
if (CollectionUtil.isNotEmpty(cuMemberExtList)) {
for (CuMemberExt cuMemberExt : cuMemberExtList) {
MemberSelectVO memberSelectVO = BeanUtil.copyProperties(cuMemberExt, MemberSelectVO.class);
@ -307,41 +259,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 = cuMemberService.selectByMemberRealInfo(memberRealInfoParam);
List<MemberRealInfoVO> resultList = iCuMemberService.selectByMemberRealInfo(memberRealInfoParam);
if (CollectionUtil.isNotEmpty(resultList)) {
//数据库内容翻译
Map<Integer, String> transactionMap1 = iTransactionCommonService.exportEnumTransactionByDB(EnumsPrefixConstants.KEY_GRADE,
EnumsPrefixConstants.KEY_AWARD);
R<List<BdAwards>> awardsListDate = iAwardsServiceApi.queryAwards(SecurityUtils.getPkCountry());
// 奖衔
R<List<BdAwards>> awardsListDate = iAwardsServiceApi.queryAwards(SecurityUtils.getPkCountry());
List<BdAwards> awardsList = awardsListDate.getData();
R<List<GradeDTO>> gradeListDate = iGradeServiceApi.queryGradeList(SecurityUtils.getPkCountry());
// 等级
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) {
cuMemberExt.setRegisterGradeVal(transactionMap1.get(cuMemberExt.getPkRegisterGrade()));
cuMemberExt.setSettleGradeVal(transactionMap1.get(cuMemberExt.getPkSettleGrade()));
cuMemberExt.setAwardsVal(transactionMap1.get(cuMemberExt.getPkAwards()));
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) {
@ -366,215 +295,16 @@ 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) {
// 昨日
time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtil.offsetDay(new Date(), -1));
csPeriod = memberSettlePeriodService.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 = memberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
if (queryDate.equals(currentDate)) {
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
} else {
// 历史
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
}
}
// 如果表格不存在则返回空数据
Integer tableNumber = memberTreeService.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 = memberTeamService.queryMemberTeamInfoList(memberTeamInfoParam);
} else {
// 安置
memberTeamList = memberTeamService.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 (memberTeamVo.getPkPlaceParent() != null) {
CuMember member = cuMemberService.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 = memberTreeService.queryCuMemberTreeParentTableCount(settleTableName, memberTeamVo.getMemberId());
memberTeamVo.setDirectPushPeopleNumber(directPushPeopleNumber);
// 转账次数
LambdaQueryWrapper<CuMemberTransfer> qew = new LambdaQueryWrapper<>();
qew.eq(CuMemberTransfer::getPkMember, memberTeamVo.getMemberId());
int memberTransferCount = memberTransferService.count(qew);
memberTeamVo.setMemberTransferCount(memberTransferCount);
// 提现次数
LambdaQueryWrapper<CuMemberWithdraw> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CuMemberWithdraw::getPkMember, memberTeamVo.getMemberId());
int memberWithdrawCount = memberWithdrawService.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 = memberSettlePeriodService.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 = memberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
if (queryDate.equals(currentDate)) {
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
} else {
// 历史
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + csPeriod.getPkId();
}
}
// 如果表格不存在则返回空数据
Integer tableNumber = memberTreeService.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 = memberTeamService.queryMemberTeamInfoList(memberTeamInfoParam);
} else {
// 安置
memberTeamList = memberTeamService.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 (memberTeamVo.getPkPlaceParent() != null) {
CuMember member = cuMemberService.getMember(memberTeamVo.getPkPlaceParent());
if (member != null) {
memberTeamVo.setPlaceParentCode(member.getMemberCode());
}
}
memberTeamVo.setResettleLevel(memberTeamVo.getLevel());
//血缘代数
memberTeamVo.setConsanguinityAlgebra("" + memberTeamVo.getLevel() + "");
//奖金大盘占比
memberTeamVo.setBonusLargeMarketProportion(BigDecimal.ZERO);
// 直推人数
Long directPushPeopleNumber = memberTreeService.queryCuMemberTreeParentTableCount(settleTableName, memberTeamVo.getMemberId());
memberTeamVo.setDirectPushPeopleNumber(directPushPeopleNumber);
// 转账次数
LambdaQueryWrapper<CuMemberTransfer> qew = new LambdaQueryWrapper<>();
qew.eq(CuMemberTransfer::getPkMember, memberTeamVo.getMemberId());
int memberTransferCount = memberTransferService.count(qew);
memberTeamVo.setMemberTransferCount(memberTransferCount);
// 提现次数
LambdaQueryWrapper<CuMemberWithdraw> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CuMemberWithdraw::getPkMember, memberTeamVo.getMemberId());
int memberWithdrawCount = memberWithdrawService.count(queryWrapper);
memberTeamVo.setWithdrawalNumber(memberWithdrawCount);
// 最后一次登录时间
if (memberTeamVo.getLastLoginTime() != null) {
// 计算当前时间和 最后一次登陆时间间隔
memberTeamVo.setLastLoginTimeIntervalDays(DateUtil.betweenDay(DateUtils.currentDate(), memberTeamVo.getLastLoginTime(), true));
}
}
ExcelUtil<MemberTeamVo> util = new ExcelUtil<>(MemberTeamVo.class, iMenuColumnServiceApi.queryMenuColumn("TeamInfo", SecurityUtils.getUserId()).getData());
util.exportExcel(response, memberTeamList, "会员团队信息");
}
/**
* 导出真实信息
*
* @author: zhang jing
* @date: 2023/7/15 17:02
* @param: [response, memberRealInfoParam]
* @return: void
**/
@Log(module = EOperationModule.MEMBER_INFORMATION, business = EOperationBusiness.MEMBER_INFORMATION, method = EOperationMethod.EXPORT)
@PostMapping("/real-info-export")
@ -586,50 +316,51 @@ public class CuMemberController extends BaseController {
UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
memberRealInfoParam.setVertexList(userAuthorityDTO.getUserVertexList());
memberRealInfoParam.setTeamList(userAuthorityDTO.getUserTeamList());
List<MemberRealInfoVO> resultList = cuMemberService.selectByMemberRealInfo(memberRealInfoParam);
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);
// 奖衔
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) {
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.getPkRegisterGrade() != null) {
for (GradeDTO grade : gradeList) {
if (grade.getPkId().equals(cuMemberExt.getPkRegisterGrade())) {
cuMemberExt.setRegisterGradeVal(grade.getGradeName());
}
}
}
if (cuMemberExt.getPkCity() != null) {
//
cuMemberExt.setCityName(areaDate.get(cuMemberExt.getPkCity()));
// 结算等级
if (cuMemberExt.getPkSettleGrade() != null) {
for (GradeDTO grade : gradeList) {
if (grade.getPkId().equals(cuMemberExt.getPkSettleGrade())) {
cuMemberExt.setSettleGradeVal(grade.getGradeName());
}
}
}
if (cuMemberExt.getPkCounty() != null) {
// 区县
cuMemberExt.setCountyName(areaDate.get(cuMemberExt.getPkCounty()));
// 真实奖衔
if (cuMemberExt.getPkAwards() != null) {
for (BdAwards awards : awardsList) {
if (awards.getPkId().equals(cuMemberExt.getPkAwards())) {
cuMemberExt.setAwardsVal(awards.getAwardsName());
}
}
}
// 证件类型
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()));
// 真实奖衔
if (cuMemberExt.getPkMaxAwards() != null) {
for (BdAwards awards : awardsList) {
if (awards.getPkId().equals(cuMemberExt.getPkMaxAwards())) {
cuMemberExt.setAwardsVal(awards.getAwardsName());
}
}
}
cuMemberExt.setCardTypeVal(EIdType.getLabelByValue(cuMemberExt.getIdType()));
cuMemberExt.setSexVal(ESex.getLabelByValue(cuMemberExt.getSex()));
}
}
ExcelUtil<MemberRealInfoVO> util = new ExcelUtil<>(MemberRealInfoVO.class, iMenuColumnServiceApi.queryMenuColumn("RealInfo", SecurityUtils.getUserId()).getData());
@ -651,21 +382,6 @@ public class CuMemberController extends BaseController {
util.exportExcel(response, list, "会员编号");
}
/**
* 校验身份证格式
*
* @author: zhang jing
* @date: 2023/10/17 14:10
* @param: [idCard]
* @return: boolean
**/
public boolean checkIdCard(String idCard) {
// 正则表达式校验身份证号码格式
String reg = "\\d{17}[\\d|x|X]";
return Pattern.matches(reg, idCard);
}
/**
* 查询顶点会员
*
@ -674,7 +390,7 @@ public class CuMemberController extends BaseController {
@GetMapping("/query-top-member")
public AjaxResult queryTopMember() {
List<TopMemberVO> resultList = new ArrayList<>();
List<CuMemberExt> list = cuMemberService.queryPlaceMemberList(VertexConstants.GJ30720200CODE, SecurityUtils.getPkCountry());
List<CuMemberExt> list = iCuMemberService.queryPlaceMemberList(VertexConstants.GJ30720200CODE, SecurityUtils.getPkCountry());
if (CollectionUtil.isNotEmpty(list)) {
resultList = BeanUtil.copyToList(list, TopMemberVO.class);
}
@ -702,7 +418,7 @@ public class CuMemberController extends BaseController {
BigDecimal chinaInExchangeRate = chinaCurrency.getData().getInExchangeRate();
startPage();
memberConsumptionStatParam.setPkCountry(SecurityUtils.getPkCountry());
List<MemberConsumptionStatVo> memberConsumptionStatVoList = cuMemberService.getMemberConsumptionStat(memberConsumptionStatParam);
List<MemberConsumptionStatVo> memberConsumptionStatVoList = iCuMemberService.getMemberConsumptionStat(memberConsumptionStatParam);
for (MemberConsumptionStatVo memberConsumptionStatVo : memberConsumptionStatVoList) {
memberConsumptionStatVo.setOrderAchieve(memberConsumptionStatVo.getOrderAchieve().multiply(chinaInExchangeRate).setScale(2, BigDecimal.ROUND_HALF_UP));
}
@ -730,7 +446,7 @@ public class CuMemberController extends BaseController {
R<CurrencyDTO> chinaCurrency = iCurrencyServiceApi.getCurrency(CountryConstants.CHINA_COUNTRY);
BigDecimal chinaInExchangeRate = chinaCurrency.getData().getInExchangeRate();
memberConsumptionStatParam.setPkCountry(SecurityUtils.getPkCountry());
List<MemberConsumptionStatVo> memberConsumptionStatVoList = cuMemberService.getMemberConsumptionStat(memberConsumptionStatParam);
List<MemberConsumptionStatVo> memberConsumptionStatVoList = iCuMemberService.getMemberConsumptionStat(memberConsumptionStatParam);
for (MemberConsumptionStatVo memberConsumptionStatVo : memberConsumptionStatVoList) {
memberConsumptionStatVo.setOrderAchieve(memberConsumptionStatVo.getOrderAchieve().multiply(chinaInExchangeRate).setScale(2, BigDecimal.ROUND_HALF_UP));
}
@ -745,7 +461,7 @@ public class CuMemberController extends BaseController {
@GetMapping("/member_awards_query")
public TableDataInfo memberAwardsQuery(MemberAwardsQueryParam param) {
startPage();
List<MemberAwardsQueryVO> memberAwardsList = cuMemberService.listMemberAwards(param, SecurityUtils.getPkCountry());
List<MemberAwardsQueryVO> memberAwardsList = iCuMemberService.listMemberAwards(param, SecurityUtils.getPkCountry());
if (CollectionUtil.isNotEmpty(memberAwardsList)) {
// 中国汇率
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(CountryConstants.CHINA_COUNTRY).getData();
@ -769,7 +485,7 @@ public class CuMemberController extends BaseController {
*/
@PostMapping("/member_awards_query_export")
public void memberAwardsQueryExport(MemberAwardsQueryParam param, HttpServletResponse response) {
List<MemberAwardsQueryVO> memberAwardsList = cuMemberService.listMemberAwards(param, SecurityUtils.getPkCountry());
List<MemberAwardsQueryVO> memberAwardsList = iCuMemberService.listMemberAwards(param, SecurityUtils.getPkCountry());
if (CollectionUtil.isNotEmpty(memberAwardsList)) {
// 中国汇率
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(CountryConstants.CHINA_COUNTRY).getData();
@ -850,7 +566,7 @@ public class CuMemberController extends BaseController {
memberParam.setTeamList(userAuthorityDTO.getUserTeamList());
startPage();
List<RetailMemberVO> cuMemberVOList = cuMemberService.retailMemberList(memberParam);
List<RetailMemberVO> cuMemberVOList = iCuMemberService.retailMemberList(memberParam);
if (CollectionUtil.isNotEmpty(cuMemberVOList)) {
// 获取需要翻译的枚举翻译
@ -965,7 +681,7 @@ public class CuMemberController extends BaseController {
memberParam.setVertexList(userAuthorityDTO.getUserVertexList());
memberParam.setTeamList(userAuthorityDTO.getUserTeamList());
List<RetailMemberVO> cuMemberVOList = cuMemberService.retailMemberList(memberParam);
List<RetailMemberVO> cuMemberVOList = iCuMemberService.retailMemberList(memberParam);
if (CollectionUtil.isNotEmpty(cuMemberVOList)) {
// 获取需要翻译的枚举翻译
@ -1030,7 +746,7 @@ public class CuMemberController extends BaseController {
if (StringUtils.isEmpty(param.getMemberCode())) {
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.MEMBER_NOT_EXITS));
}
CuMember cuMember = cuMemberService.getMember(param.getMemberCode());
CuMember cuMember = iCuMemberService.getMember(param.getMemberCode());
if (cuMember == null) {
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.MEMBER_NOT_EXITS));
}
@ -1055,7 +771,7 @@ public class CuMemberController extends BaseController {
*/
@GetMapping("/copy-pwd")
public AjaxResult copyPwd(@RequestParam Long pkId) {
CuMember cuMember = cuMemberService.getOne(Wrappers.<CuMember>lambdaQuery()
CuMember cuMember = iCuMemberService.getOne(Wrappers.<CuMember>lambdaQuery()
.eq(CuMember::getPkId, pkId)
);
String tmpPwd = DateUtils.parseDateToFormat(DateUtils.MM_DD, new Date()) + cuMember.getLoginPassword();

View File

@ -3,9 +3,6 @@ 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.common.domain.vertex.BdVertex;
import com.hzs.member.base.param.MemberTeamInfoParam;
import com.hzs.member.base.vo.MemberTeamVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -17,22 +14,6 @@ public interface CuMemberTeamMapper extends BaseMapper<CuMemberTeam> {
List<CuMemberTeamExt> queryCuMemberTeam(CuMemberTeamExt cuMemberTeamExt);
/**
* 查询会员团队信息
*
* @param memberTeamInfoParam
* @return
*/
List<MemberTeamVo> queryMemberTeamInfoList(MemberTeamInfoParam memberTeamInfoParam);
/**
* 查询会员安置团队信息
*
* @param memberTeamInfoParam
* @return
*/
List<MemberTeamVo> queryMemberTeamInfoPlaceParentList(MemberTeamInfoParam memberTeamInfoParam);
/**
* 更新团队为空
*

View File

@ -1,26 +1,9 @@
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 {
@ -69,47 +52,10 @@ public class MemberRealInfoParam {
*/
private String birthDate;
/**
* 省id
*/
private Integer pkProvince;
/**
* 市id
*/
private Integer pkCity;
/**
* 区县id
*/
private Integer pkCounty;
/**
* 详细地址
*/
private String address;
/**
* 性别0=未知,1=,2=
*/
private Integer sex;
/**
* 银行名称
*/
private String bankName;
/**
* 支行名称
*/
private String subBankName;
/**
* 银行卡号
*/
private String cardNumber;
/**
* 邮箱
*/
private String email;
/**
* 开始认证时间

View File

@ -1,81 +0,0 @@
package com.hzs.member.base.param;/**
* @Description:
* @Author: yuhui
* @Time: 2023/5/29 14:53
* @Classname: MemberTeamInfoParam
* @PackageName: 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 {
/**
* 查询date 时间
*/
private Date queryDate;
/**
* 查询业绩表名
*/
private String settleTableName;
/**
* 期间值
*/
private Integer period;
/**
* 会员编号
*/
private String memberCode ;
/**
* 真实奖衔
*/
private Integer pkAwards;
/**
* 关系类型 1 血缘 2 安置
*/
private Integer relaType;
/**
* 安置部门
*/
private Integer placeDept;
/**
* 血缘代数
*/
private Integer consanguinityAlgebra;
/**
* 安置层级
* 查询当前会员在团队的第几层 查询伞下的所有人
*/
private Integer resettleLevel;
/**
* 安置位置
*/
private String resettleLocation;
/**
* 奖金收益
*/
private BigDecimal realIncomeTotal;
}

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;
@ -41,22 +39,6 @@ public interface ICuMemberTeamService extends IService<CuMemberTeam> {
**/
void updateCuMemberTeamByVertex(Long pkTeamCode);
/**
* 查询会员团队信息
*
* @param memberTeamInfoParam
* @return
*/
List<MemberTeamVo> queryMemberTeamInfoList(MemberTeamInfoParam memberTeamInfoParam);
/**
* 查询会员安置信息团队
*
* @param memberTeamInfoParam
* @return
*/
List<MemberTeamVo> queryMemberTeamInfoPlaceParentList(MemberTeamInfoParam memberTeamInfoParam);
/**
* 查询刷新团队数据
*

View File

@ -2453,13 +2453,14 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
@Override
public boolean updateMemberNameAndPhone(Long pkMember, String memberName, String phone, Long pkModified) {
LambdaUpdateWrapper<CuMember> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(CuMember::getMemberName, memberName);
updateWrapper.set(CuMember::getPhone, phone);
updateWrapper.set(CuMember::getPkModified, pkModified);
updateWrapper.set(CuMember::getModifiedTime, new Date());
updateWrapper.eq(CuMember::getPkId, pkMember);
return update(updateWrapper);
CuMember cuMember = new CuMember();
cuMember.setPkId(pkMember);
cuMember.setMemberName(memberName);
cuMember.setPhone(phone);
cuMember.setBirthDate(null);
cuMember.setPkModified(pkModified);
cuMember.setModifiedTime(new Date());
return updateById(cuMember);
}
@Override

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;
@ -61,16 +59,6 @@ public class CuMemberTeamServiceImpl extends ServiceImpl<CuMemberTeamMapper, CuM
}
}
@Override
public List<MemberTeamVo> queryMemberTeamInfoList(MemberTeamInfoParam memberTeamInfoParam) {
return baseMapper.queryMemberTeamInfoList(memberTeamInfoParam);
}
@Override
public List<MemberTeamVo> queryMemberTeamInfoPlaceParentList(MemberTeamInfoParam memberTeamInfoParam) {
return baseMapper.queryMemberTeamInfoPlaceParentList(memberTeamInfoParam);
}
@Override
public void flushAllTeam(Integer pkCountry) {
List<CuMemberTeam> list = this.list(Wrappers.<CuMemberTeam>lambdaQuery()

View File

@ -1,32 +0,0 @@
package com.hzs.member.base.vo;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
*
* 账户状态翻译
* @Description:
* @Author: zhangjing
* @Time: 2023/2/4 14:56
* @Classname: AccountPointOutVO
* @Package_name: com.hzs.member.base.vo
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AccountPointOutVO implements Serializable {
/**
* 账户状态
*/
@Transaction(transactionKey = EnumsPrefixConstants.ACCOUNT_STATUS)
private Integer accountState;
private String accountStateVal;
}

View File

@ -1,36 +0,0 @@
package com.hzs.member.base.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Description: 服务有效期返回VO
* @Author: jiang chao
* @Time: 2024/1/15 14:08
* @Classname: AgreementExpireVO
* @PackageName: com.hzs.member.base.vo
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class AgreementExpireVO {
/**
* 提示标记0=弹窗提示1=不弹窗提示
*/
private Integer promptFlag;
/**
* 提示信息
*/
private String promptMsg;
/**
* 跳转页面1=实名认证2=续约专区
*/
private Integer jumpPage;
}

View File

@ -1,63 +0,0 @@
package com.hzs.member.base.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2023/6/8 11:47
* @Classname: CuHonorWallVo
* @PackageName: com.hzs.member.base.vo
*/
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.vo
*@Author: yh
*@CreateTime: 2023-06-08 11:47
*@Description: TODO
*@Version: 1.0
*/
@Data
public class CuHonorWallVo {
/**
* 用户ID
*/
private Long pkId;
/**
* 类型 1 等级 2 奖衔 3 时长 4 推荐月 5 推荐季度 6 推荐年 7 抗衰月 8 抗衰季度 9 抗衰年
*/
private Integer type;
/**
* 类型 1 等级 2 奖衔 3 时长 4 推荐月 5 推荐季度 6 推荐年 7 抗衰月 8 抗衰季度 9 抗衰年
*/
private String typeStr;
private String name;
/**
* 类型属性值
*/
private Integer value;
/**
* 类型属性值
*/
private String valueStr;
/**
* 展示图片
*/
private String img;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
private String title;
}

View File

@ -1,103 +0,0 @@
package com.hzs.member.base.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.web.domain.BaseApprovalEntity;
import com.hzs.member.account.dto.MemberAmountDTO;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Set;
/**
* <p>
* 注水业绩记录表VO
* </p>
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class CuMemberAchieveLogParentVO extends BaseApprovalEntity {
private static final long serialVersionUID = 1L;
/**
* 注水方式 EInfusingWaterType 1 增加 2减少 3 最终
*/
private Integer infusingWaterType;
private BigDecimal aSumrealModifyPv;
private BigDecimal bSumrealModifyPv;
/**
* 注水备注
*/
private String remarks;
/**
* 业务单号
*/
private String businessNo;
/**
* 审批业务类型 来源于枚举 EApprovalBusiness
*/
private Integer editType;
/**
* 审核状态 2 待审核 4 已驳回 5 已完成(审核成功) 枚举 EApproveStatus
*/
private Integer approveStatus;
/**
* 流程类型1 免签呈 2免付费 3免签呈+免付费 4 需要签呈需要付费
*/
private Integer processType;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 扣款币种类型
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
private Integer pkAccountKey;
/**
* 扣款币种类型
*/
private String pkAccountKeyVal;
/**
* 会员手续费
*/
List<MemberAmountDTO> memberAmountDTOList;
/**
* 错误信息
*/
private String errorMasg;
/**
* 情况说明
*/
private String remark;
/**
* 业务涨及会员ID列表 --提交审核必传
*/
private Set<Long> pkMemberList;
/**
* 期间
*/
private Integer period;
/**
* 注水业绩记录
*/
private List<CuMemberAchieveLogVO> cmalvList;
/**
* 国家
*/
private Integer pkCountry;
}

View File

@ -1,77 +0,0 @@
package com.hzs.member.base.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2023/8/25 15:48
* @Classname: DirectPushNewVo
* @PackageName: com.hzs.member.base.vo
*/
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.vo
*@Author: yh
*@CreateTime: 2023-08-25 15:48
*@Description: TODO
*@Version: 1.0
*/
@Data
public class DirectPushNewVo {
/**
* 国旗
*/
private String nationalFlag1;
/**
* 国家名称
*/
private String shortName;
/**
* 会员编号
*/
private String memberCode;
/**
* 会员名称
*/
private String memberName;
/**
* 联系方式
*/
private String phone;
/**
* 真实奖衔
*/
private String awardsVal;
/**
* 隶属体系
*/
private String vertexVal;
/**
* 隶属团队
*/
private String teamCode;
/**
* 新增金额
*/
private String consumeMoney;
/**
* 新增业绩
*/
private String consumeAchieve;
/**
* 支付时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date payTime;
}

View File

@ -1,65 +0,0 @@
package com.hzs.member.base.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2023/3/29 9:04
* @Classname: MemberChargingVo
* @PackageName: com.hzs.member.base.vo
*/
import lombok.Data;
import java.math.BigDecimal;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.vo
*@Author: yh
*@CreateTime: 2023-03-29 09:04
*@Description: TODO
*@Version: 1.0
*/
@Data
public class MemberChargingVo {
/**
* 会员编号
*/
private String memberCode;
/**
* 会员姓名
*/
private String memberName;
/**
* 变更前推荐编号
*/
private String editOldParentMemberCode;
/**
* 变更前推荐姓名
*/
private String editOldParentMemberName;
/**
* 变更后推荐编号
*/
private String editNewParentMemberCode;
/**
* 变更后推荐姓名
*/
private String editNewParentMemberName;
/**
* 扣款币种
*/
private Integer pkAccount;
/**
* 币种名称
*/
private String accountName;
/**
* 扣费金额
*/
private BigDecimal accountAmount;
}

View File

@ -1,83 +0,0 @@
package com.hzs.member.base.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2024/1/17 14:10
* @Classname: MemberDirectPushVO
* @PackageName: com.hzs.member.base.vo
*/
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.vo
*@Author: yh
*@CreateTime: 2024-01-17 14:10
*@Description: TODO
*@Version: 1.0
*/
@Data
public class MemberDirectPushVO {
/**
* 统计时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "统计时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date payTime;
/**
* 排名
*/
@Excel(name = "排名")
private Integer ranking;
/**
* 会员编号
*/
@Excel(name = "会员编号")
private String memberCode;
/**
* 会员名称
*/
@Excel(name = "会员名称")
private String memberName;
/**
* 等级名称
*/
@Excel(name = "结算等级")
private String gradeName;
/**
* 奖衔名称
*/
@Excel(name = "真实奖衔")
private String awardsName;
/**
* 会员头像
*/
private String headPath;
/**
* 订单达标业绩
*/
@Excel(name = "直推业绩")
private BigDecimal orderAchieve;
/**
* 脱敏业绩
*/
private String orderAchieveStr;
/**
* 是否登录会员 对应 EyesNo 枚举
*/
private Integer isLoginMember;
}

View File

@ -62,13 +62,11 @@ public class MemberRealInfoVO {
/**
* 证件类型 ECardType
*/
@Transaction(transactionKey = EnumsPrefixConstants.CARD_TYPE)
private Integer cardType;
/**
* 性别0=未知,1=,2=Esex
*/
@Transaction(transactionKey = EnumsPrefixConstants.SEX)
private Integer sex;
/**
@ -325,53 +323,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;
/**
* 证件类型 字符
*/

View File

@ -1,285 +0,0 @@
package com.hzs.member.base.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2023/5/29 16:02
* @Classname: MemberTeamVo
* @PackageName: com.hzs.member.base.vo
*/
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
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 {
/**
* 会员主键
*/
private Long memberId;
/**
* 安置人主键
*/
private Long pkPlaceParent;
/**
* 会员编号
*/
@Excel(name = "会员编号")
private String memberCode;
/**
* 会员名称
*/
@Excel(name = "会员姓名")
private String memberName;
/**
* 真实奖衔
*/
private Integer pkAwards;
/**
* 真实奖衔 str
*/
@Excel(name = "真实奖衔")
private String pkAwardsStr;
/**
* 安置层数
* 查询当前会员在团队的第几层 查询伞下的所有人
*/
@Excel(name = "安置层数")
private Integer resettleLevel;
/**
* 安置部门 str
*/
@Excel(name = "安置位置")
private String placeDeptStr;
/**
* 安置位置
*/
private String resettleLocation;
/**
* 安置人编号
*/
@Excel(name = "安置编号")
private String placeParentCode;
/**
* 血缘代数
*/
@Excel(name = "血缘代数")
private String consanguinityAlgebra;
/**
* 左区首购业绩
*/
@Excel(name = "左区首购业绩($)")
private BigDecimal afirstPv;
/**
* 右区首购业绩
*/
@Excel(name = "右区首购业绩($)")
private BigDecimal bfirstPv;
/**
* 安置部门
*/
private Integer placeDept;
/**
* 血缘首购业绩
*/
@Excel(name = "血缘首购业绩($)")
private BigDecimal consanguinityFirstPv;
/**
* 左区复购业绩
*/
@Excel(name = "左区复购业绩($)")
private BigDecimal repASumPv;
/**
* 右区复购业绩
*/
@Excel(name = "右区复购业绩($)")
private BigDecimal repBSumPv;
/**
* 血缘复购业绩
*/
@Excel(name = "血缘复购业绩($)")
private BigDecimal consanguinityRepBSumPv;
/**
*左区真实业绩(PV)
*/
@Excel(name = "左区真实业绩($)")
private BigDecimal aSumRealPv;
/**
* B区真实业绩(PV)
*/
@Excel(name = "右区真实业绩($)")
private BigDecimal bSumRealPv;
/**
* 血缘真实业绩pv
*/
@Excel(name = "血缘真实业绩($)")
private BigDecimal consanguinityRealPv;
/**
* 奖金收益
*/
// @Excel(name = "奖金收益($)")
private BigDecimal realIncomeTotal;
/**
* 奖金团队占比
*/
@Excel(name = "奖金团队占比(%)",suffix = "%")
private BigDecimal bonusTeamProportion;
/**
* 奖金大盘占比
*/
@Excel(name = "奖金大盘占比%")
private BigDecimal bonusLargeMarketProportion;
/**
* 直推人数
*/
@Excel(name = "直推人数")
private Long directPushPeopleNumber;
/**
* 直推业绩
*/
@Excel(name = "直推业绩")
private Long directPushPeoplePv;
/**
* 复购金额
*/
@Excel(name = "复购金额$")
private BigDecimal repurchaseAmount;
/**
* 复购业绩
*/
@Excel(name = "复购业绩")
private BigDecimal repurchasePv;
/**
* 复购积分
*/
@Excel(name = "复购积分")
private BigDecimal repurchaseIntegral;
/**
* 福利金额$
*/
@Excel(name = "福利金额($)")
private BigDecimal benefitAmount;
/**
* 福利业绩(pv)
*/
@Excel(name = "福利业绩($)")
private BigDecimal benefitPv;
/**
* 福利积分
*/
@Excel(name = "福利积分")
private BigDecimal welfarePoints;
/**
* 转账次数
*/
@Excel(name = "转账次数")
private Integer memberTransferCount;
/**
* 转账金额$
*/
@Excel(name = "转账金额($)")
private BigDecimal transferAmount;
/**
* 充值金额$
*/
@Excel(name = "充值金额($)")
private BigDecimal rechargeAmount;
/**
* 提现次数
*/
@Excel(name = "提现次数")
private Integer withdrawalNumber;
/**
* 提现金额$
*/
@Excel(name = "提现金额($)")
private Integer withdrawalAmount;
/**
* 登录次数
*/
// @Excel(name = "登录次数")
private Integer loginNumber;
/**
* 最后一次登录时间
*/
@Excel(name = "最近登录",dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date lastLoginTime;
/**
* 最后一次登录时间间隔天数
*/
// @Excel(name = "最后一次登录时间间隔天数")
private Long lastLoginTimeIntervalDays;
/**
* 创建时间
*/
@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")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date payTime;
/**
* 修改直推次数
*/
@Excel(name = "修改直推次数")
private Integer directPushNumber;
/**
* 层级
*/
private Integer level;
}

View File

@ -1,40 +0,0 @@
package com.hzs.member.base.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* @Description: 列表筛选显现隐藏实体vo
* @Author: zhangjing
* @Time: 2022/10/13 11:21
* @Classname: CuMemberVO
* @PackageName: com.hzs.member.base.vo
*/
@Data
@AllArgsConstructor
public class TheLableVO {
private static final long serialVersionUID = 1L;
/**
* 表头名称
*/
private String titel;
/**
* 对应字段
*/
private String prop;
/**
* key键
*/
private Integer keyId;
/**
* 显示隐藏
*/
private String show;
}

View File

@ -1,31 +0,0 @@
package com.hzs.member.base.vo;/**
* @Description:
* @Author: yuhui
* @Time: 2024/4/30 15:11
* @Classname: WaresAuthorityParentVo
* @PackageName: com.hzs.member.base.vo
*/
import lombok.Data;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.member.base.vo
*@Author: yh
*@CreateTime: 2024-04-30 15:11
*@Description: TODO
*@Version: 1.0
*/
@Data
public class WaresAuthorityParentVo {
/**
* 会员主键
*/
private Integer pkMember;
/**
* 会员编号
*/
private Long memberCount;
}

View File

@ -2,14 +2,12 @@ package com.hzs.member.self.controller.api;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
import com.hzs.common.core.constant.msg.FinanceMsgConstants;
import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.member.self.CuSelfServiceLog;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.util.TransactionUtils;
import com.hzs.member.account.service.ICuMemberAuthenticationService;
@ -18,14 +16,10 @@ import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.self.service.ICuSelfServiceLogService;
import com.hzs.member.self.vo.DomicileChangeVO;
import com.hzs.member.sms.service.IApiAliSmsService;
import com.hzs.system.config.IServiceChargeServiceApi;
import com.hzs.system.config.dto.ServiceChargeDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.List;
/**
@ -41,12 +35,9 @@ public class ApiDomicileChangeController extends BaseController {
@Autowired
private ICuMemberService iCuMemberService;
@Autowired
private IApiAliSmsService iApiAliSmsService;
@Autowired
private ICuSelfServiceLogService iCuSelfServiceLogService;
@DubboReference
IServiceChargeServiceApi iServiceChargeServiceApi;
@Autowired
private IApiAliSmsService iApiAliSmsService;
/**
* 查询可申请信息
@ -55,45 +46,45 @@ public class ApiDomicileChangeController extends BaseController {
*/
@GetMapping("/application-info-list")
public AjaxResult applicationInformation() {
Long pkMember = SecurityUtils.getUserId();
CuMemberExt member = iCuMemberService.getMemberById(pkMember);
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder().memberCode(member.getMemberCode())
.memberName(member.getMemberName()).phone(member.getPhone())
.changeNum(MagicNumberConstants.CHANGE_NUM).build();
CuMemberExt member = iCuMemberService.getMemberById(SecurityUtils.getUserId());
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder()
.memberCode(member.getMemberCode())
.memberName(member.getMemberName())
.phone(member.getPhone())
.changeNum(MagicNumberConstants.CHANGE_NUM)
.build();
return AjaxResult.success(domicileChangeVO);
}
@GetMapping("/application-info-detail")
public AjaxResult applicationInformationDetail() {
return AjaxResult.success(iCuSelfServiceLogService.selectDomicileChangeByPkMember(SecurityUtils.getUserId(), EApprovalBusiness.DOMICILE_CHANGE.getValue(), SecurityUtils.getPkCountry()));
}
/**
* 查询已申请信息
* 显示户籍变更信息
*
* @return AjaxResult
*/
@GetMapping("/applied-info-list")
public AjaxResult appliedInformation() {
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder().pkMember(SecurityUtils.getUserId())
.pkCountry(SecurityUtils.getPkCountry()).editType(EApprovalBusiness.DOMICILE_CHANGE.getValue()).build();
List<DomicileChangeVO> domicileChangeVOList = (List<DomicileChangeVO>) iCuSelfServiceLogService.selectSelfServiceByPkMember(domicileChangeVO)[1];
return AjaxResult.success(domicileChangeVOList);
@GetMapping("/show-change-domicile")
public AjaxResult showChangeDomicile() {
String idBack = null;
String idFront = null;
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
CuMemberExt member = iCuMemberService.getMemberById(pkMember);
//查询实名认证信息原证件图
CuMemberAuthenticationVO authenticationVO = CuMemberAuthenticationVO.builder().pkCountry(pkCountry).pkMember(pkMember).build();
CuMemberAuthenticationVO cuMemberAuthenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(authenticationVO);
if (null != cuMemberAuthenticationVO) {
idBack = cuMemberAuthenticationVO.getIdBack();
idFront = cuMemberAuthenticationVO.getIdFront();
}
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder()
.memberCode(member.getMemberCode())
.memberName(member.getMemberName())
.phone(member.getPhone())
.idBack(idBack)
.idFront(idFront)
.build();
return AjaxResult.success(domicileChangeVO);
}
/**
* 自助服务是否显示户籍认证
*
* @return AjaxResult
*/
@GetMapping("/show-index-domicile")
public AjaxResult showIndexDomicile() {
return AjaxResult.success(iCuSelfServiceLogService.showIndexDomicile(SecurityUtils.getPkCountry(), SecurityUtils.getUserId()));
}
/**
* 申请户籍变更
*
@ -125,13 +116,8 @@ public class ApiDomicileChangeController extends BaseController {
}
domicileChangeVO.setPkCountry(pkCountry);
domicileChangeVO.setPkMember(pkMember);
//是否有正在审批业务
AjaxResult existApprovalData = isExistApprovalData(domicileChangeVO);
if (!existApprovalData.equals(AjaxResult.success())) {
return existApprovalData;
}
// 校验短信验证码
String message = iApiAliSmsService.checkCode(domicileChangeVO.getChangePhone(), domicileChangeVO.getVerificationCode(), null);
String message = iApiAliSmsService.checkCode(domicileChangeVO.getChangePhone(), domicileChangeVO.getVerificationCode(), null, pkMember);
if (null != message) {
return AjaxResult.error(message);
}
@ -139,63 +125,19 @@ public class ApiDomicileChangeController extends BaseController {
}
/**
* 显示户籍变更信息
* 查询已申请信息
*
* @return AjaxResult
*/
@GetMapping("/show-change-domicile")
public AjaxResult showChangeDomicile() {
String idBack = null;
String idFront = null;
Long pkMember = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
CuMemberExt member = iCuMemberService.getMemberById(pkMember);
//查询实名认证信息原证件图
CuMemberAuthenticationVO authenticationVO = CuMemberAuthenticationVO.builder().pkCountry(pkCountry).pkMember(pkMember).build();
CuMemberAuthenticationVO cuMemberAuthenticationVO = iCuMemberAuthenticationService.selectCuMemberAuthenticationByPkMember(authenticationVO);
if (null != cuMemberAuthenticationVO) {
idBack = cuMemberAuthenticationVO.getIdBack();
idFront = cuMemberAuthenticationVO.getIdFront();
}
ServiceChargeDTO serviceChargeInfo = getServiceChargeInfo(pkCountry);
BigDecimal cost = null != serviceChargeInfo ? serviceChargeInfo.getCost() : BigDecimal.ZERO;
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder().memberCode(member.getMemberCode())
.memberName(member.getMemberName()).phone(member.getPhone()).amount(cost).pkAccount(serviceChargeInfo.getPkAccount())
.idBack(idBack).idFront(idFront).build();
return AjaxResult.success(domicileChangeVO);
}
/**
* 是否存在审核的数据
*
* @param domicileChangeVO 户籍变更信息
* @return AjaxResult
*/
private AjaxResult isExistApprovalData(DomicileChangeVO domicileChangeVO) {
CuSelfServiceLog cuSelfServiceLog = new CuSelfServiceLog();
cuSelfServiceLog.setPkCountry(domicileChangeVO.getPkCountry());
cuSelfServiceLog.setEditType(EApprovalBusiness.DOMICILE_CHANGE.getValue());
cuSelfServiceLog.setPkMember(domicileChangeVO.getPkMember());
Integer check = iCuSelfServiceLogService.checkSelfService(cuSelfServiceLog);
if (check > 0) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MEMBER_UPDATE_CODE_REPEAT));
}
return AjaxResult.success();
}
/**
* 查询手续费
*
* @param pkCountry 国家pID
* @return ServiceChargeDTO
*/
private ServiceChargeDTO getServiceChargeInfo(Integer pkCountry) {
//查询扣费金额账户信息
ServiceChargeDTO serviceChargeDTO = new ServiceChargeDTO();
serviceChargeDTO.setType(EApprovalBusiness.DOMICILE_CHANGE.getValue());
serviceChargeDTO.setPkCountry(pkCountry);
serviceChargeDTO.setQuantity(MagicNumberConstants.CHANGE_NUM);
return iServiceChargeServiceApi.getServiceChargeByType(serviceChargeDTO).getData();
@GetMapping("/applied-info-list")
public AjaxResult appliedInformation() {
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder()
.pkMember(SecurityUtils.getUserId())
.pkCountry(SecurityUtils.getPkCountry())
.editType(EApprovalBusiness.DOMICILE_CHANGE.getValue())
.build();
List<DomicileChangeVO> domicileChangeVOList = (List<DomicileChangeVO>) iCuSelfServiceLogService.selectSelfServiceByPkMember(domicileChangeVO)[1];
return AjaxResult.success(domicileChangeVOList);
}
}

View File

@ -1,19 +1,12 @@
package com.hzs.member.self.controller.api;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.enums.EGrade;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.self.service.ICuSelfServiceLogService;
import com.hzs.member.self.vo.SelfVO;
import com.hzs.system.config.IGradeServiceApi;
import com.hzs.system.config.dto.GradeDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@ -27,44 +20,23 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
public class ApiSelfController extends BaseController {
@Autowired
private ICuMemberService iCuMemberService;
@Autowired
private ICuSelfServiceLogService iCuSelfServiceLogService;
@DubboReference
IGradeServiceApi iGradeServiceApi;
/**
* 自助权限查询
*/
@GetMapping("/authority")
public AjaxResult validateSelfAuthority() {
CuMemberExt cuMember = iCuMemberService.getMenuMember(SecurityUtils.getUserId());
// 获取等级
GradeDTO gradeDTO = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
if (EGrade.START_UP.getValue() == gradeDTO.getGradeValue()) {
// 会员等级需要实名认证
return AjaxResult.success(SelfVO.builder()
.existRealName(EYesNo.YES.getIntValue())
.build());
}
Long userId = SecurityUtils.getUserId();
Integer pkCountry = SecurityUtils.getPkCountry();
Integer showAddress = iCuSelfServiceLogService.showHiddenAddress(cuMember.getPkId(), pkCountry);
Integer showAddress = iCuSelfServiceLogService.showHiddenAddress(userId, pkCountry);
SelfVO selfVO = SelfVO.builder()
.existAddress(showAddress)
.existOrderSelf(showAddress)
.selfRevokeOrder(showAddress)
.existDomicile(iCuSelfServiceLogService.showIndexDomicile(pkCountry, cuMember.getPkId()))
.existDomicile(iCuSelfServiceLogService.showIndexDomicile(pkCountry, userId))
.existRealName(EYesNo.YES.getIntValue())
.existMemberMonth(EYesNo.YES.getIntValue())
.build();
if (!pkCountry.equals(CountryConstants.CHINA_COUNTRY)) {
selfVO.setSelfRevokeOrder(EYesNo.NO.getIntValue());
}
return AjaxResult.success(selfVO);
}
}

View File

@ -1,24 +1,17 @@
package com.hzs.member.self.controller.manage;
import com.hzs.common.core.annotation.Log;
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.common.core.enums.EOperationBusiness;
import com.hzs.common.core.enums.EOperationMethod;
import com.hzs.common.core.enums.EOperationModule;
import com.hzs.common.core.utils.StringUtils;
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.self.CuSelfServiceLogExt;
import com.hzs.common.security.service.UserTokenService;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.common.util.TransactionUtils;
import com.hzs.member.self.service.ICuSelfServiceLogService;
import com.hzs.member.self.vo.DomicileChangeVO;
import com.hzs.system.sys.dto.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -28,12 +21,6 @@ import java.util.List;
/**
* 变理户籍
*
* @Description:
* @Author: ljc
* @Time: 2023/4/18 10:07
* @Classname: ApiDomicileChangeController
* @Package_name: com.hzs.member.self.controller.api
*/
@Slf4j
@RequestMapping("/manage/change-domicile")
@ -43,10 +30,6 @@ public class DomicileChangeController extends BaseController {
@Autowired
private ICuSelfServiceLogService serviceLogService;
@Autowired
private UserTokenService userTokenService;
/**
* 户籍变更列表
*
@ -64,7 +47,6 @@ public class DomicileChangeController extends BaseController {
return tableDataInfo;
}
/**
* 户籍变更列表
*
@ -77,35 +59,4 @@ public class DomicileChangeController extends BaseController {
}
/**
* 驳回
*
* @return AjaxResult
*/
@PostMapping("/domicile-change-reject")
@Log(module = EOperationModule.DOMICILE_CHANGE, business = EOperationBusiness.DOMICILE_CHANGE, method = EOperationMethod.REJECT)
public AjaxResult domicileChangeReject(@RequestBody DomicileChangeVO domicileChangeVO) {
if (StringUtils.isEmpty(domicileChangeVO.getRejectMsg())) {
return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.REJECT_MSG_NOT_NULL));
}
return AjaxResult.success(serviceLogService.domicileChangeRejectById(domicileChangeVO, SecurityUtils.getUserId()));
}
/**
* 同意
*
* @return AjaxResult
*/
@PostMapping("/domicile-change-agree")
@Log(module = EOperationModule.DOMICILE_CHANGE, business = EOperationBusiness.DOMICILE_CHANGE, method = EOperationMethod.AGREE)
public AjaxResult domicileChangeAgree(@RequestBody DomicileChangeVO domicileChangeVO) {
LoginUser loginUser = userTokenService.getLoginUser();
domicileChangeVO.setLoginUser(loginUser);
domicileChangeVO.setPkModified(SecurityUtils.getUserId());
domicileChangeVO.setPkCountry(SecurityUtils.getPkCountry());
return AjaxResult.success(serviceLogService.domicileChangeAgree(domicileChangeVO));
}
}

View File

@ -1,10 +1,8 @@
package com.hzs.member.self.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.self.CuSelfServiceLog;
import com.hzs.common.domain.member.self.CuSelfServiceLogExt;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.member.self.vo.MyOrderItemsVO;
import com.hzs.member.self.vo.SelfModifyAddressVO;
import com.hzs.member.self.vo.DomicileChangeVO;
@ -13,48 +11,22 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 自助服务日志表 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-04-17
*/
public interface CuSelfServiceLogMapper extends BaseMapper<CuSelfServiceLog> {
/**
* @description: 自助服务-查询已申请修改收货地址
* @author: zhang jing
* @date: 2023/4/17 14:36
* @param: [selfModifyAddressVO]
* @return: java.util.List<com.hzs.member.self.vo.SelfModifyAddressVO>
* 自助服务-查询已申请修改收货地址
**/
List<SelfModifyAddressVO> querySelfModifyAddressList(SelfModifyAddressVO selfModifyAddressVO);
/**
* @description: 自助服务-查询已申请修改收货地址管理端
* @author: zhang jing
* @date: 2023/7/24 11:43
* @param: [selfModifyAddressVO]
* @return: java.util.List<com.hzs.member.self.vo.SelfModifyAddressVO>
* 自助服务-查询已申请修改收货地址管理端
**/
List<SelfModifyAddressVO> querySelfModifyAddressManageList(SelfModifyAddressVO selfModifyAddressVO);
/**
* @description: 自助服务-校验是否存在重复审核
* @author: zhang jing
* @date: 2023/4/17 16:40
* @param: [selfModifyAddressVO]
* @return: java.lang.Integer
**/
Integer checkSelfService(CuSelfServiceLog cuSelfServiceLog);
/**
* @description: 自助服务-查询申请的最大次数
* @author: zhang jing
* @date: 2023/4/17 17:08
* @param: [selfModifyAddressVO]
* @return: java.lang.Integer
* 自助服务-查询申请的最大次数
**/
Integer selectByMaxApproveNumber(CuSelfServiceLog cuSelfServiceLog);
@ -74,16 +46,6 @@ public interface CuSelfServiceLogMapper extends BaseMapper<CuSelfServiceLog> {
*/
CuSelfServiceLogExt selectDomicileChangeDetail(@Param("pkId") Long pkId);
/**
* 根据用户ID和类型查询自动服务
*
* @param editType 服务类型
* @param pkMember 会员ID
* @param pkCountry 国家ID
* @return CuSelfServiceLogExt
*/
CuSelfServiceLogExt selectDomicileChangeByPkMember(@Param("editType") Integer editType, @Param("pkMember") Long pkMember, @Param("pkCountry") Integer pkCountry);
/**
* 根据业务类型业务编号查询自助信息
*
@ -93,12 +55,6 @@ public interface CuSelfServiceLogMapper extends BaseMapper<CuSelfServiceLog> {
*/
CuSelfServiceLog selectSelfServiceByBusinessNo(@Param("editType") Integer editType, @Param("businessNo") String businessNo);
/**
* 根据业务编号更新审批信息
*/
Integer updateSelfServiceByBusinessNo(DomicileChangeVO domicileChangeVO);
/**
* 根据订单ID查询订单明细列表前台使用尽量只查能用到的
*

View File

@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.common.core.enums.EModifyRecordStatus;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.domain.member.base.CuMember;
@ -14,7 +13,6 @@ import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.self.ICuSelfServiceServiceApi;
import com.hzs.member.self.dto.SelfServiceDataDTO;
import com.hzs.member.self.service.ICuSelfServiceLogService;
import com.hzs.member.self.vo.DomicileChangeVO;
import com.hzs.member.self.vo.SelfModifyAddressVO;
import com.hzs.system.base.IAreaServiceApi;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
@ -23,17 +21,10 @@ import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import java.util.Map;
/**
* 自助服务Dubbo 服务
*
* @Description:
* @Author: ljc
* @Time: 2023/4/19 16:24
* @Classname: ICuSelfServiceServiceProvider
* @Package_name: com.hzs.member.self.provider
*/
@Slf4j
@DubboService
@ -53,9 +44,6 @@ public class ICuSelfServiceServiceProvider implements ICuSelfServiceServiceApi {
public R<?> analysisSelfServiceData(SelfServiceDataDTO selfServiceDataDTO) {
EApprovalBusiness eApprovalBusiness = EApprovalBusiness.getEnumByValue(selfServiceDataDTO.getEditType());
switch (eApprovalBusiness) {
case DOMICILE_CHANGE:
//户籍变更数据
return R.ok(getDomicileChangeData(selfServiceDataDTO));
case SELF_MODIFY_ADDRESS:
//修改地址
return R.ok(getSelfModifyAddress(selfServiceDataDTO));
@ -65,24 +53,7 @@ public class ICuSelfServiceServiceProvider implements ICuSelfServiceServiceApi {
}
/**
* 户籍变更数据
*
* @param selfServiceDataDTO 自助服务参数
* @return List<DomicileChangeVO>
*/
private List<DomicileChangeVO> getDomicileChangeData(SelfServiceDataDTO selfServiceDataDTO) {
DomicileChangeVO domicileChangeVO = DomicileChangeVO.builder().editType(selfServiceDataDTO.getEditType())
.pkCountry(selfServiceDataDTO.getPkCountry())
.businessNo(selfServiceDataDTO.getBusinessNo()).build();
return (List<DomicileChangeVO>) cuSelfServiceLogService.selectSelfServiceByPkMember(domicileChangeVO)[1];
}
/**
* @description: 自助服务-修改收货地址
* @author: zhang jing
* @date: 2023/4/20 16:18
* @param: [selfServiceDataDTO]
* @return: java.util.List<com.hzs.member.self.vo.SelfModifyAddressVO>
* 自助服务-修改收货地址
**/
private SelfModifyAddressVO getSelfModifyAddress(SelfServiceDataDTO selfServiceDataDTO) {
SelfModifyAddressVO selMad = SelfModifyAddressVO.builder()
@ -144,17 +115,6 @@ public class ICuSelfServiceServiceProvider implements ICuSelfServiceServiceApi {
}
try {
switch (eApprovalBusiness) {
//户籍变更数据
case DOMICILE_CHANGE:
//审批通过
if (approveOperation.equals(EModifyRecordStatus.APPROVE.getValue())) {
return R.ok(cuSelfServiceLogService.domicileChangeApproved(approvalBusinessResultDTO, selfServiceLog));
}
//审批驳回
if (approveOperation.equals(EModifyRecordStatus.REJECT.getValue())) {
//横冲手续费
return R.ok(cuSelfServiceLogService.domicileChangeReject(approvalBusinessResultDTO, selfServiceLog));
}
case SELF_MODIFY_ADDRESS:
//修改地址
return R.ok(cuSelfServiceLogService.selfExamine(approvalBusinessResultDTO));

View File

@ -24,11 +24,6 @@ public interface ICuSelfServiceLogService extends IService<CuSelfServiceLog> {
**/
List<SelfModifyAddressVO> querySelfModifyAddressManageList(SelfModifyAddressVO selfModifyAddressVO);
/**
* 自助服务-校验是否存在重复审核
**/
Integer checkSelfService(CuSelfServiceLog cuSelfServiceLog);
/**
*
**/
@ -52,7 +47,6 @@ public interface ICuSelfServiceLogService extends IService<CuSelfServiceLog> {
**/
boolean selfExamine(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* 根据业务类型用户ID查询自助服务
*
@ -78,16 +72,6 @@ public interface ICuSelfServiceLogService extends IService<CuSelfServiceLog> {
*/
DomicileChangeVO selectDomicileChangeDetail(Long pkId);
/**
* 根据用户ID和类型查询自动服务
*
* @param editType 服务类型
* @param pkMember 会员ID
* @param pkCountry 国家ID
* @return CuSelfServiceLogExt
*/
DomicileChangeVO selectDomicileChangeByPkMember(Long pkMember, Integer editType, Integer pkCountry);
/**
* 根据业务类型业务编号查询自助信息
*
@ -97,41 +81,6 @@ public interface ICuSelfServiceLogService extends IService<CuSelfServiceLog> {
*/
CuSelfServiceLog selectSelfServiceByBusinessNo(Integer editType, String businessNo);
/**
* 户籍变更审批通过
*
* @param approvalBusinessResultDTO 审核参数
* @param selfServiceLog 自助信息
* @return Boolean
*/
Integer domicileChangeApproved(ApprovalBusinessResultDTO approvalBusinessResultDTO, CuSelfServiceLog selfServiceLog);
/**
* 户籍变更审批驳回
*
* @param approvalBusinessResultDTO 审核参数
* @param selfServiceLog 自助信息
* @return Integer
*/
Integer domicileChangeReject(ApprovalBusinessResultDTO approvalBusinessResultDTO, CuSelfServiceLog selfServiceLog);
/**
* 户籍变更审批驳回
*
* @param domicileChangeVO ID
* @param pkMember 会员ID
* @return Integer
*/
Boolean domicileChangeRejectById(DomicileChangeVO domicileChangeVO, Long pkMember);
/**
* 户籍变更审批同意后台列表操作
*
* @param domicileChangeVO 户籍变更
* @return
*/
Integer domicileChangeAgree(DomicileChangeVO domicileChangeVO);
/**
*
**/

View File

@ -5,12 +5,11 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.CountryConstants;
import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.constant.RabbitMqConstants;
import com.hzs.common.core.constant.SystemFieldConstants;
import com.hzs.common.core.constant.msg.ConfigMsgConstants;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.*;
@ -18,14 +17,12 @@ import com.hzs.common.core.exception.ServiceException;
import com.hzs.common.core.utils.CommonUtil;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.member.self.CuSelfServiceLog;
import com.hzs.common.domain.member.self.CuSelfServiceLogExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.account.dto.BusinessCommissionDTO;
import com.hzs.member.account.dto.MemberAmountDTO;
import com.hzs.member.account.service.*;
import com.hzs.member.base.service.ICuMemberBusinessService;
import com.hzs.member.base.service.ICuMemberService;
@ -39,9 +36,7 @@ import com.hzs.sale.order.ISaOrderServiceApi;
import com.hzs.system.sys.IApprovalServiceApi;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
import com.hzs.system.sys.dto.ApprovalSubmitDTO;
import com.hzs.system.sys.dto.BusinessLogDTO;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -67,17 +62,13 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
@Autowired
private ICuMemberAccountService iCuMemberAccountService;
@Autowired
private ICuMemberTradeService cuMemberTradeService;
private ICuMemberTradeService iCuMemberTradeService;
@Autowired
private ICuMemberAuthenticationService cuMemberAuthenticationService;
private ICuMemberAuthenticationService iCuMemberAuthenticationService;
@Autowired
private ICuMemberBusinessLicenseService cuMemberBusinessLicenseService;
private ICuMemberBusinessLicenseService iCuMemberBusinessLicenseService;
@Autowired
private ICuMemberService cuMemberService;
@Autowired
private ICuMemberBankService cuMemberBankService;
@Autowired
private RabbitTemplate rabbitTemplate;
private ICuMemberService iCuMemberService;
@Override
public List<SelfModifyAddressVO> querySelfModifyAddressList(SelfModifyAddressVO selfModifyAddressVO) {
@ -89,11 +80,6 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
return baseMapper.querySelfModifyAddressManageList(selfModifyAddressVO);
}
@Override
public Integer checkSelfService(CuSelfServiceLog cuSelfServiceLog) {
return baseMapper.checkSelfService(cuSelfServiceLog);
}
@Override
public Integer selectByMaxApproveNumber(CuSelfServiceLog cuSelfServiceLog) {
return baseMapper.selectByMaxApproveNumber(cuSelfServiceLog);
@ -166,114 +152,53 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
@Transactional(rollbackFor = Exception.class)
public Boolean saveChangeDomicile(DomicileChangeVO domicileChangeVO) {
Long pkMember = domicileChangeVO.getPkMember();
int editType = EApprovalBusiness.DOMICILE_CHANGE.getValue();
Integer pkCountry = domicileChangeVO.getPkCountry();
CuSelfServiceLogExt cuSelfServiceLogExt = baseMapper.selectDomicileChangeByPkMember(editType, pkMember, pkCountry);
//逻辑删除已有的信息
if (null != cuSelfServiceLogExt) {
UpdateWrapper<CuSelfServiceLog> updateWrapper = new UpdateWrapper<>();
updateWrapper.set(SystemFieldConstants.DEL_FLAG, EDelFlag.DELETE.getValue());
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkMember);
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, new Date());
updateWrapper.eq("PK_ID", cuSelfServiceLogExt.getPkId());
update(updateWrapper);
}
//更新业务
iCuMemberService.updateMemberNameAndPhone(pkMember, domicileChangeVO.getChangeMemberName(), domicileChangeVO.getChangePhone(), pkMember);
// 注销实名认证营业执照
changeBusinessByChangeName(pkMember, pkMember);
//重置银行卡
BusinessMemberVO businessMemberVO = BusinessMemberVO.builder().pkMember(pkMember).build();
// iCuMemberBankService.batchUpdateBankBypkMembers(Collections.singletonList(businessMemberVO), pkModified);
//修改会员的变更次数
List<Long> pkMembers = Collections.singletonList(businessMemberVO.getPkMember());
iCuMemberService.updateMemberEditNumber(pkMembers, pkMember);
//变更前值
DomicileChangeVO oldValue = DomicileChangeVO.builder().memberName(domicileChangeVO.getMemberName())
.phone(domicileChangeVO.getPhone()).idFront(domicileChangeVO.getIdFront()).idBack(domicileChangeVO.getIdBack()).build();
DomicileChangeVO oldValue = DomicileChangeVO.builder()
.memberName(domicileChangeVO.getMemberName())
.phone(domicileChangeVO.getPhone())
.idFront(domicileChangeVO.getIdFront())
.idBack(domicileChangeVO.getIdBack())
.build();
//变更后的值
DomicileChangeVO newValue = DomicileChangeVO.builder().changeMemberName(domicileChangeVO.getChangeMemberName())
.changePhone(domicileChangeVO.getChangePhone()).changeIdFront(domicileChangeVO.getChangeIdFront()).changeIdBack(domicileChangeVO.getChangeIdBack()).build();
DomicileChangeVO newValue = DomicileChangeVO.builder()
.changeMemberName(domicileChangeVO.getChangeMemberName())
.changePhone(domicileChangeVO.getChangePhone())
.changeIdFront(domicileChangeVO.getChangeIdFront())
.changeIdBack(domicileChangeVO.getChangeIdBack())
.build();
String businessNo = CommonUtil.createSerialNumber(EOrderPrefix.SELF_SERVICE.getValue());
CuSelfServiceLog oldServiceLog = CuSelfServiceLog.builder().pkMember(pkMember)
.editType(editType).oldValue(JSONUtil.toJsonStr(oldValue)).selfRemark(domicileChangeVO.getRemark()).description(domicileChangeVO.getDescription())
.newValue(JSONUtil.toJsonStr(newValue)).businessNo(businessNo).approveStatus(EApproveRechargeStatus.SUBMIT.getValue()).pkAccount(domicileChangeVO.getPkAccount())
.approveNumber(MagicNumberConstants.CHANGE_NUM).singleAmount(domicileChangeVO.getAmount()).editTypePay(ETradeType.getValueByApprovalValue(editType)).build();
oldServiceLog.setPkCreator(pkMember);
oldServiceLog.setPkCountry(pkCountry);
//保存
this.save(oldServiceLog);
//扣费
return Charging(domicileChangeVO, businessNo);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer domicileChangeAgree(DomicileChangeVO domicileChangeVO) {
String businessNo = domicileChangeVO.getBusinessNo();
Long pkMember = domicileChangeVO.getPkMember();
Long pkModified = domicileChangeVO.getPkModified();
//更新审核状态
DomicileChangeVO domicileChange = DomicileChangeVO.builder().businessNo(businessNo)
.approveStatus(EApproveRechargeStatus.WAIT.getValue()).approveTime(new Date())
.pkModified(pkModified).build();
Integer result = baseMapper.updateSelfServiceByBusinessNo(domicileChange);
//调用审批接口修改审批状态
ApprovalSubmitDTO approvalSubmitDTO = ApprovalSubmitDTO.builder().eApprovalBusiness(EApprovalBusiness.DOMICILE_CHANGE)
.businessCode(businessNo).signSource(ESignSource.MANAGE)
.signType(ESignType.GENERAL).userIdList(domicileChangeVO.getUserIdList())
.remark(domicileChangeVO.getRemark()).pkMemberList(Collections.singleton(pkMember))
.sendIdList(domicileChangeVO.getSendIdList()).fileList(domicileChangeVO.getFileList())
CuSelfServiceLog oldServiceLog = CuSelfServiceLog.builder()
.pkMember(pkMember)
.editType(EApprovalBusiness.DOMICILE_CHANGE.getValue())
.oldValue(JSONUtil.toJsonStr(oldValue))
.newValue(JSONUtil.toJsonStr(newValue))
.businessNo(businessNo)
.selfRemark(domicileChangeVO.getRemark())
.description(domicileChangeVO.getDescription())
.approveStatus(EApproveRechargeStatus.AGREE.getValue())
.pkAccount(domicileChangeVO.getPkAccount())
.approveNumber(MagicNumberConstants.CHANGE_NUM)
.singleAmount(domicileChangeVO.getAmount())
.editTypePay(ETradeType.getValueByApprovalValue(EApprovalBusiness.DOMICILE_CHANGE.getValue()))
.build();
R<String> submit = iApprovalServiceApi.submit(approvalSubmitDTO, domicileChangeVO.getLoginUser());
if (!submit.isSuccess()) {
throw new RuntimeException(submit.getMsg());
}
//MQ户籍变更操作日志
CuSelfServiceLog cuSelfServiceLog = baseMapper.selectSelfServiceByBusinessNo(EApprovalBusiness.DOMICILE_CHANGE.getValue(), businessNo);
packageDomicileOperationLog(cuSelfServiceLog, businessNo, "同意", pkModified, false);
return result;
oldServiceLog.setPkCreator(pkMember);
oldServiceLog.setPkCountry(CountryConstants.CHINA_COUNTRY);
return this.save(oldServiceLog);
}
/**
* 户籍变更操作日志
*
* @param cuSelfServiceLog 入参
* @param businessNo 业务编号
* @param operationType 操作类型
*/
private void packageDomicileOperationLog(CuSelfServiceLog cuSelfServiceLog, String businessNo, String operationType, Long pkMember, Boolean freeSignFlag) {
DomicileChangeVO oldValue = JSONUtil.toBean(cuSelfServiceLog.getOldValue(), DomicileChangeVO.class);
DomicileChangeVO newValue = JSONUtil.toBean(cuSelfServiceLog.getNewValue(), DomicileChangeVO.class);
CuMemberExt cumember = cuMemberService.getMemberById(cuSelfServiceLog.getPkMember());
String sb = "会员编号:" + cumember.getMemberCode() +
" 变更前的会员姓名:" + oldValue.getMemberName() +
" 变更后的会员姓名:" + newValue.getChangeMemberName() +
" 变更前的联系方式:" + oldValue.getPhone() +
" 变更后的联系方式:" + newValue.getChangePhone() +
" 操作类型:" + operationType;
BusinessLogDTO businessLog = BusinessLogDTO.builder()
.businessType(EApprovalBusiness.DOMICILE_CHANGE.getValue())
.businessCode(businessNo).pkMember(cuSelfServiceLog.getPkMember())
.content(sb).pkCreator(pkMember)
.pkCountry(cuSelfServiceLog.getPkCountry())
.freeSignFlag(freeSignFlag).build();
rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, Collections.singleton(businessLog));
}
/**
* 扣费
*
* @param domicileChangeVO 户籍变更信息
* @param businessNo 业务编号
*/
public Boolean Charging(DomicileChangeVO domicileChangeVO, String businessNo) {
MemberAmountDTO memberAmountDTO = MemberAmountDTO.builder().pkMember(domicileChangeVO.getPkMember()).tradeAmount(domicileChangeVO.getAmount()).build();
List<MemberAmountDTO> memberAmountDTOList = new ArrayList<>();
memberAmountDTOList.add(memberAmountDTO);
BusinessCommissionDTO businessCommissionDTO = BusinessCommissionDTO.builder().pkAccount(domicileChangeVO.getPkAccount())
.tradeType(EApprovalBusiness.DOMICILE_CHANGE.getValue())
.tradeCode(businessNo)
.pkCountry(domicileChangeVO.getPkCountry())
.pkCreator(domicileChangeVO.getPkModified()).build();
businessCommissionDTO.setMemberAmountDTOList(memberAmountDTOList);
return cuMemberTradeService.businessCommissionSubmit(businessCommissionDTO);
}
@Override
public Object[] selectSelfServiceByPkMember(DomicileChangeVO domicileChangeVO) {
DomicileChangeVO domicileChange;
@ -290,11 +215,11 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
@Override
public Integer showIndexDomicile(Integer pkCountry, Long pkMember) {
QueryWrapper<CuSelfServiceLog> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_MEMBER", pkMember);
queryWrapper.eq("PK_COUNTRY", pkCountry);
queryWrapper.eq("EDIT_TYPE", EApprovalBusiness.DOMICILE_CHANGE.getValue());
queryWrapper.eq("APPROVE_STATUS", EApproveRechargeStatus.AGREE.getValue());
LambdaQueryWrapper<CuSelfServiceLog> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CuSelfServiceLog::getPkMember, pkMember);
queryWrapper.eq(CuSelfServiceLog::getPkCountry, pkCountry);
queryWrapper.eq(CuSelfServiceLog::getEditType, EApprovalBusiness.DOMICILE_CHANGE.getValue());
queryWrapper.eq(CuSelfServiceLog::getApproveStatus, EApproveRechargeStatus.AGREE.getValue());
Integer count = baseMapper.selectCount(queryWrapper);
return count > 0 ? EYesNo.NO.getIntValue() : EYesNo.YES.getIntValue();
}
@ -303,18 +228,8 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
public DomicileChangeVO selectDomicileChangeDetail(Long pkId) {
CuSelfServiceLogExt cuSelfServiceLogExt = baseMapper.selectDomicileChangeDetail(pkId);
return chargeDomicileChangeVO(cuSelfServiceLogExt);
}
@Override
public DomicileChangeVO selectDomicileChangeByPkMember(Long pkMember, Integer editType, Integer pkCountry) {
CuSelfServiceLogExt cuSelfServiceLogExt = baseMapper.selectDomicileChangeByPkMember(editType, pkMember, pkCountry);
return chargeDomicileChangeVO(cuSelfServiceLogExt);
}
/**
* 转化户籍VO
*
@ -334,7 +249,6 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
.rejectMsg(selfServiceLog.getRejectMsg())
.approveTime(selfServiceLog.getApproveTime())
.remark(selfServiceLog.getSelfRemark()).build();
}
@Override
@ -342,26 +256,6 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
return baseMapper.selectSelfServiceByBusinessNo(editType, businessNo);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer domicileChangeApproved(ApprovalBusinessResultDTO approvalBusinessResultDTO, CuSelfServiceLog selfServiceLog) {
Long pkMember = selfServiceLog.getPkMember();
Long pkModified = approvalBusinessResultDTO.getLoginUser().getUserId();
DomicileChangeVO domicileChangeVO = JSONUtil.toBean(selfServiceLog.getNewValue(), DomicileChangeVO.class);
//更新业务
cuMemberService.updateMemberNameAndPhone(pkMember, domicileChangeVO.getChangeMemberName(), domicileChangeVO.getChangePhone(), pkModified);
//注销实名认证营业执照
changeBusinessByChangeName(pkMember, pkModified);
//重置银行卡
BusinessMemberVO businessMemberVO = BusinessMemberVO.builder().pkMember(pkMember).build();
cuMemberBankService.batchUpdateBankBypkMembers(Collections.singletonList(businessMemberVO), pkModified);
//修改会员的变更次数
List<Long> pkMembers = Collections.singletonList(businessMemberVO.getPkMember());
cuMemberService.updateMemberEditNumber(pkMembers, pkModified);
//更新状态
return updateApprovalStatus(approvalBusinessResultDTO, pkModified);
}
/**
* 更新姓名删除相关实名操作
*
@ -372,73 +266,19 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
private void changeBusinessByChangeName(Long pkMember, Long pkModified) {
List<Long> pkMembers = Collections.singletonList(pkMember);
//更新实名认证
Boolean auth = cuMemberAuthenticationService.deleteByPkMembers(pkMembers, pkModified);
Boolean auth = iCuMemberAuthenticationService.deleteByPkMembers(pkMembers, pkModified);
//更新会员是否实名
if (auth) {
cuMemberService.updateMemberStatusByPkIds(pkMembers, pkModified, EAuthType.REAL_NAME.getValue());
iCuMemberService.updateMemberStatusByPkIds(pkMembers, pkModified, EAuthType.REAL_NAME.getValue());
}
//更新营业执照
Boolean license = cuMemberBusinessLicenseService.updateMemberLicenseByPkMembers(pkMembers, pkModified);
Boolean license = iCuMemberBusinessLicenseService.updateMemberLicenseByPkMembers(pkMembers, pkModified);
//更新会员是否营业执照
if (license) {
cuMemberService.updateMemberStatusByPkIds(pkMembers, pkModified, EAuthType.BUS_LICENSE.getValue());
iCuMemberService.updateMemberStatusByPkIds(pkMembers, pkModified, EAuthType.BUS_LICENSE.getValue());
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer domicileChangeReject(ApprovalBusinessResultDTO approvalBusinessResultDTO, CuSelfServiceLog selfServiceLog) {
Long userId = approvalBusinessResultDTO.getLoginUser().getUserId();
//扣费横冲
EApprovalBusiness eApprovalBusiness = approvalBusinessResultDTO.getEApprovalBusiness();
String businessCode = approvalBusinessResultDTO.getBusinessCode();
BusinessCommissionDTO businessCommissionDTO = BusinessCommissionDTO.builder().tradeType(eApprovalBusiness.getValue())
.tradeCode(businessCode).pkCountry(selfServiceLog.getPkCountry())
.pkCreator(userId).build();
cuMemberTradeService.businessCommissionReject(businessCommissionDTO);
//更新状态
return updateApprovalStatus(approvalBusinessResultDTO, userId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean domicileChangeRejectById(DomicileChangeVO domicileChangeVO, Long pkMember) {
UpdateWrapper<CuSelfServiceLog> updateWrapper = new UpdateWrapper<>();
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkMember);
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, new Date());
updateWrapper.set("approve_status", EApproveRechargeStatus.REJECT.getValue());
updateWrapper.set("approve_time", new Date());
updateWrapper.set("REJECT_MSG", domicileChangeVO.getRejectMsg());
updateWrapper.eq("PK_ID", domicileChangeVO.getPkId());
//更新状态
update(updateWrapper);
CuSelfServiceLog selfServiceLog = baseMapper.selectById(domicileChangeVO.getPkId());
//扣费横冲
BusinessCommissionDTO businessCommissionDTO = BusinessCommissionDTO.builder().tradeType(selfServiceLog.getEditType())
.tradeCode(selfServiceLog.getBusinessNo()).pkCountry(selfServiceLog.getPkCountry())
.pkCreator(pkMember).build();
Boolean result = cuMemberTradeService.businessCommissionReject(businessCommissionDTO);
// MQ户籍变更操作日志
packageDomicileOperationLog(selfServiceLog, selfServiceLog.getBusinessNo(), "驳回", pkMember, true);
return result;
}
/**
* 更新审核状态
*
* @param approvalBusinessResultDTO 审核参数
* @param pkModified 修改人ID
* @return Integer
*/
public Integer updateApprovalStatus(ApprovalBusinessResultDTO approvalBusinessResultDTO, Long pkModified) {
DomicileChangeVO domicileChange = DomicileChangeVO.builder().businessNo(approvalBusinessResultDTO.getBusinessCode())
.approveStatus(approvalBusinessResultDTO.getApproveOperation() + 1).approveTime(new Date())
.pkModified(pkModified).build();
return baseMapper.updateSelfServiceByBusinessNo(domicileChange);
}
@Transactional(rollbackFor = Exception.class)
@Override
public boolean selfExamine(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
@ -490,7 +330,7 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
businessCommissionDTO.setPkAccount(csso.getPkAccount());
businessCommissionDTO.setMemberAmountDTOList(csso.getMemberAmountDTOList());
businessCommissionDTO.setTradeType(EApprovalBusiness.SELF_MODIFY_ADDRESS.getValue());
Boolean b = cuMemberTradeService.businessCommissionReject(businessCommissionDTO);
Boolean b = iCuMemberTradeService.businessCommissionReject(businessCommissionDTO);
if (!b) {
throw new ServiceException(ConfigMsgConstants.MEMBER_UPDATE_CODE_MONEY);
}
@ -537,7 +377,7 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
businessCommissionDTO.setPkAccount(selVO.getPkAccount());
businessCommissionDTO.setMemberAmountDTOList(selVO.getMemberAmountDTOList());
businessCommissionDTO.setTradeType(EApprovalBusiness.SELF_MODIFY_ADDRESS.getValue());
Boolean b = cuMemberTradeService.businessCommissionSubmit(businessCommissionDTO);
Boolean b = iCuMemberTradeService.businessCommissionSubmit(businessCommissionDTO);
if (!b) {
throw new ServiceException(ConfigMsgConstants.SELF_MODIFY_ADDRESS);
}
@ -561,5 +401,4 @@ public class CuSelfServiceLogServiceImpl extends ServiceImpl<CuSelfServiceLogMap
}
}
}

View File

@ -21,20 +21,11 @@ public class SelfVO implements Serializable {
*/
private Integer existAddress;
/**
* 存在订单自提
*/
private Integer existOrderSelf;
/**
* 存在户籍变更
*/
private Integer existDomicile;
/**
* 存在月统计数据
*/
private Integer existMemberMonth;
/**
* 存在自助撤单 0 存在 1不存在
*/

View File

@ -15,7 +15,7 @@ import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.base.vo.MemberShare;
import com.hzs.member.sms.service.IApiCodeService;
import com.hzs.member.sms.service.IApiAliSmsService;
import com.hzs.member.share.param.ShareRegisterParam;
import com.hzs.third.share.IShareServiceApi;
import com.hzs.third.share.dto.ShareServiceDTO;
@ -30,11 +30,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @Description: 会员分享相关控制器
* @Author: jiang chao
* @Time: 2023/3/15 10:03
* @Classname: ShareController
* @PackageName: com.hzs.member.share.controller
* 会员分享相关控制器
*/
@Slf4j
@RestController
@ -44,7 +40,7 @@ public class ApiShareController extends BaseController {
@Autowired
private ICuMemberService iCuMemberService;
@Autowired
private IApiCodeService iApiCodeService;
private IApiAliSmsService iApiAliSmsService;
@Autowired
private RedisService redisService;
@ -112,7 +108,7 @@ public class ApiShareController extends BaseController {
if (relationStr != null) {
return AjaxResult.error(relationStr);
}
return toAjax(iApiCodeService.sendRegisterCode(phone));
return toAjax(iApiAliSmsService.sendRegisterCode(phone));
}
/**
@ -139,7 +135,7 @@ public class ApiShareController extends BaseController {
registerParam.setParentMember(parentMember);
// 校验短信验证码是否有效
String checkSmsStr = iApiCodeService.checkRegisterCode(registerParam.getPhone(), registerParam.getSmsCode());
String checkSmsStr = iApiAliSmsService.checkRegisterCode(registerParam.getPhone(), registerParam.getSmsCode());
if (null != checkSmsStr) {
return AjaxResult.error(checkSmsStr);
}

View File

@ -1,21 +1,19 @@
package com.hzs.member.sms.controller.api;
import cn.hutool.core.collection.CollectionUtil;
import com.hzs.common.core.annotation.RepeatSubmitSimple;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.security.utils.SecurityUtils;
import com.hzs.member.base.service.ICuMemberService;
import com.hzs.member.sms.service.IApiCodeService;
import com.hzs.member.sms.service.IApiAliSmsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 短信处理控制器
*/
@ -24,7 +22,7 @@ import java.util.List;
public class ApiSmsController extends BaseController {
@Autowired
private IApiCodeService iApiCodeService;
private IApiAliSmsService iApiAliSmsService;
@Autowired
private ICuMemberService iCuMemberService;
@ -37,7 +35,7 @@ public class ApiSmsController extends BaseController {
@RepeatSubmitSimple
@GetMapping("/verification")
public AjaxResult verification(@RequestParam(required = false) String phone) {
return toAjax(iApiCodeService.sendCode(phone, null, null));
return toAjax(iApiAliSmsService.sendCode(phone, null, null, SecurityUtils.getUserId()));
}
/**
@ -50,11 +48,11 @@ public class ApiSmsController extends BaseController {
@RepeatSubmitSimple
@GetMapping("/forget-verification")
public AjaxResult forgetVerification(@RequestParam String memberCode, @RequestParam String phone) {
List<CuMemberExt> cuMemberList = iCuMemberService.listMemberByPhone(phone);
if (CollectionUtil.isEmpty(cuMemberList)) {
return AjaxResult.error("会员联系方式不存在");
CuMember cuMember = iCuMemberService.getMember(memberCode);
if (null == cuMember) {
return AjaxResult.error("会员联系方式不存在");
}
return toAjax(iApiCodeService.sendRecoverCode(phone));
return toAjax(iApiAliSmsService.sendRecoverCode(phone, cuMember.getPkId()));
}
/**
@ -72,7 +70,7 @@ public class ApiSmsController extends BaseController {
return AjaxResult.error("会员信息不存在");
}
return toAjax(iApiCodeService.resetPayPasswordCode(cuMemberExt.getPhone()));
return toAjax(iApiAliSmsService.resetPayPasswordCode(cuMemberExt.getPhone(), cuMemberExt.getPkId()));
}
}

View File

@ -11,9 +11,10 @@ public interface IApiAliSmsService {
* @param phone 手机号码
* @param checkKey 验证码KEY -- 为空使用默认
* @param sendTimKey 验证码重复发送间隔KEY -- 为空使用默认
* @param pkMember 会员ID -- 如果有值优先缓存使用
* @return
*/
String sendCode(String phone, String checkKey, String sendTimKey);
String sendCode(String phone, String checkKey, String sendTimKey, Long pkMember);
/**
* 校验短信验证码
@ -21,9 +22,10 @@ public interface IApiAliSmsService {
* @param phone 手机号码
* @param smsCode 短信验证码
* @param checkKey 验证码KEY -- 为空使用默认
* @param pkMember 会员ID -- 如果有值优先缓存使用
* @return
*/
String checkCode(String phone, String smsCode, String checkKey);
String checkCode(String phone, String smsCode, String checkKey, Long pkMember);
// /**
// * 登录发送验证码
@ -63,34 +65,38 @@ public interface IApiAliSmsService {
* 找回密码发送验证码
*
* @param phone 手机号码
* @param pkMember 会员ID
* @return
*/
String sendRecoverCode(String phone);
String sendRecoverCode(String phone, Long pkMember);
/**
* 校验找回密码验证码
*
* @param phone 手机号码
* @param smsCode 短信验证码
* @param pkMember 会员ID
* @return
*/
String checkRecoverCode(String phone, String smsCode);
String checkRecoverCode(String phone, String smsCode, Long pkMember);
/**
* 重置支付密码发送验证码
*
* @param phone 手机号码
* @param pkMember 会员ID
* @return
*/
String resetPayPasswordCode(String phone);
String resetPayPasswordCode(String phone, Long pkMember);
/**
* 校验重置支付密码验证码
*
* @param phone 手机号码
* @param smsCode 短信验证码
* @param pkMember 会员ID
* @return
*/
String checkPayPasswordCode(String phone, String smsCode);
String checkPayPasswordCode(String phone, String smsCode, Long pkMember);
}

View File

@ -1,79 +0,0 @@
package com.hzs.member.sms.service;
/**
* 验证码服务
*/
public interface IApiCodeService {
/**
* 短信验证码
*
* @param phone 联系方式
* @param checkKey 验证码KEY -- 为空使用默认
* @param sendTimKey 验证码重复发送间隔KEY -- 为空使用默认
* @return
*/
String sendCode(String phone, String checkKey, String sendTimKey);
/**
* 校验短信验证码
*
* @param phone 联系方式
* @param smsCode 短信验证码
* @param checkKey 验证码KEY -- 为空使用默认
* @return
*/
String checkCode(String phone, String smsCode, String checkKey);
/**
* 注册发送验证码
*
* @param phone 联系方式
* @return
*/
String sendRegisterCode(String phone);
/**
* 校验注册验证码
*
* @param phone 联系方式
* @param smsCode 短信验证码
* @return
*/
String checkRegisterCode(String phone, String smsCode);
/**
* 找回密码发送验证码
*
* @param phone 联系方式
* @return
*/
String sendRecoverCode(String phone);
/**
* 校验找回密码验证码
*
* @param phone 联系方式
* @param smsCode 短信验证码
* @return
*/
String checkRecoverCode(String phone, String smsCode);
/**
* 重置支付密码发送验证码
*
* @param phone 联系方式
* @return
*/
String resetPayPasswordCode(String phone);
/**
* 校验重置支付密码验证码
*
* @param phone 联系方式
* @param smsCode 短信验证码
* @return
*/
String checkPayPasswordCode(String phone, String smsCode);
}

View File

@ -33,12 +33,12 @@ public class ApiAliSmsServiceImpl implements IApiAliSmsService {
ISmsServiceApi iSmsServiceApi;
@Override
public String sendCode(String phone, String checkKey, String sendTimKey) {
// 每个手机号每天只能获取30次短信验证码
public String sendCode(String phone, String checkKey, String sendTimKey, Long pkMember) {
// 每个手机号每天只能获取20次短信验证码
String smsCountKey = String.format(CacheConstants.SMS_COUNT, DateUtil.format(new Date(), DatePattern.PURE_DATE_PATTERN));
Object smsCountObj = redisService.getCacheMapValue(smsCountKey, phone);
if (smsCountObj != null) {
if (Integer.parseInt(smsCountObj.toString()) >= 30) {
if (Integer.parseInt(smsCountObj.toString()) > 20) {
return "当前手机号码获取短信已达当日上限";
}
}
@ -64,12 +64,11 @@ public class ApiAliSmsServiceImpl implements IApiAliSmsService {
if (sendResult.isSuccess()) {
// 返回成功验证码放入缓存
// 验证码缓存有效期5分钟
redisService.setCacheObject(checkKey + phone, code, 5L, TimeUnit.MINUTES);
redisService.setCacheObject(checkKey + (null != pkMember ? pkMember : phone), code, 5L, TimeUnit.MINUTES);
// 验证码发送间隔不能低于1分钟
redisService.setCacheObject(sendTimKey + phone, "", 1L, TimeUnit.MINUTES);
// 每天只能发送30次短信验证码
if (smsCountObj == null) {
redisService.setCacheMapValue(smsCountKey, phone, 1);
redisService.expire(smsCountKey, 1, TimeUnit.DAYS);
@ -84,7 +83,7 @@ public class ApiAliSmsServiceImpl implements IApiAliSmsService {
}
@Override
public String checkCode(String phone, String smsCode, String checkKey) {
public String checkCode(String phone, String smsCode, String checkKey, Long pkMember) {
if (EEnv.TEST.getValue().equals(BdConfig.getEnv()) && "ASDF".equals(smsCode)) {
// 测试环境暂时不发放短信
return null;
@ -95,16 +94,16 @@ public class ApiAliSmsServiceImpl implements IApiAliSmsService {
checkKey = CacheConstants.DEFAULT_CHECK;
}
String cacheSmsCode = redisService.getCacheObject(checkKey + phone);
String cacheSmsCode = redisService.getCacheObject(checkKey + (null != pkMember ? pkMember : phone));
if (null == cacheSmsCode) {
return "验证码已失效";
}
if (!cacheSmsCode.equals(smsCode)) {
// 验证码错误需不需要清除缓存验证码会不会存在暴力破解情况
// TODO 验证码错误需不需要清除缓存验证码会不会存在暴力破解情况
return "验证码错误";
}
// 校验通过删除验证码缓存
redisService.deleteObject(checkKey + phone);
redisService.deleteObject(checkKey + (null != pkMember ? pkMember : phone));
return null;
}
@ -125,12 +124,12 @@ public class ApiAliSmsServiceImpl implements IApiAliSmsService {
@Override
public String sendRegisterCode(String phone) {
return this.sendCode(phone, CacheConstants.REGISTER_CHECK, CacheConstants.REGISTER_SEND_TIME);
return this.sendCode(phone, CacheConstants.REGISTER_CHECK, CacheConstants.REGISTER_SEND_TIME, null);
}
@Override
public String checkRegisterCode(String phone, String smsCode) {
String str = this.checkCode(phone, smsCode, CacheConstants.REGISTER_CHECK);
String str = this.checkCode(phone, smsCode, CacheConstants.REGISTER_CHECK, null);
if (null == str) {
// 删除验证码间隔时间缓存
redisService.deleteObject(CacheConstants.REGISTER_SEND_TIME + phone);
@ -139,13 +138,13 @@ public class ApiAliSmsServiceImpl implements IApiAliSmsService {
}
@Override
public String sendRecoverCode(String phone) {
return this.sendCode(phone, CacheConstants.RECOVER_CHECK, CacheConstants.RECOVER_SEND_TIME);
public String sendRecoverCode(String phone, Long pkMember) {
return this.sendCode(phone, CacheConstants.RECOVER_CHECK, CacheConstants.RECOVER_SEND_TIME, pkMember);
}
@Override
public String checkRecoverCode(String phone, String smsCode) {
String str = this.checkCode(phone, smsCode, CacheConstants.RECOVER_CHECK);
public String checkRecoverCode(String phone, String smsCode, Long pkMember) {
String str = this.checkCode(phone, smsCode, CacheConstants.RECOVER_CHECK, pkMember);
if (null == str) {
// 删除验证码间隔时间缓存
redisService.deleteObject(CacheConstants.RECOVER_SEND_TIME + phone);
@ -154,13 +153,13 @@ public class ApiAliSmsServiceImpl implements IApiAliSmsService {
}
@Override
public String resetPayPasswordCode(String phone) {
return this.sendCode(phone, CacheConstants.RESET_CHECK, CacheConstants.RESET_SEND_TIME);
public String resetPayPasswordCode(String phone, Long pkMember) {
return this.sendCode(phone, CacheConstants.RESET_CHECK, CacheConstants.RESET_SEND_TIME, pkMember);
}
@Override
public String checkPayPasswordCode(String phone, String smsCode) {
String str = this.checkCode(phone, smsCode, CacheConstants.RESET_CHECK);
public String checkPayPasswordCode(String phone, String smsCode, Long pkMember) {
String str = this.checkCode(phone, smsCode, CacheConstants.RESET_CHECK, pkMember);
if (null == str) {
// 删除验证码间隔时间缓存
redisService.deleteObject(CacheConstants.RESET_SEND_TIME + phone);

View File

@ -1,59 +0,0 @@
package com.hzs.member.sms.service.impl;
import com.hzs.member.sms.service.IApiAliSmsService;
import com.hzs.member.sms.service.IApiCodeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 验证码服务
*/
@Slf4j
@Service
public class ApiCodeServiceImpl implements IApiCodeService {
@Autowired
private IApiAliSmsService iApiAliSmsService;
@Override
public String sendCode(String phone, String checkKey, String sendTimKey) {
return iApiAliSmsService.sendCode(phone, checkKey, sendTimKey);
}
@Override
public String checkCode(String phone, String smsCode, String checkKey) {
return iApiAliSmsService.checkCode(phone, smsCode, checkKey);
}
@Override
public String sendRegisterCode(String phone) {
return iApiAliSmsService.sendRegisterCode(phone);
}
@Override
public String checkRegisterCode(String phone, String smsCode) {
return iApiAliSmsService.checkRegisterCode(phone, smsCode);
}
@Override
public String sendRecoverCode(String phone) {
return iApiAliSmsService.sendRecoverCode(phone);
}
@Override
public String checkRecoverCode(String phone, String smsCode) {
return iApiAliSmsService.checkRecoverCode(phone, smsCode);
}
@Override
public String resetPayPasswordCode(String phone) {
return iApiAliSmsService.resetPayPasswordCode(phone);
}
@Override
public String checkPayPasswordCode(String phone, String smsCode) {
return iApiAliSmsService.checkPayPasswordCode(phone, smsCode);
}
}

View File

@ -1264,40 +1264,29 @@
cm.MEMBER_CODE as memberCode,
cm.MEMBER_NAME memberName,
cm.PHONE phone,
bg.PK_TRANSACTION as pkRegisterGrade,
bgg.PK_TRANSACTION as pkSettleGrade,
ba.PK_TRANSACTION as pkAwards,
bamax.PK_TRANSACTION as pkMaxAwards,
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.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
left join BD_GRADE bg on bg.pk_id=cm.PK_REGISTER_GRADE
left join BD_GRADE bgg on bgg.pk_id=cm.PK_SETTLE_GRADE
left join BD_AWARDS ba on ba.pk_id=cm.PK_AWARDS
left join BD_AWARDS baMax on baMax.pk_id=cm.PK_MAX_AWARDS
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 ma.del_flag = 0
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if>
@ -1310,8 +1299,8 @@
<if test="memberName != null and 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}
@ -1331,33 +1320,9 @@
<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} ||'%'
</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}||'%'
</if>
<if test="startCertificationTime != null">
and ma.CREATION_TIME &gt;= to_date(#{startCertificationTime}, 'yyyy-mm-dd')
</if>
@ -2448,7 +2413,6 @@
)
</select>
<select id="selectMemberByUnderBlood" resultType="com.hzs.common.domain.system.config.BdTradeWhiteConfig">
SELECT pk_id pkId,
withdrawal_state withdrawalState,

View File

@ -64,86 +64,6 @@
ORDER BY a.CREATION_TIME DESC
</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
</select>
<!-- 更新团队为空 -->
<update id="updateTeamNullById">
update cu_member

View File

@ -58,7 +58,6 @@
<result column="REC_CITY" property="recCity"/>
<result column="REC_COUNTY" property="recCounty"/>
<result column="REC_ADDRESS" property="recAddress"/>
<collection property="itemList" ofType="com.hzs.member.self.vo.MyOrderItemsVO">
<result column="pk_Order" property="pkOrder"/>
<result column="PRODUCT_NAME" property="productName"/>
@ -69,20 +68,8 @@
<result column="ASS_ACHIEVEMENT" property="assAchievement"/>
<result column="IS_GIFT" property="isGift"/>
</collection>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
DEL_FLAG,
CREATION_TIME,
MODIFIED_TIME,
PK_COUNTRY,
PK_CREATOR,
PK_MODIFIED,
PK_ID, PK_MEMBER, EDIT_TYPE, OLD_VALUE, NEW_VALUE, BUSINESS_NO, APPROVE_STATUS, APPROVE_NUMBER, EDIT_TYPE_PAY, SINGLE_AMOUNT
</sql>
<!-- 自助服务-查询已申请修改收货地址-->
<select id="querySelfModifyAddressList" parameterType="com.hzs.member.self.vo.SelfModifyAddressVO"
@ -232,9 +219,9 @@
select count(0)
from sa_order so
where so.del_flag = 0
and order_status in (1)
and so.pk_creator = #{memberId}
AND TO_CHAR(so.PAY_TIME,'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')
and order_status in (1)
and so.pk_creator = #{memberId}
AND TO_CHAR(so.PAY_TIME, 'YYYY-MM-DD') = TO_CHAR(SYSDATE, 'YYYY-MM-DD')
</select>
<!-- 根据订单ID查询订单明细列表 -->
@ -250,7 +237,6 @@
</foreach>
</select>
<select id="selectSelfServiceByPkMember" resultType="com.hzs.common.domain.member.self.CuSelfServiceLogExt">
select l.*, m.member_code memberCode
from cu_self_service_log l
@ -267,14 +253,14 @@
and l.business_no = #{businessNo}
</if>
<if test="memberCode != null and memberCode != ''">
and m.member_code like '%'|| #{memberCode} || '%'
and m.member_code like '%'|| #{memberCode} || '%'
</if>
<if test="memberName != null and memberName != ''">
and l.OLD_VALUE like '%'|| #{memberName} || '%'
</if>
<if test="phone != null and phone != ''">
and l.OLD_VALUE like '%'|| #{phone} || '%'
and l.OLD_VALUE like '%'|| #{phone} || '%'
</if>
<if test="approveStatus != null">
and l.APPROVE_STATUS = #{approveStatus}
@ -291,67 +277,29 @@
<select id="selectDomicileChangeDetail" resultType="com.hzs.common.domain.member.self.CuSelfServiceLogExt">
select l.*, m.member_code memberCode
from cu_self_service_log l
left join cu_member m
on l.pk_member = m.pk_id
and m.del_flag = 0
where l.del_flag = 0
and l.pk_id = #{pkId}
from cu_self_service_log l
left join cu_member m
on l.pk_member = m.pk_id
and m.del_flag = 0
where l.del_flag = 0
and l.pk_id = #{pkId}
</select>
<select id="selectDomicileChangeByPkMember" resultType="com.hzs.common.domain.member.self.CuSelfServiceLogExt">
select l.*, m.member_code memberCode
from cu_self_service_log l
left join cu_member m
on l.pk_member = m.pk_id
and m.del_flag = 0
where l.del_flag = 0
and l.pk_member = #{pkMember}
and l.pk_country = #{pkCountry}
and l.edit_type = #{editType}
</select>
<select id="selectSelfServiceByBusinessNo" resultMap="BaseResultMap">
select l.*
from cu_self_service_log l
where l.del_flag = 0
from cu_self_service_log l
where l.del_flag = 0
and l.edit_type = #{editType}
and l.business_no = #{businessNo}
</select>
<!--查询自助服务申请的最大次数-->
<select id="checkSelfService" resultType="java.lang.Integer">
select count(1)
from CU_SELF_SERVICE_LOG a
WHERE a.PK_MEMBER=#{pkMember} and
a.DEL_FLAG = 0 AND (a.APPROVE_STATUS =0 or a.APPROVE_STATUS =1 )
<if test="editType != null">
AND a.EDIT_TYPE = #{editType}
</if>
<if test="pkCountry != null ">
AND a.PK_COUNTRY = #{pkCountry}
</if>
</select>
<select id="selectByMaxApproveNumber" parameterType="com.hzs.common.domain.member.self.CuSelfServiceLog"
resultType="integer">
select nvl(max(APPROVE_NUMBER),0) from CU_SELF_SERVICE_LOG
select nvl(max(APPROVE_NUMBER), 0)
from CU_SELF_SERVICE_LOG
where EDIT_TYPE = #{editType}
and PK_MEMBER = #{pkMember}
and APPROVE_STATUS=#{approveStatus}
and PK_MEMBER = #{pkMember}
and APPROVE_STATUS = #{approveStatus}
</select>
<update id="updateSelfServiceByBusinessNo">
update cu_self_service_log
<set>
<if test="approveStatus != null">approve_status = #{approveStatus},</if>
<if test="approveTime != null">approve_time = #{approveTime},</if>
<if test="pkModified != null">pk_modified = #{pkModified},</if>
modified_time = sysdate
</set>
where BUSINESS_NO = #{businessNo}
</update>
</mapper>

View File

@ -1,6 +1,5 @@
package com.hzs.system.config.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.system.config.BdTradeConfig;
import com.hzs.system.config.vo.BdTradeConfigVO;
@ -8,16 +7,10 @@ import com.hzs.system.config.vo.BdTradeConfigVO;
import java.util.List;
/**
* <p>
* 交易配置表 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-08-18
*/
public interface BdTradeConfigMapper extends BaseMapper<BdTradeConfig> {
/**
* 查询交易配置列表
*
@ -26,7 +19,6 @@ public interface BdTradeConfigMapper extends BaseMapper<BdTradeConfig> {
*/
List<BdTradeConfig> selectTradeConfigList(BdTradeConfigVO tradeConfigVO);
/**
* 根据条件查询交易配置列表
*
@ -35,5 +27,4 @@ public interface BdTradeConfigMapper extends BaseMapper<BdTradeConfig> {
*/
BdTradeConfig selectTradeConfigByCondition(BdTradeConfigVO tradeConfigVO);
}

View File

@ -1,6 +1,5 @@
package com.hzs.system.config.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.system.config.BdTradeWhiteConfig;
import com.hzs.common.domain.system.config.ext.BdTradeWhiteConfigExt;
@ -9,12 +8,7 @@ import com.hzs.system.config.vo.BdTradeWhiteConfigVO;
import java.util.List;
/**
* <p>
* 交易白名单配置表 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-08-18
*/
public interface BdTradeWhiteConfigMapper extends BaseMapper<BdTradeWhiteConfig> {

View File

@ -16,46 +16,34 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
* @Description:
* @Author: ljc
* @Time: 2023/8/21 15:10
* @Classname: ITradeConfigServiceProvider
* @Package_name: com.hzs.system.config.provider
*/
@DubboService
public class ITradeConfigServiceProvider implements ITradeConfigServiceApi {
@Autowired
private IBdTradeConfigService bdTradeConfigService;
@Autowired
private IBdTradeWhiteConfigService bdTradeWhiteConfigService;
private IBdTradeConfigService iBdTradeConfigService;
@Autowired
private ICuMemberTransferWhiteService cuMemberTransferWhiteService;
private IBdTradeWhiteConfigService iBdTradeWhiteConfigService;
@Autowired
private ICuMemberTransferWhiteService iCuMemberTransferWhiteService;
@Override
public R<BdTradeConfig> selectTradeConfigByCondition(TradeConfigDTO tradeConfigDTO) {
return R.ok(bdTradeConfigService.selectTradeConfigByCondition(BeanUtil.copyProperties(tradeConfigDTO, BdTradeConfigVO.class)));
return R.ok(iBdTradeConfigService.selectTradeConfigByCondition(BeanUtil.copyProperties(tradeConfigDTO, BdTradeConfigVO.class)));
}
@Override
public R<BdTradeWhiteConfig> selectTradeWhiteConfigByCondition(TradeConfigDTO tradeConfigDTO) {
return R.ok(bdTradeWhiteConfigService.selectTradeWhiteConfigByCondition(BeanUtil.copyProperties(tradeConfigDTO, BdTradeWhiteConfigVO.class)));
return R.ok(iBdTradeWhiteConfigService.selectTradeWhiteConfigByCondition(BeanUtil.copyProperties(tradeConfigDTO, BdTradeWhiteConfigVO.class)));
}
@Override
public R<List<Integer>> selectTransferWhiteByPkMember(Long pkMember, Integer pkCountry) {
return R.ok(cuMemberTransferWhiteService.selectTransferWhiteByPkMember(pkMember, pkCountry));
return R.ok(iCuMemberTransferWhiteService.selectTransferWhiteByPkMember(pkMember, pkCountry));
}
@Override
public R<List<Long>> selectTradeWhiteConfigByUnderBlood(TradeConfigDTO tradeConfigDTO) {
return R.ok(bdTradeWhiteConfigService.selectTradeWhiteConfigByUnderBlood(BeanUtil.copyProperties(tradeConfigDTO, BdTradeWhiteConfigVO.class)));
return R.ok(iBdTradeWhiteConfigService.selectTradeWhiteConfigByUnderBlood(BeanUtil.copyProperties(tradeConfigDTO, BdTradeWhiteConfigVO.class)));
}
}

View File

@ -1,6 +1,5 @@
package com.hzs.system.config.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.config.BdTradeConfig;
import com.hzs.system.config.vo.BdTradeConfigVO;
@ -8,12 +7,7 @@ import com.hzs.system.config.vo.BdTradeConfigVO;
import java.util.List;
/**
* <p>
* 交易配置表 服务类
* </p>
*
* @author hzs
* @since 2023-08-18
*/
public interface IBdTradeConfigService extends IService<BdTradeConfig> {
@ -33,7 +27,6 @@ public interface IBdTradeConfigService extends IService<BdTradeConfig> {
*/
List<BdTradeConfigVO> showTradeConfigList(BdTradeConfigVO tradeConfigVO);
/**
* 更新交易配置
*
@ -61,11 +54,10 @@ public interface IBdTradeConfigService extends IService<BdTradeConfig> {
/**
* 查询详情
*
* @param pkId 主键ID
* @param pkId 主键ID
* @param pkCountry 国家ID
* @return BdTradeConfigVO
*/
BdTradeConfigVO selectTradeConfigDetail(Integer pkId, Integer pkCountry);
}

View File

@ -1,6 +1,5 @@
package com.hzs.system.config.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.config.BdTradeWhiteConfig;
import com.hzs.system.config.vo.BdTradeWhiteConfigVO;
@ -8,16 +7,10 @@ import com.hzs.system.config.vo.BdTradeWhiteConfigVO;
import java.util.List;
/**
* <p>
* 交易白名单配置表 服务类
* </p>
*
* @author hzs
* @since 2023-08-18
*/
public interface IBdTradeWhiteConfigService extends IService<BdTradeWhiteConfig> {
/**
* 保存交易配置
*
@ -26,7 +19,6 @@ public interface IBdTradeWhiteConfigService extends IService<BdTradeWhiteConfig>
*/
Integer addTradeWhiteConfig(BdTradeWhiteConfigVO tradeWhiteConfigVO);
/**
* 查询交易白名单配置列表
*
@ -35,7 +27,6 @@ public interface IBdTradeWhiteConfigService extends IService<BdTradeWhiteConfig>
*/
Object[] showTradeWhiteConfigList(BdTradeWhiteConfigVO tradeWhiteConfigVO);
/**
* 更新交易配置白名单
*
@ -53,7 +44,6 @@ public interface IBdTradeWhiteConfigService extends IService<BdTradeWhiteConfig>
*/
Boolean deleteTradeWhiteConfig(String pkId, Long pkCreator);
/**
* 根据条件查询交易白名单配置
*
@ -70,7 +60,6 @@ public interface IBdTradeWhiteConfigService extends IService<BdTradeWhiteConfig>
*/
BdTradeWhiteConfig selectTradeWhiteConfigByPkMember(Long pkMember);
/**
* 查询配置伞下白名单的会员
*
@ -78,4 +67,5 @@ public interface IBdTradeWhiteConfigService extends IService<BdTradeWhiteConfig>
* @return List<Long>
*/
List<Long> selectTradeWhiteConfigByUnderBlood(BdTradeWhiteConfigVO tradeWhiteConfigVO);
}

View File

@ -1,16 +1,10 @@
package com.hzs.system.config.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.CacheConstants;
import com.hzs.common.core.constant.SystemFieldConstants;
import com.hzs.common.core.enums.EBusinessModule;
import com.hzs.common.core.enums.EVerificationModule;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.BdGrade;
@ -29,28 +23,17 @@ import java.util.*;
import java.util.stream.Collectors;
/**
* <p>
* 交易配置表 服务实现类
* </p>
*
* @author hzs
* @since 2023-08-18
*/
@Slf4j
@Service
public class BdTradeConfigServiceImpl extends ServiceImpl<BdTradeConfigMapper, BdTradeConfig> implements IBdTradeConfigService {
@Autowired
IBdAwardsService iBdAwardsService;
@Autowired
IBdGradeService iBdGradeService;
@Autowired
private RedisService redisService;
@Override
public Integer addTradeConfig(BdTradeConfigVO tradeConfigVO) {
BdTradeConfig bdTradeConfig = conversionTradeConfig(tradeConfigVO);
@ -58,7 +41,6 @@ public class BdTradeConfigServiceImpl extends ServiceImpl<BdTradeConfigMapper, B
return baseMapper.insert(bdTradeConfig);
}
@Override
public Integer updateTradeConfig(BdTradeConfigVO tradeConfigVO) {
BdTradeConfig bdTradeConfig = conversionTradeConfig(tradeConfigVO);
@ -67,7 +49,6 @@ public class BdTradeConfigServiceImpl extends ServiceImpl<BdTradeConfigMapper, B
return baseMapper.updateById(bdTradeConfig);
}
private BdTradeConfig conversionTradeConfig(BdTradeConfigVO tradeConfigVO) {
List<Integer> pkAwardsList = tradeConfigVO.getPkAwardsList();
List<Integer> pkGradeList = tradeConfigVO.getPkGradeList();
@ -83,14 +64,13 @@ public class BdTradeConfigServiceImpl extends ServiceImpl<BdTradeConfigMapper, B
return bdTradeConfig;
}
@Override
public Boolean deleteTradeConfig(Integer pkId, Long pkMember) {
UpdateWrapper<BdTradeConfig> updateWrapper = new UpdateWrapper<>();
updateWrapper.set(SystemFieldConstants.DEL_FLAG, EYesNo.NO.getIntValue());
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkMember);
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, new Date());
updateWrapper.eq(SystemFieldConstants.PK_ID, pkId);
LambdaUpdateWrapper<BdTradeConfig> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(BdTradeConfig::getDelFlag, EYesNo.NO.getIntValue());
updateWrapper.set(BdTradeConfig::getPkModified, pkMember);
updateWrapper.set(BdTradeConfig::getModifiedTime, new Date());
updateWrapper.eq(BdTradeConfig::getPkId, pkId);
return update(updateWrapper);
}
@ -117,7 +97,6 @@ public class BdTradeConfigServiceImpl extends ServiceImpl<BdTradeConfigMapper, B
configVO.setGradeDetailList(gradeTransaction(pkGradeStr, gradeMap));
configVOList.add(configVO);
}
}
return configVOList;
}
@ -143,7 +122,6 @@ public class BdTradeConfigServiceImpl extends ServiceImpl<BdTradeConfigMapper, B
return awardsDetailList;
}
/**
* 奖衔翻译
*
@ -191,54 +169,13 @@ public class BdTradeConfigServiceImpl extends ServiceImpl<BdTradeConfigMapper, B
if (StringUtils.isNotEmpty(pkGradeStr)) {
bdTradeConfigVO.setPkGradeList(Arrays.asList(pkGradeStr.split(",")).stream().map(Integer::valueOf).collect(Collectors.toList()));
}
}
return bdTradeConfigVO;
}
@Override
public BdTradeConfig selectTradeConfigByCondition(BdTradeConfigVO tradeConfigVO) {
BdTradeConfig bdTradeConfig = null;
String cacheKey = getCacheKey(tradeConfigVO);
if (null != cacheKey) {
bdTradeConfig = redisService.getCacheObject(cacheKey);
if (null == bdTradeConfig) {
bdTradeConfig = baseMapper.selectTradeConfigByCondition(tradeConfigVO);
if (null != bdTradeConfig) {
redisService.setCacheObject(cacheKey, bdTradeConfig);
}
}
}
return bdTradeConfig;
return baseMapper.selectTradeConfigByCondition(tradeConfigVO);
}
private String getCacheKey(BdTradeConfigVO tradeConfigVO) {
Integer pkCountry = tradeConfigVO.getPkCountry();
Integer businessModule = tradeConfigVO.getBusinessModule();
Integer pkAwards = tradeConfigVO.getPkAwards();
Integer pkGrade = tradeConfigVO.getPkGrade();
Integer realNameState = tradeConfigVO.getRealNameState();
Integer licenseState = tradeConfigVO.getLicenseState();
//提现转账奖衔
if (null != businessModule && null != pkAwards && null != realNameState) {
return CacheConstants.TRADE_CONFIG + ":" + pkCountry + ":" + businessModule + pkAwards + EVerificationModule.REAL_NAME.getValue();
}
if (null != businessModule && null != pkAwards && null != licenseState) {
return CacheConstants.TRADE_CONFIG + ":" + pkCountry + ":" + businessModule + pkAwards + EVerificationModule.BUSINESS_LICENSE.getValue();
}
//提现等级
if (null != businessModule && null != pkGrade && null != realNameState) {
return CacheConstants.TRADE_CONFIG + ":" + pkCountry + ":" + businessModule + pkGrade + EVerificationModule.REAL_NAME.getValue();
}
if (null != businessModule && null != pkGrade && null != licenseState) {
return CacheConstants.TRADE_CONFIG + ":" + pkCountry + ":" + businessModule + pkGrade + EVerificationModule.BUSINESS_LICENSE.getValue();
}
return null;
}
}

View File

@ -1,25 +1,17 @@
package com.hzs.system.config.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.CacheConstants;
import com.hzs.common.core.constant.SystemFieldConstants;
import com.hzs.common.core.enums.EBusinessModule;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.enums.retail.ETradeMemberWhite;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.domain.system.config.BdTradeWhiteConfig;
import com.hzs.common.domain.system.config.ext.BdTradeWhiteConfigExt;
import com.hzs.member.base.IMemberServiceApi;
import com.hzs.system.config.mapper.BdTradeWhiteConfigMapper;
import com.hzs.system.config.service.IBdTradeWhiteConfigService;
import com.hzs.system.config.vo.BdTradeWhiteConfigVO;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -30,30 +22,17 @@ import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 交易白名单配置表 服务实现类
* </p>
*
* @author hzs
* @since 2023-08-18
*/
@Service
public class BdTradeWhiteConfigServiceImpl extends ServiceImpl<BdTradeWhiteConfigMapper, BdTradeWhiteConfig> implements IBdTradeWhiteConfigService {
@DubboReference
IMemberServiceApi iMemberServiceApi;
@Autowired
private RedisService redisService;
@Override
public Integer addTradeWhiteConfig(BdTradeWhiteConfigVO tradeWhiteConfigVO) {
BdTradeWhiteConfig bdTradeWhiteConfig = BeanUtil.copyProperties(tradeWhiteConfigVO, BdTradeWhiteConfig.class);
return baseMapper.insert(bdTradeWhiteConfig);
}
@Override
public Integer updateTradeWhiteConfig(BdTradeWhiteConfigVO tradeWhiteConfigVO) {
BdTradeWhiteConfig bdTradeWhiteConfig = BeanUtil.copyProperties(tradeWhiteConfigVO, BdTradeWhiteConfig.class);
@ -62,20 +41,19 @@ public class BdTradeWhiteConfigServiceImpl extends ServiceImpl<BdTradeWhiteConfi
return baseMapper.updateById(bdTradeWhiteConfig);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteTradeWhiteConfig(String pkId, Long pkCreator) {
List<Integer> pkIdList = Arrays.stream(pkId.split(","))
.map(Integer::parseInt)
.collect(Collectors.toList());
for(Integer id:pkIdList){
UpdateWrapper<BdTradeWhiteConfig> updateWrapper = new UpdateWrapper<>();
updateWrapper.set(SystemFieldConstants.DEL_FLAG, EYesNo.NO.getIntValue());
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkCreator);
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, new Date());
updateWrapper.eq(SystemFieldConstants.PK_ID, id);
baseMapper.update(null,updateWrapper);
for (Integer id : pkIdList) {
LambdaUpdateWrapper<BdTradeWhiteConfig> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(BdTradeWhiteConfig::getDelFlag, EYesNo.NO.getIntValue());
updateWrapper.set(BdTradeWhiteConfig::getPkModified, pkCreator);
updateWrapper.set(BdTradeWhiteConfig::getModifiedTime, new Date());
updateWrapper.eq(BdTradeWhiteConfig::getPkId, id);
baseMapper.update(null, updateWrapper);
}
return true;
}
@ -95,7 +73,6 @@ public class BdTradeWhiteConfigServiceImpl extends ServiceImpl<BdTradeWhiteConfi
return new Object[]{bdTradeWhiteConfigExts, bdTradeWhiteConfigVOList};
}
@Override
public BdTradeWhiteConfig selectTradeWhiteConfigByCondition(BdTradeWhiteConfigVO tradeWhiteConfigVO) {
return baseMapper.selectTradeWhiteConfigByCondition(tradeWhiteConfigVO);
@ -103,16 +80,14 @@ public class BdTradeWhiteConfigServiceImpl extends ServiceImpl<BdTradeWhiteConfi
@Override
public BdTradeWhiteConfig selectTradeWhiteConfigByPkMember(Long pkMember) {
QueryWrapper<BdTradeWhiteConfig> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("PK_MEMBER", pkMember);
LambdaQueryWrapper<BdTradeWhiteConfig> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BdTradeWhiteConfig::getPkMember, pkMember);
return this.getOne(queryWrapper);
}
@Override
public List<Long> selectTradeWhiteConfigByUnderBlood(BdTradeWhiteConfigVO tradeWhiteConfigVO) {
return baseMapper.selectTradeWhiteConfigByUnderBlood(tradeWhiteConfigVO);
return baseMapper.selectTradeWhiteConfigByUnderBlood(tradeWhiteConfigVO);
}
}

View File

@ -296,11 +296,6 @@ public class EnumsInitController {
initList.add(this.createData(value.getKey(), value.getLabel()));
}
// 性别
for (ESex value : ESex.values()) {
initList.add(this.createData(value.getKey(), value.getLabel()));
}
// 打印状态
for (EPrintStatus value : EPrintStatus.values()) {
initList.add(this.createData(value.getKey(), value.getLabel()));
@ -587,13 +582,6 @@ public class EnumsInitController {
initList.add(this.createData(value.getKey(), value.getLabel()));
}
/**
* 证件类型
*/
for (EIdType value : EIdType.values()) {
initList.add(this.createData(value.getKey(), value.getLabel()));
}
/**
* 只读状态
*/

View File

@ -18,18 +18,6 @@
<result column="LICENSE_STATE" property="licenseState"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
DEL_FLAG,
CREATION_TIME,
MODIFIED_TIME,
PK_COUNTRY,
PK_CREATOR,
PK_MODIFIED,
PK_ID, PK_GRADE, PK_AWARDS, BUSINESS_MODULE, REAL_NAME_STATE, LICENSE_STATE
</sql>
<select id="selectTradeConfigList" resultMap="BaseResultMap">
select * from BD_TRADE_CONFIG c where c.del_flag = 0
and c.pk_country= #{pkCountry}
@ -54,29 +42,28 @@
order by c.creation_time desc
</select>
<select id="selectTradeConfigByCondition" resultMap="BaseResultMap">
select t.*
from (select *
from BD_TRADE_CONFIG c
where c.del_flag = 0
and c.pk_country= #{pkCountry}
<if test="pkGrade != null and pkGrade != ''">
and instr(',' || c.PK_GRADE || ',', ',' || #{pkGrade} || ',') > 0
</if>
<if test="pkAwards != null and pkAwards != ''">
and instr(',' || c.PK_AWARDS || ',', ',' || #{pkAwards} || ',') > 0
</if>
<if test="realNameState != null">
and c.REAL_NAME_STATE = #{realNameState}
</if>
<if test="licenseState != null">
and c.LICENSE_STATE = #{licenseState}
</if>
<if test="businessModule != null">
and c.BUSINESS_MODULE = #{businessModule}
</if>
order by c.creation_time desc) t
and c.pk_country= #{pkCountry}
<if test="pkGrade != null and pkGrade != ''">
and instr(',' || c.PK_GRADE || ',', ',' || #{pkGrade} || ',') > 0
</if>
<if test="pkAwards != null and pkAwards != ''">
and instr(',' || c.PK_AWARDS || ',', ',' || #{pkAwards} || ',') > 0
</if>
<if test="realNameState != null">
and c.REAL_NAME_STATE = #{realNameState}
</if>
<if test="licenseState != null">
and c.LICENSE_STATE = #{licenseState}
</if>
<if test="businessModule != null">
and c.BUSINESS_MODULE = #{businessModule}
</if>
order by c.creation_time desc) t
where rownum = 1
</select>

View File

@ -17,18 +17,6 @@
<result column="MEMBER_TYPE" property="memberType"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
DEL_FLAG
,
CREATION_TIME,
MODIFIED_TIME,
PK_COUNTRY,
PK_CREATOR,
PK_MODIFIED,
PK_ID, PK_MEMBER, WITHDRAWAL_STATE, TRANSFER_STATE
</sql>
<select id="selectTradeWhiteConfigList" resultType="com.hzs.common.domain.system.config.ext.BdTradeWhiteConfigExt">
select c.pk_id pkId,

View File

@ -469,11 +469,6 @@ public class FinanceMsgConstants {
*/
public static final String MEMBER_REAL_NAME = "该会员已实名,请不要重复是提交";
/**
* 该会员未实名请先实名认证
*/
public static final String MEMBER_NOT_REAL_NAME = "该会员未实名,请先实名认证";
/**
* 会员存在重复充值请核对
*/
@ -484,10 +479,4 @@ public class FinanceMsgConstants {
*/
public static final String TRANSFER_IN_USER_NOT_ALLOWED = "账号异常无法接受转账";
/**
* 有效期截止时间应大于有效期开始时间
*/
public static final String ID_CARD_EXPIRATION_DATE = "有效期截止时间应大于有效期开始时间";
}

View File

@ -6,16 +6,10 @@ import lombok.Getter;
/**
* 充值页面 审核状态
*
* @Description:
* @Author: ljc
* @Time: 2023/2/28 16:34
* @Classname: EApproveRechargeStatus
* @Package_name: com.hzs.common.core.enums
*/
@Getter
@AllArgsConstructor
public enum EApproveRechargeStatus {
public enum EApproveRechargeStatus {
/**
* 待提交
@ -51,9 +45,9 @@ public enum EApproveRechargeStatus {
*/
private final String key;
public static EApproveRechargeStatus getApproveRechargeStatus(int value ){
public static EApproveRechargeStatus getApproveRechargeStatus(int value) {
for (EApproveRechargeStatus approveRechargeStatus : EApproveRechargeStatus.values()) {
if (approveRechargeStatus.getValue() == value){
if (approveRechargeStatus.getValue() == value) {
return approveRechargeStatus;
}
}

View File

@ -1,13 +1,10 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 证件类型枚举
*
* @author: hzs
*/
@AllArgsConstructor
@Getter
@ -16,28 +13,7 @@ public enum ECardType {
/**
* 身份证
*/
CARD(1, "身份证", 0, EnumsPrefixConstants.CARD_TYPE + "1"),
/**
* 军官证
*/
OFFICER(2, "军官证", 0, EnumsPrefixConstants.CARD_TYPE + "2"),
/**
* 学生证
*/
STUDENT (3, "学生证", 0, EnumsPrefixConstants.CARD_TYPE + "3"),
/**
* 驾驶证
*/
DRIVE(4, "驾驶证", 0, EnumsPrefixConstants.CARD_TYPE + "4"),
/**
* 护照
*/
PASSPORT(5, "护照", 0, EnumsPrefixConstants.CARD_TYPE + "5"),
CARD(1, "身份证", 0),
;
@ -53,18 +29,5 @@ public enum ECardType {
* 是否启用0=,1= -- 来源EYesNo
*/
private final int enable;
/**
* 国际化翻译key值
*/
private final String key;
public static String getCardType(int value){
for (ECardType eCardType : ECardType.values()) {
if (eCardType.getValue() == value){
return eCardType.getLabel();
}
}
return null;
}
}

View File

@ -1,19 +1,11 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 证件类型
*
* @Description:
* @Author: ljc
* @Time: 2023/4/17 14:36
* @Classname: EIdType
* @Package_name: com.hzs.common.core.enums
*/
@AllArgsConstructor
@Getter
public enum EIdType {
@ -21,7 +13,7 @@ public enum EIdType {
/**
* 身份证
*/
ID_CARD(1, "身份证", 0, EnumsPrefixConstants.ID_TYPE + "1");
ID_CARD(1, "身份证", 0);
/**
* 实际值
@ -35,18 +27,17 @@ public enum EIdType {
* 是否启用0=,1= -- 来源EYesNo
*/
private final int enable;
/**
* 国际化翻译key值
*/
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,14 +1,11 @@
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;
/**
* 性别
*
* @author: hzs
*/
@AllArgsConstructor
@Getter
@ -17,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),
;
@ -43,21 +40,20 @@ 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 "";
}
public static Integer getLabel(String label) {
for (ESex sex : ESex.values()) {
if (StringUtils.isNotEmpty(label) && sex.getLabel().equals(label)) {

View File

@ -1,16 +1,10 @@
package com.hzs.common.core.enums;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 交易验证 模块
* @Description:
* @Author: ljc
* @Time: 2023/8/22 10:56
* @Classname: EVerificationModule
* @Package_name: com.hzs.common.core.enums
*/
@AllArgsConstructor
@Getter
@ -25,8 +19,6 @@ public enum EVerificationModule {
*/
BUSINESS_LICENSE(2, "营业执照"),
;
/**

View File

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

View File

@ -10,11 +10,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 会员扩展类
* @Author: yuhui
* @Time: 2022/11/10 14:34
* @Classname: CuMemberExt
* @PackageName: com.hzs.common.domain.member.ext
* 会员扩展类
*/
@EqualsAndHashCode(callSuper = true)
@Data

View File

@ -12,12 +12,7 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 自助服务日志表
* </p>
*
* @author hzs
* @since 2023-04-17
*/
@Data
@Builder
@ -116,7 +111,7 @@ public class CuSelfServiceLog extends BaseEntity {
* 情况说明
*/
@TableField("DESCRIPTION")
private String description;
private String description;
/**
* 账户类型(来源于参照币种配置)
@ -128,15 +123,13 @@ public class CuSelfServiceLog extends BaseEntity {
* 驳回说明
*/
@TableField("REJECT_MSG")
private String rejectMsg;
private String rejectMsg;
/**
* 审核数据来源 1 管理端签呈审核 2 会员端自己申请自动审核
*/
@TableField("DATA_SOURCES")
private String dataSources;
private String dataSources;
}

View File

@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 交易配置表
* </p>
*
* @author hzs
* @since 2023-08-18
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 交易白名单配置表
* </p>
*
* @author hzs
* @since 2023-08-18
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -126,8 +126,6 @@ security:
excludeUrls:
- /system/manage/notice/*
- /sale/manage/wares/*
- /member/manage/dealer/reject
- /member/manage/change-domicile/domicile-change-reject
- /member/manager/business/license/reject
- /member/manage/self-modify-address/reject
- /sale/manage/order-business/self-approve

View File

@ -30,6 +30,7 @@ public class IdCardServiceImpl implements IdCardService {
@Value("${idCardOcr.url}")
private String url;
@Value("${idCardOcr.appCode}")
private String appCode;
@ -38,9 +39,9 @@ public class IdCardServiceImpl implements IdCardService {
String authorization = "APPCODE " + appCode;
HttpResponse response = HttpRequest.post(url)
.header(Header.AUTHORIZATION, authorization)
.header(Header.CONTENT_TYPE, "aapplication/json; charset=UTF-8")
.header(Header.CONTENT_TYPE, "application/json; charset=UTF-8")
.body(getInParam(idCardUrl, side))
.timeout(20000)
.timeout(10000)
.execute();
return parseResult(response, side);
}
@ -120,7 +121,6 @@ public class IdCardServiceImpl implements IdCardService {
JsonObject param = new JsonObject();
param.addProperty("image", idCardUrl);
param.addProperty("configure", jsonObject.toString());
System.out.println(param.toString());
return param.toString();
}
@ -129,7 +129,7 @@ public class IdCardServiceImpl implements IdCardService {
*
* @return Map
*/
private Map getErrorMessage() {
private Map<Integer, String> getErrorMessage() {
Map<Integer, String> message = new HashMap<>();
message.put(403, "购买次数用尽或者URL错误");
message.put(408, "超时");