Merge remote-tracking branch 'origin/bd_test' into bd_test
This commit is contained in:
commit
02533a9874
|
|
@ -6,14 +6,9 @@ import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员信息DTO
|
* 会员信息DTO
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/10 16:40
|
|
||||||
* @Classname: MemberDataDTO
|
|
||||||
* @PackageName: com.hzs.system.common.dto
|
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
|
@ -27,10 +22,6 @@ public class MemberDataDTO implements Serializable {
|
||||||
* 自然国ID
|
* 自然国ID
|
||||||
*/
|
*/
|
||||||
private Integer pkCountry;
|
private Integer pkCountry;
|
||||||
/**
|
|
||||||
* 自然国翻译KEY
|
|
||||||
*/
|
|
||||||
private Integer pkCountryTransaction;
|
|
||||||
/**
|
/**
|
||||||
* 自然国名称
|
* 自然国名称
|
||||||
*/
|
*/
|
||||||
|
|
@ -39,19 +30,11 @@ public class MemberDataDTO implements Serializable {
|
||||||
* 自然国家圆形国旗
|
* 自然国家圆形国旗
|
||||||
*/
|
*/
|
||||||
private String countryCircularIcon;
|
private String countryCircularIcon;
|
||||||
/**
|
|
||||||
* 自然国家方形图旗
|
|
||||||
*/
|
|
||||||
private String countrySquareIcon;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算国ID
|
* 结算国ID
|
||||||
*/
|
*/
|
||||||
private Integer pkSettleCountry;
|
private Integer pkSettleCountry;
|
||||||
/**
|
|
||||||
* 自然国翻译KEY
|
|
||||||
*/
|
|
||||||
private Integer pkSettleCountryTransaction;
|
|
||||||
/**
|
/**
|
||||||
* 自然国名称
|
* 自然国名称
|
||||||
*/
|
*/
|
||||||
|
|
@ -60,18 +43,6 @@ public class MemberDataDTO implements Serializable {
|
||||||
* 结算国家圆形国旗
|
* 结算国家圆形国旗
|
||||||
*/
|
*/
|
||||||
private String settleCountryCircularIcon;
|
private String settleCountryCircularIcon;
|
||||||
/**
|
|
||||||
* 结算国家方形国旗
|
|
||||||
*/
|
|
||||||
private String settleCountrySquareIcon;
|
|
||||||
/**
|
|
||||||
* 结算国家点亮名称
|
|
||||||
*/
|
|
||||||
private String settleCountryLightName;
|
|
||||||
/**
|
|
||||||
* 结算国家地图
|
|
||||||
*/
|
|
||||||
private String settleCountryImg;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算等级翻译
|
* 结算等级翻译
|
||||||
|
|
@ -96,23 +67,9 @@ public class MemberDataDTO implements Serializable {
|
||||||
*/
|
*/
|
||||||
private String awardsIcon;
|
private String awardsIcon;
|
||||||
|
|
||||||
/**
|
|
||||||
* 荣誉奖衔翻译
|
|
||||||
*/
|
|
||||||
private Integer pkMaxAwards;
|
|
||||||
/**
|
|
||||||
* 荣誉奖衔图标
|
|
||||||
*/
|
|
||||||
private String maxAwardsIcon;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 币种图标
|
* 币种图标
|
||||||
*/
|
*/
|
||||||
private String currencyIcon;
|
private String currencyIcon;
|
||||||
|
|
||||||
/**
|
|
||||||
* 汇率
|
|
||||||
*/
|
|
||||||
private BigDecimal exchangeRate;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -333,7 +333,9 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
|
||||||
* @param assessTableName
|
* @param assessTableName
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
int updateCuMemberSettlePointAssess(@Param("settleTableName") String settleTableName, @Param("assessTableName") String assessTableName);
|
int updateCuMemberSettlePointAssess(@Param("settleTableName") String settleTableName,
|
||||||
|
@Param("assessTableName") String assessTableName,
|
||||||
|
@Param("settleDate") String settleDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化考核数据
|
* 初始化考核数据
|
||||||
|
|
|
||||||
|
|
@ -339,7 +339,7 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
|
||||||
* @param settleTableName
|
* @param settleTableName
|
||||||
* @param assessTableName
|
* @param assessTableName
|
||||||
*/
|
*/
|
||||||
void updateCuMemberSettlePointAssess(String settleTableName, String assessTableName);
|
void updateCuMemberSettlePointAssess(String settleTableName, String assessTableName, String settleDate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化考核数据
|
* 初始化考核数据
|
||||||
|
|
|
||||||
|
|
@ -436,8 +436,8 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCuMemberSettlePointAssess(String settleTableName, String assessTableName) {
|
public void updateCuMemberSettlePointAssess(String settleTableName, String assessTableName, String settleDate) {
|
||||||
baseMapper.updateCuMemberSettlePointAssess(settleTableName, assessTableName);
|
baseMapper.updateCuMemberSettlePointAssess(settleTableName, assessTableName, settleDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -426,7 +426,7 @@ public class CuMemberAssessServiceImpl extends ServiceImpl<CuMemberAssessMapper,
|
||||||
// 初始化考核数据
|
// 初始化考核数据
|
||||||
iCuMemberTreeService.initAssessDate(currentSettleTableName);
|
iCuMemberTreeService.initAssessDate(currentSettleTableName);
|
||||||
// 更新日结表会员免考信息
|
// 更新日结表会员免考信息
|
||||||
iCuMemberTreeService.updateCuMemberSettlePointAssess(currentSettleTableName, assessTableName);
|
iCuMemberTreeService.updateCuMemberSettlePointAssess(currentSettleTableName, assessTableName, settleDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -1185,7 +1185,10 @@
|
||||||
from ${assessTableName} cma
|
from ${assessTableName} cma
|
||||||
where cma.del_flag = 0
|
where cma.del_flag = 0
|
||||||
and cma.assess_type = 5
|
and cma.assess_type = 5
|
||||||
and cma.assess_status in (0, 1)) tmp
|
and cma.assess_status in (0, 1)
|
||||||
|
and to_date(#{settleDate}, 'yyyy-mm-dd') >= cma.start_date
|
||||||
|
and cma.end_date >= to_date(#{settleDate}, 'yyyy-mm-dd')
|
||||||
|
) tmp
|
||||||
on (tmp.pk_member = cms.pk_member)
|
on (tmp.pk_member = cms.pk_member)
|
||||||
when matched then
|
when matched then
|
||||||
update set cms.is_maker_space = 0
|
update set cms.is_maker_space = 0
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,7 @@ import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 翻译公用操作
|
* 翻译公用操作
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2022/10/22 11:58
|
|
||||||
* @Classname: ITransactionCommonService
|
|
||||||
* @PackageName: com.hzs.common.service
|
|
||||||
*/
|
*/
|
||||||
public interface ITransactionCommonService {
|
public interface ITransactionCommonService {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,7 @@ import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 翻译公用操作
|
* 翻译公用操作
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2022/10/22 11:58
|
|
||||||
* @Classname: TransactionCommonServiceImpl
|
|
||||||
* @PackageName: com.hzs.common.service.impl
|
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class TransactionCommonServiceImpl implements ITransactionCommonService {
|
public class TransactionCommonServiceImpl implements ITransactionCommonService {
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -217,4 +218,5 @@ public interface CuMemberAccountMapper extends BaseMapper<CuMemberAccount> {
|
||||||
*/
|
*/
|
||||||
CuMemberAccountExt queryAccountSummaryByVertex(@Param("pkVertex") Long pkVertex, @Param("pkCountry") Integer pkCountry);
|
CuMemberAccountExt queryAccountSummaryByVertex(@Param("pkVertex") Long pkVertex, @Param("pkCountry") Integer pkCountry);
|
||||||
|
|
||||||
|
void deleteCuMemberAccountByMemberCode(@Param("userId") Long userId, @Param("date")Date date, @Param("memberCode")String memberCode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -284,4 +284,5 @@ public interface ICuMemberAccountService extends IService<CuMemberAccount> {
|
||||||
*/
|
*/
|
||||||
CuMemberAccountExt queryAccountSummaryByVertex(Long pkVertex, Integer pkCountry);
|
CuMemberAccountExt queryAccountSummaryByVertex(Long pkVertex, Integer pkCountry);
|
||||||
|
|
||||||
|
void deleteCuMemberAccountByMemberCode(Long userId, Date date, String memberCode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -804,5 +804,10 @@ public class CuMemberAccountServiceImpl extends ServiceImpl<CuMemberAccountMappe
|
||||||
return baseMapper.queryAccountSummaryByVertex(pkVertex, pkCountry);
|
return baseMapper.queryAccountSummaryByVertex(pkVertex, pkCountry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteCuMemberAccountByMemberCode(Long userId, Date date, String memberCode) {
|
||||||
|
baseMapper.deleteCuMemberAccountByMemberCode(userId,date,memberCode);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
package com.hzs.member.base.controller.manage;
|
||||||
|
|
||||||
|
|
||||||
|
import com.hzs.common.core.annotation.Log;
|
||||||
|
import com.hzs.common.core.enums.EOperationMethod;
|
||||||
|
import com.hzs.common.core.enums.EOperationModule;
|
||||||
|
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.security.utils.SecurityUtils;
|
||||||
|
import com.hzs.member.base.param.DeleteDeadLockParam;
|
||||||
|
import com.hzs.member.base.service.DeleteDeadLockService;
|
||||||
|
import com.hzs.member.base.vo.DeleteDeadLockVO;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RequestMapping("/manager/deleteDeadLock")
|
||||||
|
@RestController
|
||||||
|
public class DeleteDeadLockController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DeleteDeadLockService deleteDeadLockService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除死点列表
|
||||||
|
*/
|
||||||
|
@Log(module = EOperationModule.DELETE_DEAD_LOCK, method = EOperationMethod.SELECT)
|
||||||
|
@GetMapping("list")
|
||||||
|
public TableDataInfo list(DeleteDeadLockParam deleteDeadLockParam) {
|
||||||
|
startPage();
|
||||||
|
deleteDeadLockParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||||
|
List<DeleteDeadLockVO> DeleteDeadLockList = deleteDeadLockService.queryDeleteDeadLockList(deleteDeadLockParam.getMemberCode());
|
||||||
|
return getDataTable(DeleteDeadLockList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除死点
|
||||||
|
*/
|
||||||
|
@Log(module = EOperationModule.DELETE_DEAD_LOCK, method = EOperationMethod.DELETE)
|
||||||
|
@PostMapping("delete")
|
||||||
|
public AjaxResult delete(@RequestBody DeleteDeadLockParam deleteDeadLockParam) {
|
||||||
|
String check = deleteDeadLockService.deleteDeadLockMember(deleteDeadLockParam);
|
||||||
|
if (check == null) {
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
return AjaxResult.error(check);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -59,7 +59,6 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 根据条件查询会员信息,查询单表
|
* 根据条件查询会员信息,查询单表
|
||||||
* @param: null null
|
|
||||||
**/
|
**/
|
||||||
List<CuMemberExt> queryMemberByCondition(CuMember cuMember);
|
List<CuMemberExt> queryMemberByCondition(CuMember cuMember);
|
||||||
|
|
||||||
|
|
@ -797,4 +796,8 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
|
||||||
CheckRegionDetailVO getSelectRegionDetail(@Param("userId") Long userId, @Param("type") Integer type);
|
CheckRegionDetailVO getSelectRegionDetail(@Param("userId") Long userId, @Param("type") Integer type);
|
||||||
|
|
||||||
List<BdArea> getRegionList(@Param("userId") Long userId, @Param("type") Integer type);
|
List<BdArea> getRegionList(@Param("userId") Long userId, @Param("type") Integer type);
|
||||||
|
|
||||||
|
List<DeleteDeadLockVO> queryDeleteDeadLockList(@Param("memberCode") String memberCode);
|
||||||
|
|
||||||
|
Integer queryIsDeadMember(@Param("memberCode") String memberCode);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.hzs.member.base.param;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class DeleteDeadLockParam {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员编号
|
||||||
|
*/
|
||||||
|
private String memberCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所属国家
|
||||||
|
*/
|
||||||
|
private Integer PkCountry;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.hzs.member.base.service;
|
||||||
|
|
||||||
|
import com.hzs.member.base.param.DeleteDeadLockParam;
|
||||||
|
import com.hzs.member.base.vo.DeleteDeadLockVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface DeleteDeadLockService {
|
||||||
|
List<DeleteDeadLockVO> queryDeleteDeadLockList(String memberCode);
|
||||||
|
|
||||||
|
String deleteDeadLockMember(DeleteDeadLockParam deleteDeadLockParam);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -19,6 +19,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
|
||||||
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
|
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
|
||||||
import com.hzs.member.marketnews.param.MarketNewsParam;
|
import com.hzs.member.marketnews.param.MarketNewsParam;
|
||||||
import com.hzs.member.marketnews.vo.UserInvestmentVo;
|
import com.hzs.member.marketnews.vo.UserInvestmentVo;
|
||||||
|
import com.hzs.member.share.param.ShareRegisterParam;
|
||||||
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -1012,4 +1013,13 @@ public interface ICuMemberService extends IService<CuMember> {
|
||||||
AjaxResult setRegion(MemberRegionParam param);
|
AjaxResult setRegion(MemberRegionParam param);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分享注册会员
|
||||||
|
*
|
||||||
|
* @param registerParam 分享注册入参
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CuMember shareRegisterMember(ShareRegisterParam registerParam);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO;
|
||||||
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
|
import com.hzs.member.handlebusiness.vo.HandleBusinessVO;
|
||||||
import com.hzs.member.marketnews.param.MarketNewsParam;
|
import com.hzs.member.marketnews.param.MarketNewsParam;
|
||||||
import com.hzs.member.marketnews.vo.UserInvestmentVo;
|
import com.hzs.member.marketnews.vo.UserInvestmentVo;
|
||||||
|
import com.hzs.member.share.param.ShareRegisterParam;
|
||||||
import com.hzs.system.base.IAreaServiceApi;
|
import com.hzs.system.base.IAreaServiceApi;
|
||||||
import com.hzs.system.base.IBdAwardsRegionConfigServiceApi;
|
import com.hzs.system.base.IBdAwardsRegionConfigServiceApi;
|
||||||
import com.hzs.system.base.ICountryServiceApi;
|
import com.hzs.system.base.ICountryServiceApi;
|
||||||
|
|
@ -138,20 +139,18 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean saveMember(CuMember cuMember) {
|
public Boolean saveMember(CuMember cuMember) {
|
||||||
boolean save = false;
|
|
||||||
try {
|
try {
|
||||||
if (cuMember.getIsMakerGift() == null) {
|
if (cuMember.getIsMakerGift() == null) {
|
||||||
cuMember.setIsMakerGift(EYesNo.NO.getIntValue());
|
cuMember.setIsMakerGift(EYesNo.NO.getIntValue());
|
||||||
}
|
}
|
||||||
Integer saveRow = baseMapper.insertCuMember(cuMember);
|
if (baseMapper.insertCuMember(cuMember) > 0) {
|
||||||
if (saveRow > 0) {
|
return true;
|
||||||
save = true;
|
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
log.error("保存会员失败", e);
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
return save;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -1897,7 +1896,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
tree.putExtra("settleCountryName", allCountryData.get(treeNode.getPkSettleCountry()).getName());
|
tree.putExtra("settleCountryName", allCountryData.get(treeNode.getPkSettleCountry()).getName());
|
||||||
tree.putExtra("settleCountryUrl", allCountryData.get(treeNode.getPkSettleCountry()).getNationalFlag1());
|
tree.putExtra("settleCountryUrl", allCountryData.get(treeNode.getPkSettleCountry()).getNationalFlag1());
|
||||||
tree.putExtra("settleCountryUrl2", allCountryData.get(treeNode.getPkSettleCountry()).getNationalFlag2());
|
tree.putExtra("settleCountryUrl2", allCountryData.get(treeNode.getPkSettleCountry()).getNationalFlag2());
|
||||||
|
|
||||||
}
|
}
|
||||||
for (BdAwards date : awardsDto.getData()) {
|
for (BdAwards date : awardsDto.getData()) {
|
||||||
if (date.getPkId().equals(treeNode.getPkAwards())) {
|
if (date.getPkId().equals(treeNode.getPkAwards())) {
|
||||||
|
|
@ -1910,7 +1908,6 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
tree.putExtra("countryName", allCountryData.get(treeNode.getPkCountry()).getName());
|
tree.putExtra("countryName", allCountryData.get(treeNode.getPkCountry()).getName());
|
||||||
tree.putExtra("countryUrl", allCountryData.get(treeNode.getPkCountry()).getNationalFlag1());
|
tree.putExtra("countryUrl", allCountryData.get(treeNode.getPkCountry()).getNationalFlag1());
|
||||||
tree.putExtra("countryUrl2", allCountryData.get(treeNode.getPkCountry()).getNationalFlag2());
|
tree.putExtra("countryUrl2", allCountryData.get(treeNode.getPkCountry()).getNationalFlag2());
|
||||||
|
|
||||||
}
|
}
|
||||||
CuMember member = this.getMember(treeNode.getPkMember());
|
CuMember member = this.getMember(treeNode.getPkMember());
|
||||||
if (member != null) {
|
if (member != null) {
|
||||||
|
|
@ -2468,6 +2465,12 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
for (String day : days) {
|
for (String day : days) {
|
||||||
censusSummaryParam.setTime(day);
|
censusSummaryParam.setTime(day);
|
||||||
censusSummaryParam.setPkCountry(SecurityUtils.getPkCountry());
|
censusSummaryParam.setPkCountry(SecurityUtils.getPkCountry());
|
||||||
|
// 将体系转换成集合类型
|
||||||
|
if (censusSummaryParam.getPkBdVertexStr() != null) {
|
||||||
|
censusSummaryParam.setPkBdVertexStrList(Arrays.stream(censusSummaryParam.getPkBdVertexStr().split(","))
|
||||||
|
.map(Integer::valueOf)
|
||||||
|
.collect(Collectors.toList()));
|
||||||
|
}
|
||||||
List<MemberMeritsSummaryVo> memberMeritsSummaryVoList = baseMapper.queryDateBySummary(censusSummaryParam);
|
List<MemberMeritsSummaryVo> memberMeritsSummaryVoList = baseMapper.queryDateBySummary(censusSummaryParam);
|
||||||
Map<Integer, MemberMeritsSummaryVo> memberMeritsSummaryMap = memberMeritsSummaryVoList.stream().collect(Collectors.toMap(MemberMeritsSummaryVo::getOrderType, Function.identity()));
|
Map<Integer, MemberMeritsSummaryVo> memberMeritsSummaryMap = memberMeritsSummaryVoList.stream().collect(Collectors.toMap(MemberMeritsSummaryVo::getOrderType, Function.identity()));
|
||||||
|
|
||||||
|
|
@ -2600,7 +2603,16 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
// 特殊复购
|
// 特殊复购
|
||||||
BigDecimal specialRepurchaseAmount = BigDecimal.ZERO;
|
BigDecimal specialRepurchaseAmount = BigDecimal.ZERO;
|
||||||
BigDecimal specialRepurchaseAchieve = BigDecimal.ZERO;
|
BigDecimal specialRepurchaseAchieve = BigDecimal.ZERO;
|
||||||
|
// 秒杀金额
|
||||||
|
BigDecimal mallAmount = BigDecimal.ZERO;
|
||||||
|
// 秒杀业绩
|
||||||
|
BigDecimal mallAchieve = BigDecimal.ZERO;
|
||||||
// 3 10, 7 , 27 ,12 , 14,19 ,22 ,26
|
// 3 10, 7 , 27 ,12 , 14,19 ,22 ,26
|
||||||
|
|
||||||
|
if (memberMeritsSummaryMap.get(EOrderType.MALL_ORDER.getValue()) != null) {
|
||||||
|
mallAmount = memberMeritsSummaryMap.get(EOrderType.MALL_ORDER.getValue()).getAmount();
|
||||||
|
mallAchieve = memberMeritsSummaryMap.get(EOrderType.MALL_ORDER.getValue()).getAchieve();
|
||||||
|
}
|
||||||
if (memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()) != null) {
|
if (memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()) != null) {
|
||||||
// 复购
|
// 复购
|
||||||
repurchaseAmount = memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()).getAmount();
|
repurchaseAmount = memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()).getAmount();
|
||||||
|
|
@ -2618,13 +2630,13 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
}
|
}
|
||||||
// 复购金额+海粉金额+海粉升级+直播订单+合作订单+特殊复购
|
// 复购金额+海粉金额+海粉升级+直播订单+合作订单+特殊复购
|
||||||
BigDecimal amount = repurchaseAmount.add(fansAmount).add(haiFunUpgradeAmount)
|
BigDecimal amount = repurchaseAmount.add(fansAmount).add(haiFunUpgradeAmount)
|
||||||
.add(mallOrderAmount).add(cooperateAmount).add(specialRepurchaseAmount);
|
.add(mallOrderAmount).add(cooperateAmount).add(specialRepurchaseAmount).add(mallAmount);
|
||||||
|
|
||||||
censusSummaryVo.setRepurchaseAmount(computeChinaExchangeRate(loginUserCountry, amount, inExchangeRate, chinaInExchangeRate));
|
censusSummaryVo.setRepurchaseAmount(computeChinaExchangeRate(loginUserCountry, amount, inExchangeRate, chinaInExchangeRate));
|
||||||
censusSummaryVo.setRepurchaseAmountDollar(computeUSDExchangeRate(amount, inExchangeRate));
|
censusSummaryVo.setRepurchaseAmountDollar(computeUSDExchangeRate(amount, inExchangeRate));
|
||||||
censusSummaryVo.setRepurchaseAmountLocality(checkIsDecimalNull(amount));
|
censusSummaryVo.setRepurchaseAmountLocality(checkIsDecimalNull(amount));
|
||||||
BigDecimal repurchasePvSum = repurchaseAchieve.add(fansAchieve).add(haiFunUpgradeAchieve)
|
BigDecimal repurchasePvSum = repurchaseAchieve.add(fansAchieve).add(haiFunUpgradeAchieve)
|
||||||
.add(mallOrderAchieve).add(cooperateAchieve).add(specialRepurchaseAchieve);
|
.add(mallOrderAchieve).add(cooperateAchieve).add(specialRepurchaseAchieve).add(mallAchieve);
|
||||||
|
|
||||||
censusSummaryVo.setRepurchasePv(computeUSDToRMBRate(repurchasePvSum, chinaInExchangeRate));
|
censusSummaryVo.setRepurchasePv(computeUSDToRMBRate(repurchasePvSum, chinaInExchangeRate));
|
||||||
censusSummaryVo.setRepurchasePvDollar(checkIsDecimalNull(repurchasePvSum));
|
censusSummaryVo.setRepurchasePvDollar(checkIsDecimalNull(repurchasePvSum));
|
||||||
|
|
@ -3386,24 +3398,24 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
// 如果达标至BD_AWARDS_REGION_CONFIG获取可选择的配置
|
// 如果达标至BD_AWARDS_REGION_CONFIG获取可选择的配置
|
||||||
CuMemberExt cuMember = this.getMemberById(userId);
|
CuMemberExt cuMember = this.getMemberById(userId);
|
||||||
Map<String, BdAwards> awardsMap = iAwardsServiceApi.getAwards().getData();
|
Map<String, BdAwards> awardsMap = iAwardsServiceApi.getAwards().getData();
|
||||||
BdAwards bdAwards = awardsMap.entrySet().stream().filter( o -> o.getValue().getPkId().equals(cuMember.getPkAwards())).findFirst().get().getValue();
|
BdAwards bdAwards = awardsMap.entrySet().stream().filter(o -> o.getValue().getPkId().equals(cuMember.getPkAwards())).findFirst().get().getValue();
|
||||||
// BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
// BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData();
|
||||||
R<List<BdAwardsRegionConfig>> r = iBdAwardsRegionConfigServiceApi.getMatchList(bdAwards.getAwardsValue());
|
R<List<BdAwardsRegionConfig>> r = iBdAwardsRegionConfigServiceApi.getMatchList(bdAwards.getAwardsValue());
|
||||||
List<BdAwardsRegionConfig> regionConfigList = null;
|
List<BdAwardsRegionConfig> regionConfigList = null;
|
||||||
if(r.isSuccess()){
|
if (r.isSuccess()) {
|
||||||
regionConfigList = r.getData();
|
regionConfigList = r.getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal smallPv = getSmallPV(userId);
|
BigDecimal smallPv = getSmallPV(userId);
|
||||||
if(CollUtil.isNotEmpty(regionConfigList)){
|
if (CollUtil.isNotEmpty(regionConfigList)) {
|
||||||
// 匹配到的区域配置
|
// 匹配到的区域配置
|
||||||
for (BdAwardsRegionConfig config : regionConfigList) {
|
for (BdAwardsRegionConfig config : regionConfigList) {
|
||||||
// BdAwards configAwards = iAwardsServiceApi.getAwardsOne(config.getPkAwards().intValue()).getData();
|
// BdAwards configAwards = iAwardsServiceApi.getAwardsOne(config.getPkAwards().intValue()).getData();
|
||||||
BdAwards configAwards = awardsMap.entrySet().stream().filter( o -> o.getValue().getAwardsValue().equals(config.getAwardsValue())).findFirst().get().getValue();
|
BdAwards configAwards = awardsMap.entrySet().stream().filter(o -> o.getValue().getAwardsValue().equals(config.getAwardsValue())).findFirst().get().getValue();
|
||||||
// 判断业绩
|
// 判断业绩
|
||||||
CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, config.getAreaType());
|
CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, config.getAreaType());
|
||||||
if(bdAwards.getAwardsValue() >= config.getAwardsValue()){
|
if (bdAwards.getAwardsValue() >= config.getAwardsValue()) {
|
||||||
switch (config.getAreaType()){
|
switch (config.getAreaType()) {
|
||||||
case 1:
|
case 1:
|
||||||
checkRegionVO.setProvince(smallPv.compareTo(configAwards.getSmallAssess()) >= 0);
|
checkRegionVO.setProvince(smallPv.compareTo(configAwards.getSmallAssess()) >= 0);
|
||||||
checkRegionVO.getData().setProvinceData(regionDetail);
|
checkRegionVO.getData().setProvinceData(regionDetail);
|
||||||
|
|
@ -3416,7 +3428,8 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
checkRegionVO.setCounty(smallPv.compareTo(configAwards.getSmallAssess()) >= 0);
|
checkRegionVO.setCounty(smallPv.compareTo(configAwards.getSmallAssess()) >= 0);
|
||||||
checkRegionVO.getData().setCountyData(regionDetail);
|
checkRegionVO.getData().setCountyData(regionDetail);
|
||||||
break;
|
break;
|
||||||
default: break;
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3460,9 +3473,9 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
BigDecimal todayDataASum = ObjectUtil.isEmpty(todayData) ? BigDecimal.ZERO : todayData.getANewPv();
|
BigDecimal todayDataASum = ObjectUtil.isEmpty(todayData) ? BigDecimal.ZERO : todayData.getANewPv();
|
||||||
BigDecimal todayDataBSum = ObjectUtil.isEmpty(todayData) ? BigDecimal.ZERO : todayData.getBNewPv();
|
BigDecimal todayDataBSum = ObjectUtil.isEmpty(todayData) ? BigDecimal.ZERO : todayData.getBNewPv();
|
||||||
BigDecimal smallSumPv;
|
BigDecimal smallSumPv;
|
||||||
if(smallFlag == 1){
|
if (smallFlag == 1) {
|
||||||
smallSumPv = yesterdayASum.add(todayDataASum);
|
smallSumPv = yesterdayASum.add(todayDataASum);
|
||||||
}else{
|
} else {
|
||||||
smallSumPv = yesterdayBSum.add(todayDataBSum);
|
smallSumPv = yesterdayBSum.add(todayDataBSum);
|
||||||
}
|
}
|
||||||
return smallSumPv;
|
return smallSumPv;
|
||||||
|
|
@ -3480,10 +3493,10 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
if (null == province) {
|
if (null == province) {
|
||||||
return AjaxResult.error("选择区域省不存在,请重新选择");
|
return AjaxResult.error("选择区域省不存在,请重新选择");
|
||||||
}
|
}
|
||||||
if(param.getType() == 1 && checkRegionVO.isProvince()){
|
if (param.getType() == 1 && checkRegionVO.isProvince()) {
|
||||||
param.setCity(0);
|
param.setCity(0);
|
||||||
param.setCounty(0);
|
param.setCounty(0);
|
||||||
}else if(param.getType() == 2 && checkRegionVO.isCity()){
|
} else if (param.getType() == 2 && checkRegionVO.isCity()) {
|
||||||
// 校验市是否存在
|
// 校验市是否存在
|
||||||
if (!param.getCity().equals(0)) {
|
if (!param.getCity().equals(0)) {
|
||||||
BdArea city = iAreaServiceApi.getArea(param.getCity()).getData();
|
BdArea city = iAreaServiceApi.getArea(param.getCity()).getData();
|
||||||
|
|
@ -3492,7 +3505,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
param.setCounty(0);
|
param.setCounty(0);
|
||||||
}else if(param.getType() == 3 && checkRegionVO.isCounty()){
|
} else if (param.getType() == 3 && checkRegionVO.isCounty()) {
|
||||||
// 校验区是否存在
|
// 校验区是否存在
|
||||||
if (!param.getCounty().equals(0)) {
|
if (!param.getCounty().equals(0)) {
|
||||||
BdArea county = iAreaServiceApi.getArea(param.getCounty()).getData();
|
BdArea county = iAreaServiceApi.getArea(param.getCounty()).getData();
|
||||||
|
|
@ -3501,7 +3514,7 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(cuMemberRegionExt)){
|
if (ObjectUtil.isNotEmpty(cuMemberRegionExt)) {
|
||||||
param.setPkId(cuMemberRegionExt.getPkId());
|
param.setPkId(cuMemberRegionExt.getPkId());
|
||||||
}
|
}
|
||||||
param.setPkMember(userId);
|
param.setPkMember(userId);
|
||||||
|
|
@ -3516,48 +3529,114 @@ public class CuMemberServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> i
|
||||||
return AjaxResult.error(str);
|
return AjaxResult.error(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getSmallFlag(CuMemberSettleExt lastMonthData, CuMemberSettleExt yesterdayData, CuMemberSettleExt todayData){
|
public static int getSmallFlag(CuMemberSettleExt lastMonthData, CuMemberSettleExt yesterdayData, CuMemberSettleExt todayData) {
|
||||||
int smallFlag = 1; // left-1, right-2
|
int smallFlag = 1; // left-1, right-2
|
||||||
if(ObjectUtil.isNotEmpty(todayData)){
|
if (ObjectUtil.isNotEmpty(todayData)) {
|
||||||
if(ObjectUtil.isNotEmpty(todayData.getASumPv())
|
if (ObjectUtil.isNotEmpty(todayData.getASumPv())
|
||||||
&& ObjectUtil.isNotEmpty(todayData.getBSumPv())
|
&& ObjectUtil.isNotEmpty(todayData.getBSumPv())
|
||||||
){
|
) {
|
||||||
if(todayData.getASumPv().compareTo(todayData.getBSumPv()) >= 0){
|
if (todayData.getASumPv().compareTo(todayData.getBSumPv()) >= 0) {
|
||||||
smallFlag = 2;
|
smallFlag = 2;
|
||||||
}else{
|
} else {
|
||||||
smallFlag = 1;
|
smallFlag = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(yesterdayData)){
|
if (ObjectUtil.isNotEmpty(yesterdayData)) {
|
||||||
if(ObjectUtil.isNotEmpty(yesterdayData.getASumPv())
|
if (ObjectUtil.isNotEmpty(yesterdayData.getASumPv())
|
||||||
&& ObjectUtil.isNotEmpty(yesterdayData.getBSumPv())
|
&& ObjectUtil.isNotEmpty(yesterdayData.getBSumPv())
|
||||||
){
|
) {
|
||||||
if(yesterdayData.getASumPv().compareTo(yesterdayData.getBSumPv()) >= 0){
|
if (yesterdayData.getASumPv().compareTo(yesterdayData.getBSumPv()) >= 0) {
|
||||||
smallFlag = 2;
|
smallFlag = 2;
|
||||||
}else{
|
} else {
|
||||||
smallFlag = 1;
|
smallFlag = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(ObjectUtil.isNotEmpty(lastMonthData)){
|
if (ObjectUtil.isNotEmpty(lastMonthData)) {
|
||||||
if(ObjectUtil.isNotEmpty(lastMonthData.getASumPv())
|
if (ObjectUtil.isNotEmpty(lastMonthData.getASumPv())
|
||||||
&& ObjectUtil.isNotEmpty(lastMonthData.getBSumPv())
|
&& ObjectUtil.isNotEmpty(lastMonthData.getBSumPv())
|
||||||
){
|
) {
|
||||||
if(lastMonthData.getASumPv().compareTo(lastMonthData.getBSumPv()) >= 0){
|
if (lastMonthData.getASumPv().compareTo(lastMonthData.getBSumPv()) >= 0) {
|
||||||
smallFlag = 2;
|
smallFlag = 2;
|
||||||
}else{
|
} else {
|
||||||
smallFlag = 1;
|
smallFlag = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return smallFlag;
|
return smallFlag;
|
||||||
}
|
}
|
||||||
public static LocalDate getLastDayOfLastMonthLegacy() {
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
@Transactional(rollbackFor = Exception.class)
|
||||||
calendar.add(Calendar.MONTH, -1); // 减1个月
|
@Override
|
||||||
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
|
public CuMember shareRegisterMember(ShareRegisterParam registerParam) {
|
||||||
return LocalDate.of(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH));
|
// 处理等级
|
||||||
|
GradeDTO gradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.START_UP.getValue(), CountryConstants.CHINA_COUNTRY).getData();
|
||||||
|
if (null == gradeDTO) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// 新会员信息
|
||||||
|
CuMember cuMember = packageCuMember(registerParam, registerParam.getParentMember());
|
||||||
|
cuMember.setPkRegisterGrade(gradeDTO.getPkId());
|
||||||
|
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
||||||
|
cuMember.setPkAwards(gradeDTO.getPkAwards());
|
||||||
|
|
||||||
|
// 保存会员
|
||||||
|
this.saveMember(cuMember);
|
||||||
|
// 新会员生成账户,保存账户
|
||||||
|
CuMemberAccount cuMemberAccount = CuMemberAccount.builder()
|
||||||
|
.pkMember(cuMember.getPkId())
|
||||||
|
.build();
|
||||||
|
cuMemberAccount.setPkCreator(cuMember.getPkCreator());
|
||||||
|
cuMemberAccount.setPkCountry(cuMember.getPkSettleCountry());
|
||||||
|
iCuMemberAccountService.save(cuMemberAccount);
|
||||||
|
// 用户注册信息
|
||||||
|
CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class);
|
||||||
|
cuMemberRegister.setPkMember(cuMember.getPkId());
|
||||||
|
iCuMemberRegisterService.save(cuMemberRegister);
|
||||||
|
return cuMember;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private CuMember packageCuMember(ShareRegisterParam registerParam, CuMember parentMember) {
|
||||||
|
// 获取新的订单编号
|
||||||
|
CuMember cuMember = CuMember.builder()
|
||||||
|
.memberName(registerParam.getMemberName())
|
||||||
|
.nickName(registerParam.getMemberName())
|
||||||
|
.phone(registerParam.getPhone())
|
||||||
|
.pkSettleCountry(CountryConstants.CHINA_COUNTRY)
|
||||||
|
.loginPwd(SecurityUtils.encryptPassword(SysConstants.LOGIN_PASSWORD))
|
||||||
|
.loginPassword(SysConstants.LOGIN_PASSWORD)
|
||||||
|
.payPwd(SecurityUtils.encryptPassword(SysConstants.PAY_PASSWORD))
|
||||||
|
.payPassword(SysConstants.PAY_PASSWORD)
|
||||||
|
.source(registerParam.getSource() == null ? EDataSource.H5.getValue() : registerParam.getSource())
|
||||||
|
.pkParent(parentMember.getPkId())
|
||||||
|
.accountStatus(EAccountStatus.NORMAL.getValue())
|
||||||
|
.pkCenterCode(parentMember.getPkId())
|
||||||
|
// 这个时候是待支付,等支付的时候变为支付,可以跟待支付公用
|
||||||
|
.payStatus(EPayStatus.UNPAID.getValue())
|
||||||
|
.category(ECategory.NORMAL.getValue())
|
||||||
|
.orderSource(EOrderSource.SOLID.getValue())
|
||||||
|
.consumeMoney(BigDecimal.ZERO)
|
||||||
|
.consumeAchieve(BigDecimal.ZERO)
|
||||||
|
.registerAuthority(ERegistrationAuthority.ORDINARY.getValue())
|
||||||
|
.customerType(ECustomerType.NORMAL.getValue())
|
||||||
|
.pkVertex(parentMember.getPkVertex())
|
||||||
|
.systemType(ESystemType.DEFAULT.getValue())
|
||||||
|
.build();
|
||||||
|
cuMember.setPkCountry(parentMember.getPkSettleCountry());
|
||||||
|
cuMember.setCreationTime(new Date());
|
||||||
|
// 2024.05.29 会员续约需求,【有效期】为购买时间次年的上月最后一天
|
||||||
|
cuMember.setExpireDate(DateUtils.beforeMonthLastDate(DateUtils.addYears(cuMember.getCreationTime(), 1)));
|
||||||
|
// 【休止期】普通会员6个月,奖衔会员12个月(先按6个月来,后续MQ会统一处理同姓名同手机号会员)
|
||||||
|
cuMember.setStopDate(DateUtils.addMonths(cuMember.getExpireDate(), 6));
|
||||||
|
|
||||||
|
// 获取会员编号、会员主键
|
||||||
|
cuMember.setPkId(baseMapper.createMemberId());
|
||||||
|
CountryDTO countryDTO = iCountryServiceApi.getCountry(CountryConstants.CHINA_COUNTRY).getData();
|
||||||
|
cuMember.setMemberCode(this.createMemberCode(countryDTO.getCode(), null));
|
||||||
|
cuMember.setPkCreator(cuMember.getPkId());
|
||||||
|
return cuMember;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
package com.hzs.member.base.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
||||||
|
import com.hzs.common.core.enums.EDelFlag;
|
||||||
|
import com.hzs.common.core.enums.EPlaceDept;
|
||||||
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
|
import com.hzs.member.account.service.ICuMemberAccountService;
|
||||||
|
import com.hzs.member.base.mapper.CuMemberMapper;
|
||||||
|
import com.hzs.member.base.param.DeleteDeadLockParam;
|
||||||
|
import com.hzs.member.base.service.DeleteDeadLockService;
|
||||||
|
import com.hzs.member.base.vo.DeleteDeadLockVO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class DeleteDeadLockServiceImpl extends ServiceImpl<CuMemberMapper, CuMember> implements DeleteDeadLockService {
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberAccountService iCuMemberAccountService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DeleteDeadLockVO> queryDeleteDeadLockList(String memberCode) {
|
||||||
|
List<DeleteDeadLockVO> deleteDeadLockVOList = baseMapper.queryDeleteDeadLockList(memberCode);
|
||||||
|
deleteDeadLockVOList.forEach(deleteDeadLockVO -> {
|
||||||
|
deleteDeadLockVO.setPlaceDept(EPlaceDept.getEPlaceDept(Integer.parseInt(deleteDeadLockVO.getPlaceDept())));
|
||||||
|
});
|
||||||
|
return deleteDeadLockVOList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public String deleteDeadLockMember(DeleteDeadLockParam deleteDeadLockParam) {
|
||||||
|
if (deleteDeadLockParam.getMemberCode() == null) {
|
||||||
|
return MemberMsgConstants.REQUIRED_NOT_EMPTY;
|
||||||
|
}
|
||||||
|
// 查询安置伞下和推荐伞下未删除会员数量,如果未删除会员数量为0返回true
|
||||||
|
Integer isNoDeadNum = baseMapper.queryIsDeadMember(deleteDeadLockParam.getMemberCode());
|
||||||
|
log.info("安置伞下和推荐伞下未删除会员数量:{}",isNoDeadNum);
|
||||||
|
if(isNoDeadNum == 0){
|
||||||
|
// 删除操作
|
||||||
|
Long userId = SecurityUtils.getUserId();
|
||||||
|
Date date=new Date();//此时date为当前的时间
|
||||||
|
// 删除会员
|
||||||
|
baseMapper.update(null,new LambdaUpdateWrapper<CuMember>()
|
||||||
|
.eq(CuMember::getMemberCode,deleteDeadLockParam.getMemberCode())
|
||||||
|
.set(CuMember::getPkModified,userId)
|
||||||
|
.set(CuMember::getModifiedTime,date)
|
||||||
|
.set(CuMember::getDelFlag, EDelFlag.DELETE.getValue()));
|
||||||
|
// 删除会员账户
|
||||||
|
iCuMemberAccountService.deleteCuMemberAccountByMemberCode(userId,date,deleteDeadLockParam.getMemberCode());
|
||||||
|
} else {
|
||||||
|
return MemberMsgConstants.NOT_DEAD_MEMBER;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -39,11 +39,7 @@ public class MemberInfoServiceImpl implements IMemberInfoService {
|
||||||
private ICuMemberService iCuMemberService;
|
private ICuMemberService iCuMemberService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICuMemberChangeLogService iCuMemberChangeLogService;
|
private ICuMemberChangeLogService iCuMemberChangeLogService;
|
||||||
@Autowired
|
|
||||||
private ITransactionCommonService iTransactionCommonService;
|
|
||||||
|
|
||||||
@DubboReference
|
|
||||||
ICurrencyServiceApi iCurrencyServiceApi;
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ICommonServiceApi iCommonServiceApi;
|
ICommonServiceApi iCommonServiceApi;
|
||||||
|
|
||||||
|
|
@ -61,33 +57,19 @@ public class MemberInfoServiceImpl implements IMemberInfoService {
|
||||||
.pkSettleCountry(cuMember.getPkSettleCountry())
|
.pkSettleCountry(cuMember.getPkSettleCountry())
|
||||||
.pkGrade(cuMember.getPkSettleGrade())
|
.pkGrade(cuMember.getPkSettleGrade())
|
||||||
.pkAwards(cuMember.getPkAwards())
|
.pkAwards(cuMember.getPkAwards())
|
||||||
// .pkMaxAwards(cuMember.getPkMaxAwards())
|
|
||||||
.build())
|
.build())
|
||||||
.getData();
|
.getData();
|
||||||
|
|
||||||
BigDecimal consumeAchieve = cuMember.getConsumeAchieve();
|
BigDecimal consumeAchieve = cuMember.getConsumeAchieve();
|
||||||
if (CountryConstants.CHINA_COUNTRY.equals(cuMember.getPkSettleCountry())) {
|
|
||||||
// 中国会员,汇率处理
|
|
||||||
consumeAchieve = consumeAchieve.multiply(memberDataDTO.getExchangeRate());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 会员名称,优先取昵称,没有取名称
|
// 会员名称,优先取昵称,没有取名称
|
||||||
String memberName = StringUtils.isNotEmpty(cuMember.getNickName()) ? cuMember.getNickName() : cuMember.getMemberName();
|
String memberName = StringUtils.isNotEmpty(cuMember.getNickName()) ? cuMember.getNickName() : cuMember.getMemberName();
|
||||||
// 自然国家
|
|
||||||
String pkCountryVal = memberDataDTO.getPkCountryVal();
|
|
||||||
// 结算国家
|
|
||||||
String pkSettleCountryVal = memberDataDTO.getPkSettleCountryVal();
|
|
||||||
|
|
||||||
// 国家翻译
|
// 特殊登录处理
|
||||||
Map<Integer, String> transactionMap = iTransactionCommonService.enumTransactionByDBFromPkId(Arrays.asList(memberDataDTO.getPkCountryTransaction(), memberDataDTO.getPkSettleCountryTransaction()));
|
|
||||||
if (null != transactionMap.get(memberDataDTO.getPkCountryTransaction())) {
|
|
||||||
pkCountryVal = transactionMap.get(memberDataDTO.getPkCountryTransaction());
|
|
||||||
}
|
|
||||||
if (null != transactionMap.get(memberDataDTO.getPkSettleCountryTransaction())) {
|
|
||||||
pkSettleCountryVal = transactionMap.get(memberDataDTO.getPkSettleCountryTransaction());
|
|
||||||
}
|
|
||||||
// 特殊登录处理(两个特殊账号,登录之后单独处理)
|
|
||||||
int loginType = 0;
|
int loginType = 0;
|
||||||
|
if (null == cuMember.getPkPlaceParent()) {
|
||||||
|
loginType = 1;
|
||||||
|
}
|
||||||
|
|
||||||
// 封装返回信息
|
// 封装返回信息
|
||||||
return MemberInfoVO.builder()
|
return MemberInfoVO.builder()
|
||||||
|
|
@ -95,25 +77,17 @@ public class MemberInfoServiceImpl implements IMemberInfoService {
|
||||||
.memberName(memberName)
|
.memberName(memberName)
|
||||||
.registerTime(cuMember.getPayTime())
|
.registerTime(cuMember.getPayTime())
|
||||||
.pkCountry(cuMember.getPkCountry())
|
.pkCountry(cuMember.getPkCountry())
|
||||||
.pkCountryVal(pkCountryVal)
|
.pkCountryVal(memberDataDTO.getPkCountryVal())
|
||||||
.countryCircularIcon(memberDataDTO.getCountryCircularIcon())
|
.countryCircularIcon(memberDataDTO.getCountryCircularIcon())
|
||||||
.countrySquareIcon(memberDataDTO.getCountrySquareIcon())
|
|
||||||
.pkSettleCountry(cuMember.getPkSettleCountry())
|
.pkSettleCountry(cuMember.getPkSettleCountry())
|
||||||
.pkSettleCountryVal(pkSettleCountryVal)
|
.pkSettleCountryVal(memberDataDTO.getPkSettleCountryVal())
|
||||||
.settleCountryCircularIcon(memberDataDTO.getSettleCountryCircularIcon())
|
.settleCountryCircularIcon(memberDataDTO.getSettleCountryCircularIcon())
|
||||||
.settleCountrySquareIcon(memberDataDTO.getSettleCountrySquareIcon())
|
|
||||||
.settleCountryLightName(memberDataDTO.getSettleCountryLightName())
|
|
||||||
.settleCountryImg(memberDataDTO.getSettleCountryImg())
|
|
||||||
.pkGradeId(cuMember.getPkSettleGrade())
|
.pkGradeId(cuMember.getPkSettleGrade())
|
||||||
.pkGrade(memberDataDTO.getPkGrade())
|
.pkGrade(memberDataDTO.getPkGrade())
|
||||||
.gradeIcon(memberDataDTO.getGradeIcon())
|
|
||||||
.pkAwardsId(cuMember.getPkAwards())
|
.pkAwardsId(cuMember.getPkAwards())
|
||||||
.pkAwards(memberDataDTO.getPkAwards())
|
.pkAwards(memberDataDTO.getPkAwards())
|
||||||
.pkAwardsValue(memberDataDTO.getPkAwardsValue())
|
.pkAwardsValue(memberDataDTO.getPkAwardsValue())
|
||||||
.awardsIcon(memberDataDTO.getAwardsIcon())
|
.awardsIcon(memberDataDTO.getAwardsIcon())
|
||||||
// .pkMaxAwardsId(cuMember.getPkMaxAwards())
|
|
||||||
// .pkMaxAwards(memberDataDTO.getPkMaxAwards())
|
|
||||||
// .maxAwardsIcon(memberDataDTO.getMaxAwardsIcon())
|
|
||||||
.currencyIcon(memberDataDTO.getCurrencyIcon())
|
.currencyIcon(memberDataDTO.getCurrencyIcon())
|
||||||
.registerAuthority(cuMember.getRegisterAuthority())
|
.registerAuthority(cuMember.getRegisterAuthority())
|
||||||
.headPath(cuMember.getHeadPath())
|
.headPath(cuMember.getHeadPath())
|
||||||
|
|
@ -137,24 +111,6 @@ public class MemberInfoServiceImpl implements IMemberInfoService {
|
||||||
memberDataVO.setPhone(DesensitizedUtil.mobilePhone(memberDataVO.getPhone()));
|
memberDataVO.setPhone(DesensitizedUtil.mobilePhone(memberDataVO.getPhone()));
|
||||||
// 证件号码脱敏
|
// 证件号码脱敏
|
||||||
memberDataVO.setIdCardAuth(DesensitizedUtil.idCardNum(memberDataVO.getIdCardAuth(), 6, 6));
|
memberDataVO.setIdCardAuth(DesensitizedUtil.idCardNum(memberDataVO.getIdCardAuth(), 6, 6));
|
||||||
|
|
||||||
if (CountryConstants.CHINA_COUNTRY.equals(memberDataVO.getPkSettleCountry())) {
|
|
||||||
// 汇率
|
|
||||||
CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(memberDataVO.getPkSettleCountry()).getData();
|
|
||||||
|
|
||||||
// 中国会员,汇率处理
|
|
||||||
memberDataVO.setConsumeAchieve(memberDataVO.getConsumeAchieve().multiply(currencyDTO.getInExchangeRate()));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 国家翻译
|
|
||||||
Map<Integer, String> transactionMap = iTransactionCommonService.enumTransactionByDBFromPkId(Arrays.asList(memberDataVO.getPkCountryTransaction(), memberDataVO.getPkSettleCountryTransaction()));
|
|
||||||
if (null != transactionMap.get(memberDataVO.getPkCountryTransaction())) {
|
|
||||||
memberDataVO.setCountryName(transactionMap.get(memberDataVO.getPkCountryTransaction()));
|
|
||||||
}
|
|
||||||
if (null != transactionMap.get(memberDataVO.getPkSettleCountryTransaction())) {
|
|
||||||
memberDataVO.setSettleCountryName(transactionMap.get(memberDataVO.getPkSettleCountryTransaction()));
|
|
||||||
}
|
|
||||||
|
|
||||||
return memberDataVO;
|
return memberDataVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.hzs.member.base.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class DeleteDeadLockVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员编号
|
||||||
|
*/
|
||||||
|
private String memberCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员姓名
|
||||||
|
*/
|
||||||
|
private String memberName;
|
||||||
|
/**
|
||||||
|
* 结算等级
|
||||||
|
*/
|
||||||
|
private String pkSettleGrade;
|
||||||
|
/**
|
||||||
|
* 推荐人编号
|
||||||
|
*/
|
||||||
|
private String parMemberCode;
|
||||||
|
/**
|
||||||
|
* 安置人编号
|
||||||
|
*/
|
||||||
|
private String placeMemberCode;
|
||||||
|
/**
|
||||||
|
* 安置位置
|
||||||
|
*/
|
||||||
|
private String placeDept;
|
||||||
|
/**
|
||||||
|
* 注册时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date creationTime;
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.hzs.member.base.vo;
|
package com.hzs.member.base.vo;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
||||||
import com.hzs.common.core.annotation.Transaction;
|
import com.hzs.common.core.annotation.Transaction;
|
||||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
@ -10,11 +9,7 @@ import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员资料VO
|
* 会员资料VO
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/11 15:15
|
|
||||||
* @Classname: MemberDataVO
|
|
||||||
* @PackageName: com.hzs.member.base.vo
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class MemberDataVO {
|
public class MemberDataVO {
|
||||||
|
|
@ -48,10 +43,6 @@ public class MemberDataVO {
|
||||||
* 自然国家
|
* 自然国家
|
||||||
*/
|
*/
|
||||||
private Integer pkCountry;
|
private Integer pkCountry;
|
||||||
/**
|
|
||||||
* 自然国家翻译
|
|
||||||
*/
|
|
||||||
private Integer pkCountryTransaction;
|
|
||||||
/**
|
/**
|
||||||
* 自然国家名称
|
* 自然国家名称
|
||||||
*/
|
*/
|
||||||
|
|
@ -61,10 +52,6 @@ public class MemberDataVO {
|
||||||
* 结算国家
|
* 结算国家
|
||||||
*/
|
*/
|
||||||
private Integer pkSettleCountry;
|
private Integer pkSettleCountry;
|
||||||
/**
|
|
||||||
* 结算国家翻译
|
|
||||||
*/
|
|
||||||
private Integer pkSettleCountryTransaction;
|
|
||||||
/**
|
/**
|
||||||
* 结算国家名称
|
* 结算国家名称
|
||||||
*/
|
*/
|
||||||
|
|
@ -90,16 +77,6 @@ public class MemberDataVO {
|
||||||
*/
|
*/
|
||||||
private String settleGradeVal;
|
private String settleGradeVal;
|
||||||
|
|
||||||
/**
|
|
||||||
* 代理等级
|
|
||||||
*/
|
|
||||||
@Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE)
|
|
||||||
private Integer agentGrade;
|
|
||||||
/**
|
|
||||||
* 代理等级显示
|
|
||||||
*/
|
|
||||||
private String agentGradeVal;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 真实奖衔
|
* 真实奖衔
|
||||||
*/
|
*/
|
||||||
|
|
@ -110,16 +87,6 @@ public class MemberDataVO {
|
||||||
*/
|
*/
|
||||||
private String awardsVal;
|
private String awardsVal;
|
||||||
|
|
||||||
/**
|
|
||||||
* 荣誉奖衔
|
|
||||||
*/
|
|
||||||
@Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
|
|
||||||
private Integer maxAwards;
|
|
||||||
/**
|
|
||||||
* 荣誉奖衔显示
|
|
||||||
*/
|
|
||||||
private String maxAwardsVal;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建日期
|
* 创建日期
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,7 @@ import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员登录信息
|
* 会员登录信息
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/10 15:23
|
|
||||||
* @Classname: MemberInfo
|
|
||||||
* @PackageName: com.hzs.member.base.vo
|
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
|
@ -51,10 +47,6 @@ public class MemberInfoVO {
|
||||||
* 自然国家圆形国旗
|
* 自然国家圆形国旗
|
||||||
*/
|
*/
|
||||||
private String countryCircularIcon;
|
private String countryCircularIcon;
|
||||||
/**
|
|
||||||
* 自然国家方形图旗
|
|
||||||
*/
|
|
||||||
private String countrySquareIcon;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算国ID
|
* 结算国ID
|
||||||
|
|
@ -68,18 +60,6 @@ public class MemberInfoVO {
|
||||||
* 结算国家圆形国旗
|
* 结算国家圆形国旗
|
||||||
*/
|
*/
|
||||||
private String settleCountryCircularIcon;
|
private String settleCountryCircularIcon;
|
||||||
/**
|
|
||||||
* 结算国家方形国旗
|
|
||||||
*/
|
|
||||||
private String settleCountrySquareIcon;
|
|
||||||
/**
|
|
||||||
* 结算国家点亮名称
|
|
||||||
*/
|
|
||||||
private String settleCountryLightName;
|
|
||||||
/*
|
|
||||||
* 结算国家地图
|
|
||||||
*/
|
|
||||||
private String settleCountryImg;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 等级ID
|
* 等级ID
|
||||||
|
|
@ -94,10 +74,6 @@ public class MemberInfoVO {
|
||||||
* 等级名称
|
* 等级名称
|
||||||
*/
|
*/
|
||||||
private String pkGradeVal;
|
private String pkGradeVal;
|
||||||
/**
|
|
||||||
* 等级图标
|
|
||||||
*/
|
|
||||||
private String gradeIcon;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 奖衔ID
|
* 奖衔ID
|
||||||
|
|
@ -118,26 +94,6 @@ public class MemberInfoVO {
|
||||||
*/
|
*/
|
||||||
private String awardsIcon;
|
private String awardsIcon;
|
||||||
|
|
||||||
/**
|
|
||||||
* 荣誉奖衔ID
|
|
||||||
*/
|
|
||||||
private Integer pkMaxAwardsId;
|
|
||||||
/**
|
|
||||||
* 荣誉奖衔翻译ID
|
|
||||||
*/
|
|
||||||
@Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD)
|
|
||||||
private Integer pkMaxAwards;
|
|
||||||
/**
|
|
||||||
* 荣誉奖衔名称
|
|
||||||
*/
|
|
||||||
private String pkMaxAwardsVal;
|
|
||||||
/**
|
|
||||||
* 荣誉奖衔图标
|
|
||||||
*/
|
|
||||||
private String maxAwardsIcon;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 币种图标
|
* 币种图标
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,6 @@ import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description:
|
|
||||||
* @Author: sui q
|
|
||||||
* @Time: 2023/3/15 11:07
|
|
||||||
* @Classname: MemberShare
|
|
||||||
* @PackageName: com.hzs.member.base.vo
|
|
||||||
*/
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
|
@ -69,4 +62,10 @@ public class MemberShare implements Serializable {
|
||||||
*/
|
*/
|
||||||
private String android;
|
private String android;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动登录uuid
|
||||||
|
*/
|
||||||
|
private String uuid;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -58,4 +58,8 @@ public class CensusSummaryParam {
|
||||||
* 体系
|
* 体系
|
||||||
*/
|
*/
|
||||||
private String pkBdVertexStr;
|
private String pkBdVertexStr;
|
||||||
|
/**
|
||||||
|
* 体系集合
|
||||||
|
*/
|
||||||
|
private List<Integer> pkBdVertexStrList;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,10 @@ package com.hzs.member.login.controller;
|
||||||
import cn.hutool.core.codec.Base64Decoder;
|
import cn.hutool.core.codec.Base64Decoder;
|
||||||
import com.hzs.common.auth.LoginBody;
|
import com.hzs.common.auth.LoginBody;
|
||||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||||
|
import com.hzs.common.core.constant.CacheConstants;
|
||||||
import com.hzs.common.core.constant.MagicNumberConstants;
|
import com.hzs.common.core.constant.MagicNumberConstants;
|
||||||
import com.hzs.common.core.constant.SysConstants;
|
import com.hzs.common.core.constant.SysConstants;
|
||||||
|
import com.hzs.common.core.service.RedisService;
|
||||||
import com.hzs.common.core.utils.StringUtils;
|
import com.hzs.common.core.utils.StringUtils;
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
import com.hzs.common.core.web.domain.AjaxResult;
|
||||||
import com.hzs.common.domain.member.base.CuMemberShare;
|
import com.hzs.common.domain.member.base.CuMemberShare;
|
||||||
|
|
@ -21,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员端 token 控制
|
* 会员端 token 控制
|
||||||
|
|
@ -38,6 +41,8 @@ public class MemberTokenController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMemberLoginService iMemberLoginService;
|
private IMemberLoginService iMemberLoginService;
|
||||||
|
@Autowired
|
||||||
|
private RedisService redisService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员登录
|
* 会员登录
|
||||||
|
|
@ -113,4 +118,22 @@ public class MemberTokenController {
|
||||||
return AjaxResult.error();
|
return AjaxResult.error();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 0元会员自动登录
|
||||||
|
*/
|
||||||
|
@RepeatSubmitSimple
|
||||||
|
@PostMapping("/share-login")
|
||||||
|
public AjaxResult shareLogin(@Valid @RequestBody AutoLoginParam param) {
|
||||||
|
String tmpUuid = redisService.getCacheObject(CacheConstants.AUTO_LOGIN + param.getUsername());
|
||||||
|
if (!param.getUuid().equals(tmpUuid)) {
|
||||||
|
// 没有自动登录标记 或者 标记不对,则不能自动登录
|
||||||
|
return AjaxResult.error("当前会员已不能快速登录");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 用户登录
|
||||||
|
LoginMember loginMember = iMemberLoginService.login(param.getUsername(), param.getPassword());
|
||||||
|
// 获取登录token
|
||||||
|
return AjaxResult.success(memberTokenService.createToken(loginMember));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,11 @@ package com.hzs.member.login.param;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 海粉自动注册登录入参
|
* 自动注册登录入参
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class AutoLoginParam {
|
public class AutoLoginParam {
|
||||||
|
|
@ -13,4 +16,25 @@ public class AutoLoginParam {
|
||||||
*/
|
*/
|
||||||
private String pkParent;
|
private String pkParent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员编号
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "会员编号不能为空")
|
||||||
|
@Size(message = "会员编号不能超过{max}位", max = 20)
|
||||||
|
private String username;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录密码
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "登录密码不能为空")
|
||||||
|
@Size(message = "登录密码不能超过{max}位", max = 20)
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动登录标记
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "缺少参数")
|
||||||
|
private String uuid;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -106,9 +106,12 @@ public class MemberLoginServiceImpl implements IMemberLoginService {
|
||||||
|
|
||||||
// 用户未支付状态
|
// 用户未支付状态
|
||||||
if (EPayStatus.UNPAID.getValue() == member.getPayStatus()) {
|
if (EPayStatus.UNPAID.getValue() == member.getPayStatus()) {
|
||||||
recordLoginLog(null, EStatus.NO, username + " 登录用户不存在");
|
if (null != member.getPkPlaceParent()) {
|
||||||
// 登录用户: %s 不存在
|
// 兼容0元注册,有安置的为正常会员需要判断支付状态
|
||||||
throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_NOT_EXIST, username));
|
recordLoginLog(null, EStatus.NO, username + " 登录用户不存在");
|
||||||
|
// 登录用户: %s 不存在
|
||||||
|
throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_NOT_EXIST, username));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 非正常点位(死点、已注销),不能登录
|
// 非正常点位(死点、已注销),不能登录
|
||||||
if (ECategory.NORMAL.getValue() != member.getCategory()) {
|
if (ECategory.NORMAL.getValue() != member.getCategory()) {
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,37 @@
|
||||||
package com.hzs.member.share.controller.api;
|
package com.hzs.member.share.controller.api;
|
||||||
|
|
||||||
|
import cn.hutool.core.codec.Base64Decoder;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||||
|
import com.hzs.common.core.config.BdConfig;
|
||||||
|
import com.hzs.common.core.constant.CacheConstants;
|
||||||
|
import com.hzs.common.core.constant.CountryConstants;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
|
import com.hzs.common.core.enums.ECategory;
|
||||||
|
import com.hzs.common.core.enums.EDelFlag;
|
||||||
import com.hzs.common.core.enums.EShareType;
|
import com.hzs.common.core.enums.EShareType;
|
||||||
|
import com.hzs.common.core.enums.ESystemConfig;
|
||||||
|
import com.hzs.common.core.service.RedisService;
|
||||||
import com.hzs.common.core.utils.sign.Base64Util;
|
import com.hzs.common.core.utils.sign.Base64Util;
|
||||||
|
import com.hzs.common.core.utils.uuid.IdUtils;
|
||||||
import com.hzs.common.core.web.domain.AjaxResult;
|
import com.hzs.common.core.web.domain.AjaxResult;
|
||||||
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
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.share.param.ShareRegisterParam;
|
||||||
|
import com.hzs.system.base.ISystemConfigServiceApi;
|
||||||
import com.hzs.third.share.IShareServiceApi;
|
import com.hzs.third.share.IShareServiceApi;
|
||||||
import com.hzs.third.share.dto.ShareServiceDTO;
|
import com.hzs.third.share.dto.ShareServiceDTO;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 会员分享相关控制器
|
* 会员分享相关控制器
|
||||||
|
|
@ -24,29 +41,16 @@ import java.util.Map;
|
||||||
@RequestMapping("/api/share")
|
@RequestMapping("/api/share")
|
||||||
public class ApiShareController {
|
public class ApiShareController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ICuMemberService iCuMemberService;
|
||||||
|
@Autowired
|
||||||
|
private RedisService redisService;
|
||||||
|
|
||||||
@DubboReference
|
@DubboReference
|
||||||
IShareServiceApi iShareServiceApi;
|
IShareServiceApi iShareServiceApi;
|
||||||
|
@DubboReference
|
||||||
|
ISystemConfigServiceApi iSystemConfigServiceApi;
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 获取海粉分享码
|
|
||||||
// *
|
|
||||||
// * @return
|
|
||||||
// */
|
|
||||||
// @GetMapping("/fans-code")
|
|
||||||
// public AjaxResult fansCode() {
|
|
||||||
// Long userId = SecurityUtils.getUserId();
|
|
||||||
// // 海粉注册分享人就是自己
|
|
||||||
// R<String> resultR = iShareServiceApi.queryShareCode(ShareServiceDTO.builder()
|
|
||||||
// .eShareType(EShareType.FANS)
|
|
||||||
// .pkBusiness(userId)
|
|
||||||
// .pkCountry(SecurityUtils.getPkCountry())
|
|
||||||
// .userId(userId)
|
|
||||||
// .build());
|
|
||||||
// if (resultR.isSuccess()) {
|
|
||||||
// return AjaxResult.success("", resultR.getData());
|
|
||||||
// }
|
|
||||||
// return AjaxResult.error();
|
|
||||||
// }
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取188分享码(H5)
|
* 获取188分享码(H5)
|
||||||
|
|
@ -73,50 +77,77 @@ public class ApiShareController {
|
||||||
return AjaxResult.error();
|
return AjaxResult.error();
|
||||||
}
|
}
|
||||||
|
|
||||||
// /**
|
|
||||||
// * 获取分享专区分享码
|
////////////////////////////// 0元注册 //////////////////////////////
|
||||||
// *
|
|
||||||
// * @return
|
|
||||||
// */
|
/**
|
||||||
// @GetMapping("/share-code")
|
* 分享查询推荐人编号 -- 不需要登录
|
||||||
// public AjaxResult shareCode() {
|
*
|
||||||
// Long userId = SecurityUtils.getUserId();
|
* @param parentCode 推荐人(加密)
|
||||||
// // 分享专区分享人就是自己
|
* @return
|
||||||
// R<String> resultR = iShareServiceApi.queryShareCode(ShareServiceDTO.builder()
|
*/
|
||||||
// .eShareType(EShareType.SHARE)
|
@GetMapping("/find-share-code/{parentCode}")
|
||||||
// .pkBusiness(userId)
|
public AjaxResult findShareCode(@PathVariable("parentCode") String parentCode) {
|
||||||
// .pkCountry(SecurityUtils.getPkCountry())
|
CuMember cuMember = iCuMemberService.getMemberById(Long.parseLong(new String(Base64Decoder.decode(parentCode))));
|
||||||
// .userId(userId)
|
if (null != cuMember) {
|
||||||
// .build());
|
return AjaxResult.success("", cuMember.getMemberCode());
|
||||||
// if (resultR.isSuccess()) {
|
}
|
||||||
// return AjaxResult.success("", resultR.getData());
|
return AjaxResult.error();
|
||||||
// }
|
}
|
||||||
// return AjaxResult.error();
|
|
||||||
// }
|
/**
|
||||||
//
|
* 分享注册 -- 不需要登录
|
||||||
// /**
|
*
|
||||||
// * 获取分享专区分享码(H5)
|
* @param registerParam 分享注册入参
|
||||||
// *
|
* @return
|
||||||
// * @return
|
*/
|
||||||
// */
|
@RepeatSubmitSimple
|
||||||
// @GetMapping("/share-code-h5")
|
@PostMapping("/share-register")
|
||||||
// public AjaxResult shareCodeH5() {
|
public AjaxResult shareRegister(@Valid @RequestBody ShareRegisterParam registerParam,
|
||||||
// Long userId = SecurityUtils.getUserId();
|
@RequestHeader("Source") Integer source) {
|
||||||
// // 分享专区分享人就是自己
|
// 设置数据来源
|
||||||
// R<String> resultR = iShareServiceApi.queryShareCode(ShareServiceDTO.builder()
|
registerParam.setSource(source);
|
||||||
// .eShareType(EShareType.SHARE)
|
|
||||||
// .pkBusiness(userId)
|
// 验证推荐人
|
||||||
// .pkCountry(SecurityUtils.getPkCountry())
|
CuMember parentMember = iCuMemberService.getMember(registerParam.getParentCode());
|
||||||
// .userId(userId)
|
if (null == parentMember) {
|
||||||
// .build());
|
return AjaxResult.error("推荐编号不存在");
|
||||||
// if (resultR.isSuccess()) {
|
}
|
||||||
// Map<String, String> resultMap = new HashMap<>();
|
registerParam.setParentMember(parentMember);
|
||||||
// resultMap.put("dataUrl", resultR.getData());
|
|
||||||
// // 前端无法根据URL生成海报,此处需要转一下base64
|
// 手机号注册次数
|
||||||
// resultMap.put("dataStr", Base64Util.toUrlBase64(resultR.getData()));
|
String value = iSystemConfigServiceApi.getBonusSystemConfig(CountryConstants.CHINA_COUNTRY, ESystemConfig.REGISTER_NUMBER.getKey()).getData();
|
||||||
// return AjaxResult.success(resultMap);
|
int phoneCount = iCuMemberService.count(Wrappers.<CuMember>lambdaQuery()
|
||||||
// }
|
.eq(CuMember::getPhone, registerParam.getPhone())
|
||||||
// return AjaxResult.error();
|
.eq(CuMember::getDelFlag, EDelFlag.UN_DELETE.getValue())
|
||||||
// }
|
.eq(CuMember::getCategory, ECategory.NORMAL.getValue())
|
||||||
|
);
|
||||||
|
if (phoneCount > Integer.parseInt(value)) {
|
||||||
|
return AjaxResult.error("会员信息已存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
CuMember newCuMember = iCuMemberService.shareRegisterMember(registerParam);
|
||||||
|
if (null != newCuMember) {
|
||||||
|
// 自动登录 uuid 标记
|
||||||
|
String uuid = IdUtils.simpleUUID();
|
||||||
|
// 根据会员编号放一个登录 uuid 做为自动登录校验使用(60分钟有效)
|
||||||
|
redisService.setCacheObject(CacheConstants.AUTO_LOGIN + newCuMember.getMemberCode(), uuid, CacheConstants.LOGIN_TOKEN_REFRESH_TIME, TimeUnit.MINUTES);
|
||||||
|
|
||||||
|
MemberShare memberShare = MemberShare.builder()
|
||||||
|
.memberCode(newCuMember.getMemberCode())
|
||||||
|
.memberName(newCuMember.getMemberName())
|
||||||
|
.phone(newCuMember.getPhone())
|
||||||
|
.loginPassword(newCuMember.getLoginPassword())
|
||||||
|
.payPassword(newCuMember.getPayPassword())
|
||||||
|
.urlAddress(BdConfig.getPc())
|
||||||
|
.uuid(uuid)
|
||||||
|
.build();
|
||||||
|
return AjaxResult.success(memberShare);
|
||||||
|
} else {
|
||||||
|
return AjaxResult.error("注册失败,请重试");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,47 @@
|
||||||
|
package com.hzs.member.share.param;
|
||||||
|
|
||||||
|
import com.hzs.common.domain.member.base.CuMember;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分享注册入参
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ShareRegisterParam implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推荐编号
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "推荐编号不能为空")
|
||||||
|
@Size(max = 20, message = "推荐编号不能超过20位")
|
||||||
|
private String parentCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员姓名
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "会员姓名不能为空")
|
||||||
|
@Size(max = 40, message = "会员姓名不能超过40位")
|
||||||
|
private String memberName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联系方式
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "联系方式不能为空")
|
||||||
|
@Size(max = 40, message = "联系方式不能超过40位")
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推荐会员
|
||||||
|
*/
|
||||||
|
private CuMember parentMember;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据来源 -- EDataSource
|
||||||
|
*/
|
||||||
|
private Integer source;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -89,6 +89,10 @@ public class MemberStructureController extends BaseController {
|
||||||
CuMember member = iCuMemberService.getMemberByCode(memberCode);
|
CuMember member = iCuMemberService.getMemberByCode(memberCode);
|
||||||
if (null != member) {
|
if (null != member) {
|
||||||
pkMember = member.getPkId();
|
pkMember = member.getPkId();
|
||||||
|
if (null == member.getPkPlaceParent()) {
|
||||||
|
// 0元会员返回为空
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (null == pkMember) {
|
if (null == pkMember) {
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,14 @@
|
||||||
<result column="ACCOUNT_STATUS" property="accountStatus"/>
|
<result column="ACCOUNT_STATUS" property="accountStatus"/>
|
||||||
<result column="PK_COUNTRY" property="pkCountry"/>
|
<result column="PK_COUNTRY" property="pkCountry"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
<update id="deleteCuMemberAccountByMemberCode">
|
||||||
|
update cu_member_account cma
|
||||||
|
set cma.del_flag = 1,cma.PK_MODIFIED = #{userId},cma.MODIFIED_TIME = #{date}
|
||||||
|
where cma.pk_member in
|
||||||
|
(select cm.pk_id
|
||||||
|
from cu_member cm
|
||||||
|
where cm.member_code = #{memberCode})
|
||||||
|
</update>
|
||||||
|
|
||||||
<select id="queryMemberAccountByCondition" resultMap="AccountExResultMap">
|
<select id="queryMemberAccountByCondition" resultMap="AccountExResultMap">
|
||||||
select cm.pay_pwd,
|
select cm.pay_pwd,
|
||||||
|
|
|
||||||
|
|
@ -1044,9 +1044,7 @@
|
||||||
ba.pk_transaction awards,
|
ba.pk_transaction awards,
|
||||||
bam.pk_transaction max_awards,
|
bam.pk_transaction max_awards,
|
||||||
bc.short_name country_name,
|
bc.short_name country_name,
|
||||||
bc.pk_transaction pk_country_transaction,
|
|
||||||
bcs.short_name settle_country_name,
|
bcs.short_name settle_country_name,
|
||||||
bcs.pk_transaction pk_settle_country_transaction,
|
|
||||||
cmau.id_card id_card_auth
|
cmau.id_card id_card_auth
|
||||||
from cu_member cm
|
from cu_member cm
|
||||||
left join BD_GRADE bgr
|
left join BD_GRADE bgr
|
||||||
|
|
@ -2567,9 +2565,9 @@
|
||||||
and sa.DEL_FLAG = 0
|
and sa.DEL_FLAG = 0
|
||||||
and to_char(sa.pay_time, 'yyyy-mm-dd') = #{time}
|
and to_char(sa.pay_time, 'yyyy-mm-dd') = #{time}
|
||||||
and sa.PK_COUNTRY = #{pkCountry}
|
and sa.PK_COUNTRY = #{pkCountry}
|
||||||
<if test="pkVertex!=null and pkVertex.size> 0 ">
|
<if test="pkBdVertexStrList!=null and pkBdVertexStrList.size> 0 ">
|
||||||
and cm.PK_VERTEX in
|
and cm.PK_VERTEX in
|
||||||
<foreach collection="pkVertex" item="item" open="(" close=")" separator=",">
|
<foreach collection="pkBdVertexStrList" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -3206,6 +3204,46 @@
|
||||||
)
|
)
|
||||||
order by ba.pk_id asc
|
order by ba.pk_id asc
|
||||||
</select>
|
</select>
|
||||||
|
<select id="queryDeleteDeadLockList" resultType="com.hzs.member.base.vo.DeleteDeadLockVO">
|
||||||
|
SELECT
|
||||||
|
cu.MEMBER_CODE,
|
||||||
|
cu.MEMBER_NAME,bdg.GRADE_NAME as pkSettleGrade,
|
||||||
|
cus.MEMBER_CODE AS parMemberCode,
|
||||||
|
cuss.MEMBER_CODE AS placeMemberCode,cu.PLACE_DEPT,
|
||||||
|
cu.CREATION_TIME
|
||||||
|
FROM
|
||||||
|
CU_MEMBER cu
|
||||||
|
LEFT JOIN CU_MEMBER cus ON cu.PK_PARENT = cus.PK_ID
|
||||||
|
LEFT JOIN CU_MEMBER cuss ON cu.PK_PLACE_PARENT = cuss.PK_ID
|
||||||
|
LEFT JOIN BD_GRADE bdg ON cu.PK_SETTLE_GRADE = bdg.PK_ID
|
||||||
|
WHERE
|
||||||
|
cu.DEL_FLAG = 0
|
||||||
|
AND cu.CATEGORY = 2
|
||||||
|
<if test="memberCode != null and memberCode != ''">
|
||||||
|
AND cu.MEMBER_CODE = #{memberCode}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<select id="queryIsDeadMember" resultType="java.lang.Integer">
|
||||||
|
SELECT
|
||||||
|
COUNT(*)
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
MEMBER_CODE
|
||||||
|
FROM
|
||||||
|
CU_MEMBER
|
||||||
|
WHERE
|
||||||
|
DEL_FLAG = 0 START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PARENT UNION ALL
|
||||||
|
SELECT
|
||||||
|
MEMBER_CODE
|
||||||
|
FROM
|
||||||
|
CU_MEMBER
|
||||||
|
WHERE
|
||||||
|
DEL_FLAG = 0 START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PLACE_PARENT
|
||||||
|
) t
|
||||||
|
WHERE
|
||||||
|
t.MEMBER_CODE != #{memberCode}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -575,12 +575,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 查询订单信息
|
// 查询订单信息
|
||||||
SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry);
|
SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry);
|
||||||
if (null == saOrder) {
|
if (null == saOrder) {
|
||||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||||
}
|
}
|
||||||
// 订单支付日期 < 当前日期-7天
|
// 订单支付日期 < 当前日期-7天
|
||||||
Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7);
|
Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7);
|
||||||
if (beforeDate.compareTo(saOrder.getPayTime()) > 0) {
|
if (beforeDate.compareTo(saOrder.getPayTime()) > 0) {
|
||||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED);
|
return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 操作日志内容
|
// 操作日志内容
|
||||||
|
|
@ -646,16 +646,13 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
return "订单已经发货,不能进行调换货物";
|
return "订单已经发货,不能进行调换货物";
|
||||||
}
|
}
|
||||||
|
|
||||||
// 是否扣款
|
|
||||||
boolean orderCostFlag = false;
|
|
||||||
// 修改前的订单金额 + 邮费
|
// 修改前的订单金额 + 邮费
|
||||||
BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
// 修改后的订单金额 + 邮费
|
// 修改后的订单金额 + 邮费
|
||||||
BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
// 对比修改前后订单价格处理是否补差价
|
// 校验订单原订单价格和调换完货之后的价格不相同不进行换货
|
||||||
if (beforeAmount.compareTo(afterAmount) != 0) {
|
if (beforeAmount.compareTo(afterAmount) != 0) {
|
||||||
// 修改前后金额不相同则进行处理
|
return CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE;
|
||||||
orderCostFlag = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iSaOrderChargeLogService.save(saOrderChargeLog)) {
|
if (iSaOrderChargeLogService.save(saOrderChargeLog)) {
|
||||||
|
|
@ -664,13 +661,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
changeIdList, noChangeIdList,
|
changeIdList, noChangeIdList,
|
||||||
userId, pkCountry, nowDate);
|
userId, pkCountry, nowDate);
|
||||||
|
|
||||||
if (orderCostFlag) {
|
if (null != dto) {
|
||||||
// 订单调换货物扣费处理
|
|
||||||
R<?> resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, dto);
|
|
||||||
if (!resultR.isSuccess()) {
|
|
||||||
throw new BaseException(resultR.getMsg());
|
|
||||||
}
|
|
||||||
} else if (null != dto) {
|
|
||||||
// 订单总价未变化,但是需要手续费
|
// 订单总价未变化,但是需要手续费
|
||||||
R<?> resultR = iMemberAccountServiceApi.orderChangeProduct(null, null, userId, dto);
|
R<?> resultR = iMemberAccountServiceApi.orderChangeProduct(null, null, userId, dto);
|
||||||
if (!resultR.isSuccess()) {
|
if (!resultR.isSuccess()) {
|
||||||
|
|
@ -703,12 +694,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
// 查询订单收货地址信息
|
// 查询订单收货地址信息
|
||||||
SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry);
|
SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry);
|
||||||
if (null == saOrder) {
|
if (null == saOrder) {
|
||||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||||
}
|
}
|
||||||
// 订单支付日期 < 当前日期-7天
|
// 订单支付日期 < 当前日期-7天
|
||||||
Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7);
|
Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7);
|
||||||
if (beforeDate.compareTo(saOrder.getPayTime()) > 0) {
|
if (beforeDate.compareTo(saOrder.getPayTime()) > 0) {
|
||||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED);
|
return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 涉及会员ID列表
|
// 涉及会员ID列表
|
||||||
|
|
@ -754,25 +745,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
;
|
;
|
||||||
// 修改后的订单金额 + 邮费
|
// 修改后的订单金额 + 邮费
|
||||||
BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
;
|
//校验订单原订单价格和调换完货之后的价格不相同不进行换货
|
||||||
// 对比修改前后订单价格处理是否补差价
|
if (beforeAmount.compareTo(afterAmount) != 0) {
|
||||||
if (beforeAmount.compareTo(afterAmount) < 0) {
|
return CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE;
|
||||||
// 存在差额
|
|
||||||
// 封装订单数据
|
|
||||||
SaOrder updateOrder = BeanUtil.copyProperties(saOrder, SaOrder.class);
|
|
||||||
updateOrder.setPkId(saOrder.getPkId());
|
|
||||||
updateOrder.setOrderAmount(afterData.getOrderAmount());
|
|
||||||
updateOrder.setOrderAchieve(afterData.getOrderAchieve());
|
|
||||||
updateOrder.setOrderAssAchieve(afterData.getOrderAssAchieve());
|
|
||||||
updateOrder.setPostage(param.getPostage());
|
|
||||||
updateOrder.setPkModified(userId);
|
|
||||||
updateOrder.setModifiedTime(nowDate);
|
|
||||||
|
|
||||||
// 校验订单支付金额是否足够
|
|
||||||
R<?> resultR = iMemberAccountServiceApi.orderChangeProductPre(saOrder, updateOrder);
|
|
||||||
if (!resultR.isSuccess()) {
|
|
||||||
return resultR.getMsg();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iSaOrderChargeLogService.save(saOrderChargeLog)) {
|
if (iSaOrderChargeLogService.save(saOrderChargeLog)) {
|
||||||
|
|
@ -786,7 +761,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
||||||
}
|
}
|
||||||
return submitStr;
|
return submitStr;
|
||||||
}
|
}
|
||||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED);
|
return CommonMsgConstants.OPERATION_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ import com.hzs.common.domain.system.base.BdCurrency;
|
||||||
import com.hzs.common.domain.system.config.BdAwards;
|
import com.hzs.common.domain.system.config.BdAwards;
|
||||||
import com.hzs.common.domain.system.config.BdGrade;
|
import com.hzs.common.domain.system.config.BdGrade;
|
||||||
import com.hzs.system.base.ICurrencyServiceApi;
|
import com.hzs.system.base.ICurrencyServiceApi;
|
||||||
import com.hzs.system.base.dto.CurrencyDTO;
|
|
||||||
import com.hzs.system.base.service.IBdCountryService;
|
import com.hzs.system.base.service.IBdCountryService;
|
||||||
import com.hzs.system.base.service.IBdCurrencyService;
|
import com.hzs.system.base.service.IBdCurrencyService;
|
||||||
import com.hzs.system.common.ICommonServiceApi;
|
import com.hzs.system.common.ICommonServiceApi;
|
||||||
|
|
@ -18,11 +17,7 @@ import org.apache.dubbo.config.annotation.DubboService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 公用dubbo接口
|
* 公用dubbo接口
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2023/1/10 16:10
|
|
||||||
* @Classname: CommonServiceProvider
|
|
||||||
* @PackageName: com.hzs.system.common.provider
|
|
||||||
*/
|
*/
|
||||||
@DubboService
|
@DubboService
|
||||||
public class CommonServiceProvider implements ICommonServiceApi {
|
public class CommonServiceProvider implements ICommonServiceApi {
|
||||||
|
|
@ -35,20 +30,15 @@ public class CommonServiceProvider implements ICommonServiceApi {
|
||||||
private IBdAwardsService iBdAwardsService;
|
private IBdAwardsService iBdAwardsService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdCurrencyService iBdCurrencyService;
|
private IBdCurrencyService iBdCurrencyService;
|
||||||
@Autowired
|
|
||||||
private ICurrencyServiceApi iCurrencyServiceApi;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<MemberDataDTO> getMemberData(MemberDataDTO memberDataDTO) {
|
public R<MemberDataDTO> getMemberData(MemberDataDTO memberDataDTO) {
|
||||||
|
|
||||||
// 自然国
|
// 自然国
|
||||||
if (null != memberDataDTO.getPkCountry()) {
|
if (null != memberDataDTO.getPkCountry()) {
|
||||||
BdCountry bdCountry = iBdCountryService.getCountry(memberDataDTO.getPkCountry());
|
BdCountry bdCountry = iBdCountryService.getCountry(memberDataDTO.getPkCountry());
|
||||||
if (null != bdCountry) {
|
if (null != bdCountry) {
|
||||||
memberDataDTO.setPkCountryVal(bdCountry.getShortName());
|
memberDataDTO.setPkCountryVal(bdCountry.getShortName());
|
||||||
memberDataDTO.setCountryCircularIcon(bdCountry.getNationalFlag1());
|
memberDataDTO.setCountryCircularIcon(bdCountry.getNationalFlag1());
|
||||||
memberDataDTO.setCountrySquareIcon(bdCountry.getNationalFlag2());
|
|
||||||
memberDataDTO.setPkCountryTransaction(bdCountry.getPkTransaction());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 结算国
|
// 结算国
|
||||||
|
|
@ -57,17 +47,8 @@ public class CommonServiceProvider implements ICommonServiceApi {
|
||||||
if (null != bdSettleCountry) {
|
if (null != bdSettleCountry) {
|
||||||
memberDataDTO.setPkSettleCountryVal(bdSettleCountry.getShortName());
|
memberDataDTO.setPkSettleCountryVal(bdSettleCountry.getShortName());
|
||||||
memberDataDTO.setSettleCountryCircularIcon(bdSettleCountry.getNationalFlag1());
|
memberDataDTO.setSettleCountryCircularIcon(bdSettleCountry.getNationalFlag1());
|
||||||
memberDataDTO.setSettleCountrySquareIcon(bdSettleCountry.getNationalFlag2());
|
|
||||||
memberDataDTO.setSettleCountryLightName(bdSettleCountry.getLightName());
|
|
||||||
memberDataDTO.setSettleCountryImg(bdSettleCountry.getImg());
|
|
||||||
memberDataDTO.setPkSettleCountryTransaction(bdSettleCountry.getPkTransaction());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 汇率
|
|
||||||
CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(memberDataDTO.getPkSettleCountry()).getData();
|
|
||||||
memberDataDTO.setExchangeRate(currencyDTO.getInExchangeRate());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 等级
|
// 等级
|
||||||
if (null != memberDataDTO.getPkGrade()) {
|
if (null != memberDataDTO.getPkGrade()) {
|
||||||
BdGrade bdGrade = iBdGradeService.getBdGrade(memberDataDTO.getPkGrade());
|
BdGrade bdGrade = iBdGradeService.getBdGrade(memberDataDTO.getPkGrade());
|
||||||
|
|
@ -89,17 +70,6 @@ public class CommonServiceProvider implements ICommonServiceApi {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// // 荣誉奖衔
|
|
||||||
// if (null != memberDataDTO.getPkMaxAwards()) {
|
|
||||||
// BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkMaxAwards());
|
|
||||||
// if (null != bdAwards) {
|
|
||||||
// memberDataDTO.setPkMaxAwards(bdAwards.getPkTransaction());
|
|
||||||
// if (EAwards.MEMBER.getValue() != bdAwards.getAwardsValue()) {
|
|
||||||
// // 奖衔如果是会员级别不返回图标
|
|
||||||
// memberDataDTO.setMaxAwardsIcon(bdAwards.getImage());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// 币种
|
// 币种
|
||||||
if (null != memberDataDTO.getPkSettleCountry()) {
|
if (null != memberDataDTO.getPkSettleCountry()) {
|
||||||
BdCurrency bdCurrency = iBdCurrencyService.getCurrency(memberDataDTO.getPkSettleCountry());
|
BdCurrency bdCurrency = iBdCurrencyService.getCurrency(memberDataDTO.getPkSettleCountry());
|
||||||
|
|
|
||||||
|
|
@ -325,4 +325,9 @@ public class CacheConstants {
|
||||||
*/
|
*/
|
||||||
public final static String RETAIL_REGION = CACHE_PREFIX + "retail:region:%s:%s:%s";
|
public final static String RETAIL_REGION = CACHE_PREFIX + "retail:region:%s:%s:%s";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自动登录缓存KEY
|
||||||
|
*/
|
||||||
|
public final static String AUTO_LOGIN = CACHE_PREFIX + "auth:login:";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -287,5 +287,9 @@ public class MemberMsgConstants {
|
||||||
* 已超最大门票销售数量,不能购买!
|
* 已超最大门票销售数量,不能购买!
|
||||||
*/
|
*/
|
||||||
public static final String NOT_CHECK_AC_ACTIVITY = "门票数量已售罄,请稍后再试!";
|
public static final String NOT_CHECK_AC_ACTIVITY = "门票数量已售罄,请稍后再试!";
|
||||||
|
/**
|
||||||
|
* 会员安置伞下和推荐伞下还有未删除会员,不可删除
|
||||||
|
*/
|
||||||
|
public static final String NOT_DEAD_MEMBER = "会员安置伞下和推荐伞下还有未删除会员,不可删除";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -164,5 +164,10 @@ public class SaOrderMsgConstants {
|
||||||
* 会员续约 -- 已终止会员不允许报单
|
* 会员续约 -- 已终止会员不允许报单
|
||||||
*/
|
*/
|
||||||
public static final String TERMINATED_NOT_DECLARATION = "已终止会员不允许报单";
|
public static final String TERMINATED_NOT_DECLARATION = "已终止会员不允许报单";
|
||||||
|
/**
|
||||||
|
* 原订单价格和调换完货之后的价格不相同 -- 不允许货物调换
|
||||||
|
*/
|
||||||
|
public static final String PRODUCT_CONFIRM_PRICE = "原订单价格和调换完货之后的价格不相同";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,6 @@ import lombok.Getter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 账户状态(会员登录账号状态)
|
* 账户状态(会员登录账号状态)
|
||||||
*
|
|
||||||
* @author: hzs
|
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Getter
|
@Getter
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,6 @@ import lombok.Getter;
|
||||||
@Getter
|
@Getter
|
||||||
public enum EAwards {
|
public enum EAwards {
|
||||||
|
|
||||||
// /**
|
|
||||||
// * -1=海粉
|
|
||||||
// */
|
|
||||||
// SEA_FLOUR(0,-1, "海粉", 1, EnumsPrefixConstants.AWARDS + "-1"),
|
|
||||||
/**
|
/**
|
||||||
* 0=会员 -- Q0
|
* 0=会员 -- Q0
|
||||||
*/
|
*/
|
||||||
|
|
@ -114,28 +110,4 @@ public enum EAwards {
|
||||||
*/
|
*/
|
||||||
private final String key;
|
private final String key;
|
||||||
|
|
||||||
public static String getAwards(int value) {
|
|
||||||
for (EAwards eAwards : EAwards.values()) {
|
|
||||||
if (eAwards.value == value) {
|
|
||||||
return eAwards.label;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
public static Integer getGradeValueByValue(int value) {
|
|
||||||
if (EGrade.START_UP.getValue() == value) {
|
|
||||||
return EAwards.MEMBER.getValue();
|
|
||||||
} else if (EGrade.HAI_FAN.getValue() == value) {
|
|
||||||
return EAwards.HEADER.getValue();
|
|
||||||
} else if (EGrade.YOU_KE.getValue() == value) {
|
|
||||||
return EAwards.MANAGER.getValue();
|
|
||||||
} else if (EGrade.MAKER.getValue() == value) {
|
|
||||||
return EAwards.HIGH_MANAGER.getValue();
|
|
||||||
} else if (EGrade.VIP.getValue() == value) {
|
|
||||||
return EAwards.SENIOR_MANAGER.getValue();
|
|
||||||
} else if (EGrade.S_VIP.getValue() == value) {
|
|
||||||
return EAwards.CHIEF.getValue();
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -357,6 +357,8 @@ public enum EOperationModule {
|
||||||
|
|
||||||
CANCEL_ORDER_CONFIRM("撤销订单确认"),
|
CANCEL_ORDER_CONFIRM("撤销订单确认"),
|
||||||
|
|
||||||
|
DELETE_DEAD_LOCK("删除死点"),
|
||||||
|
|
||||||
///////////////////////////统计分析////////////////////////////
|
///////////////////////////统计分析////////////////////////////
|
||||||
|
|
||||||
STATISTIC_ANALYSIS("统计分析"),
|
STATISTIC_ANALYSIS("统计分析"),
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,6 @@ import lombok.Getter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注册权限枚举类
|
* 注册权限枚举类
|
||||||
*
|
|
||||||
* @author hzs
|
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Getter
|
@Getter
|
||||||
|
|
|
||||||
|
|
@ -182,6 +182,9 @@ security:
|
||||||
- /member/api/member/fans-order/*
|
- /member/api/member/fans-order/*
|
||||||
# 库存商品同步
|
# 库存商品同步
|
||||||
- /sale/api/all-product/sync-data
|
- /sale/api/all-product/sync-data
|
||||||
|
# 0元注册白名单
|
||||||
|
- /member/api/share/find-share-code/*
|
||||||
|
- /member/api/share/share-register
|
||||||
|
|
||||||
# 日志配置
|
# 日志配置
|
||||||
logging:
|
logging:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue