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