## 注册、升级送等级,兼容可以继续买(293);
This commit is contained in:
parent
06ac0ffff7
commit
9530084e3b
|
@ -1,26 +1,24 @@
|
||||||
package com.hzs.member.detail;
|
package com.hzs.member.detail;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberAwards;
|
|
||||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||||
import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
|
import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员升级记录dubbo服务
|
* 会员升级记录dubbo服务
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2024/1/30 17:24
|
|
||||||
* @Classname: ICuMemberLevelServiceApi
|
|
||||||
* @PackageName: com.hzs.member.detail
|
|
||||||
*/
|
*/
|
||||||
public interface ICuMemberDetailServiceApi {
|
public interface ICuMemberDetailServiceApi {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询手动升级的最新一条
|
* 查询最新一条
|
||||||
*
|
*
|
||||||
* @param pkMember 会员ID
|
* @param pkMember 会员ID
|
||||||
|
* @param typeList 升级类型列表
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
R<CuMemberLevel> queryLastManualUpgrade(Long pkMember);
|
R<CuMemberLevel> queryLastManualUpgrade(Long pkMember, List<Integer> typeList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询手动开通奖衔的最新一条
|
* 查询手动开通奖衔的最新一条
|
||||||
|
|
|
@ -9,9 +9,6 @@ import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 升级权限赠送规则表DTO
|
* 升级权限赠送规则表DTO
|
||||||
*
|
|
||||||
* @author zhangjing
|
|
||||||
* @since 2024-02-18
|
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class UpgradeGiveConfigDTO implements Serializable {
|
public class UpgradeGiveConfigDTO implements Serializable {
|
||||||
|
|
|
@ -22,11 +22,12 @@ public interface CuMemberLevelMapper extends BaseMapper<CuMemberLevel> {
|
||||||
List<CuMemberLevelExt> listMemberLevelList(@Param("param") CuMemberLevelParam param);
|
List<CuMemberLevelExt> listMemberLevelList(@Param("param") CuMemberLevelParam param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询手动 + 自动升级的最新一条
|
* 查询最新一条
|
||||||
*
|
*
|
||||||
* @param pkMember 会员ID
|
* @param pkMember 会员ID
|
||||||
|
* @param typeList 升级类型列表
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
CuMemberLevel queryLastManualUpgrade(@Param("pkMember") Long pkMember);
|
CuMemberLevel queryLastManualUpgrade(@Param("pkMember") Long pkMember, @Param("typeList") List<Integer> typeList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,12 +9,10 @@ import com.hzs.member.detail.service.ICuMemberLevelService;
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 会员升级记录dubbo服务
|
* 会员升级记录dubbo服务
|
||||||
* @Author: jiang chao
|
|
||||||
* @Time: 2024/1/30 17:25
|
|
||||||
* @Classname: CuMemberLevelProvider
|
|
||||||
* @PackageName: com.hzs.member.detail.provider
|
|
||||||
*/
|
*/
|
||||||
@DubboService
|
@DubboService
|
||||||
public class CuMemberDetailProvider implements ICuMemberDetailServiceApi {
|
public class CuMemberDetailProvider implements ICuMemberDetailServiceApi {
|
||||||
|
@ -25,8 +23,8 @@ public class CuMemberDetailProvider implements ICuMemberDetailServiceApi {
|
||||||
private ICuMemberAwardsService iCuMemberAwardsService;
|
private ICuMemberAwardsService iCuMemberAwardsService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<CuMemberLevel> queryLastManualUpgrade(Long pkMember) {
|
public R<CuMemberLevel> queryLastManualUpgrade(Long pkMember, List<Integer> typeList) {
|
||||||
return R.ok(iCuMemberLevelService.queryLastManualUpgrade(pkMember));
|
return R.ok(iCuMemberLevelService.queryLastManualUpgrade(pkMember, typeList));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -31,11 +31,12 @@ public interface ICuMemberLevelService extends IService<CuMemberLevel> {
|
||||||
void deleteCuMemberLevelRecord(Long pkOrder, Long pkApprove, Date currentDateTime);
|
void deleteCuMemberLevelRecord(Long pkOrder, Long pkApprove, Date currentDateTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询手动升级的最新一条
|
* 查询最新一条
|
||||||
*
|
*
|
||||||
* @param pkMember 会员ID
|
* @param pkMember 会员ID
|
||||||
|
* @param typeList 升级类型列表
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
CuMemberLevel queryLastManualUpgrade(Long pkMember);
|
CuMemberLevel queryLastManualUpgrade(Long pkMember, List<Integer> typeList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package com.hzs.member.detail.service.impl;
|
package com.hzs.member.detail.service.impl;
|
||||||
|
|
||||||
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.core.constant.SaOrderFieldConstants;
|
|
||||||
import com.hzs.common.core.constant.SystemFieldConstants;
|
|
||||||
import com.hzs.common.core.enums.EYesNo;
|
import com.hzs.common.core.enums.EYesNo;
|
||||||
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
import com.hzs.common.domain.member.detail.CuMemberLevel;
|
||||||
import com.hzs.common.domain.member.detail.ext.CuMemberLevelExt;
|
import com.hzs.common.domain.member.detail.ext.CuMemberLevelExt;
|
||||||
|
@ -28,17 +26,17 @@ public class CuMemberLevelServiceImpl extends ServiceImpl<CuMemberLevelMapper, C
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteCuMemberLevelRecord(Long pkOrder, Long pkApprove, Date currentDateTime) {
|
public void deleteCuMemberLevelRecord(Long pkOrder, Long pkApprove, Date currentDateTime) {
|
||||||
UpdateWrapper<CuMemberLevel> updateWrapper = new UpdateWrapper<>();
|
LambdaUpdateWrapper<CuMemberLevel> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.set(SystemFieldConstants.DEL_FLAG, EYesNo.NO.getIntValue());
|
updateWrapper.set(CuMemberLevel::getDelFlag, EYesNo.NO.getIntValue());
|
||||||
updateWrapper.set(SystemFieldConstants.PK_MODIFIED, pkApprove);
|
updateWrapper.set(CuMemberLevel::getPkModified, pkApprove);
|
||||||
updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, currentDateTime);
|
updateWrapper.set(CuMemberLevel::getModifiedTime, currentDateTime);
|
||||||
updateWrapper.eq(SaOrderFieldConstants.PK_ORDER, pkOrder);
|
updateWrapper.eq(CuMemberLevel::getPkOrder, pkOrder);
|
||||||
update(updateWrapper);
|
update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CuMemberLevel queryLastManualUpgrade(Long pkMember) {
|
public CuMemberLevel queryLastManualUpgrade(Long pkMember, List<Integer> typeList) {
|
||||||
return baseMapper.queryLastManualUpgrade(pkMember);
|
return baseMapper.queryLastManualUpgrade(pkMember, typeList);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,15 +39,20 @@
|
||||||
order by cml.creation_time desc
|
order by cml.creation_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 查询手动 + 自动升级的最新一条 -->
|
<!-- 查询最新一条 -->
|
||||||
<select id="queryLastManualUpgrade" resultMap="CuMemberLevel">
|
<select id="queryLastManualUpgrade" resultMap="CuMemberLevel">
|
||||||
select *
|
select *
|
||||||
from (select *
|
from (select *
|
||||||
from cu_member_level cml
|
from cu_member_level cml
|
||||||
where cml.del_flag = 0
|
where cml.del_flag = 0
|
||||||
and cml.pk_member = #{pkMember}
|
and cml.pk_member = #{pkMember}
|
||||||
and cml.up_type in (1, 2)
|
<if test="typeList != null and typeList.size > 0">
|
||||||
order by cml.upgrade_time desc)
|
and cml.up_type in
|
||||||
|
<foreach collection="typeList" item="items" open="(" separator="," close=")">
|
||||||
|
#{items}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
order by cml.upgrade_time desc)
|
||||||
where rownum = 1
|
where rownum = 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
@ -1453,8 +1453,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
cuMember.setConsumeMoney(BigDecimal.ZERO);
|
cuMember.setConsumeMoney(BigDecimal.ZERO);
|
||||||
cuMember.setConsumeAchieve(cuMemberRegister.getConsumeAchieve());
|
cuMember.setConsumeAchieve(cuMemberRegister.getConsumeAchieve());
|
||||||
|
|
||||||
// 查询最新一条手动升级记录
|
// 查询最新一条升级记录
|
||||||
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.queryLastManualUpgrade(cuMember.getPkId()).getData();
|
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.queryLastManualUpgrade(cuMember.getPkId(), Arrays.asList(EUpgradeType.AUTO_UPGRADE.getValue(), EUpgradeType.MANUAL_UPGRADE.getValue())).getData();
|
||||||
if (null != cuMemberLevel) {
|
if (null != cuMemberLevel) {
|
||||||
// 存在手动升级
|
// 存在手动升级
|
||||||
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
||||||
|
@ -1466,8 +1466,8 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
cuMember.setPkRegisterGrade(gradeDTO.getPkId());
|
cuMember.setPkRegisterGrade(gradeDTO.getPkId());
|
||||||
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
||||||
|
|
||||||
// 查询最新一条手动升级记录
|
// 查询最新一条升级记录
|
||||||
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.queryLastManualUpgrade(cuMember.getPkId()).getData();
|
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.queryLastManualUpgrade(cuMember.getPkId(), Arrays.asList(EUpgradeType.BUY_UPGRADE.getValue(), EUpgradeType.MANUAL_UPGRADE.getValue())).getData();
|
||||||
if (null != cuMemberLevel) {
|
if (null != cuMemberLevel) {
|
||||||
// 存在手动升级
|
// 存在手动升级
|
||||||
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
||||||
|
@ -2160,6 +2160,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade());
|
cuMember.setPkSettleGrade(cuMemberRegister.getPkRegisterGrade());
|
||||||
cuMember.setConsumeMoney(BigDecimal.ZERO);
|
cuMember.setConsumeMoney(BigDecimal.ZERO);
|
||||||
cuMember.setConsumeAchieve(cuMemberRegister.getConsumeAchieve());
|
cuMember.setConsumeAchieve(cuMemberRegister.getConsumeAchieve());
|
||||||
|
|
||||||
|
// 查询最新一条升级记录
|
||||||
|
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.queryLastManualUpgrade(cuMember.getPkId(), Arrays.asList(EUpgradeType.AUTO_UPGRADE.getValue(), EUpgradeType.MANUAL_UPGRADE.getValue())).getData();
|
||||||
|
if (null != cuMemberLevel) {
|
||||||
|
// 存在手动升级
|
||||||
|
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
OrderReturn orderReturn = OrderReturn.builder().isEnough(false).build();
|
OrderReturn orderReturn = OrderReturn.builder().isEnough(false).build();
|
||||||
GradeDTO gradeDTO = calculateGradeDTO(EOrderType.UPGRADE_ORDER.getValue(), cuMember.getPkSettleCountry(), cuMember.getPkId(),
|
GradeDTO gradeDTO = calculateGradeDTO(EOrderType.UPGRADE_ORDER.getValue(), cuMember.getPkSettleCountry(), cuMember.getPkId(),
|
||||||
|
@ -2167,6 +2174,13 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
||||||
cuMember.setPkRegisterGrade(gradeDTO.getPkId());
|
cuMember.setPkRegisterGrade(gradeDTO.getPkId());
|
||||||
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
cuMember.setPkSettleGrade(gradeDTO.getPkId());
|
||||||
|
|
||||||
|
// 查询最新一条升级记录
|
||||||
|
CuMemberLevel cuMemberLevel = iCuMemberDetailServiceApi.queryLastManualUpgrade(cuMember.getPkId(), Arrays.asList(EUpgradeType.BUY_UPGRADE.getValue(), EUpgradeType.MANUAL_UPGRADE.getValue())).getData();
|
||||||
|
if (null != cuMemberLevel) {
|
||||||
|
// 存在手动升级
|
||||||
|
cuMember.setPkSettleGrade(cuMemberLevel.getNewLevel());
|
||||||
|
}
|
||||||
|
|
||||||
// 记录原奖衔与新奖衔
|
// 记录原奖衔与新奖衔
|
||||||
BdAwards tmpAwards;
|
BdAwards tmpAwards;
|
||||||
// 判断奖衔,原奖衔>新奖衔 不进行变奖衔
|
// 判断奖衔,原奖衔>新奖衔 不进行变奖衔
|
||||||
|
|
Loading…
Reference in New Issue