## 报单赠送添加权限配置

This commit is contained in:
zhangheng 2025-10-29 14:34:25 +08:00
parent a4e8ead1ab
commit 9410a83091
2 changed files with 46 additions and 7 deletions

View File

@ -44,5 +44,9 @@ public class AcDeclarationParam {
* 报单赠送信息
*/
private List<AcDeclarationConfigParam> acDeclarationConfigParams;
/**
* 权限配置列表
*/
private List<AcBaseAuthority> authorityList;
}

View File

@ -1,9 +1,12 @@
package com.hzs.activity.declaration.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hzs.activity.base.param.ActivityParam;
import com.hzs.activity.base.service.IAcBaseAuthorityService;
import com.hzs.activity.base.service.IAcBaseConfigService;
import com.hzs.activity.base.service.IActivityService;
import com.hzs.activity.declaration.mapper.AcDeclarationGiftConfigMapper;
@ -14,6 +17,9 @@ import com.hzs.activity.declaration.param.AcDeclarationProductParam;
import com.hzs.activity.declaration.service.IAcDeclarationGiftConfigService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.activity.declaration.service.IAcDeclarationGiftDetailService;
import com.hzs.activity.recommend.param.AcRecommendParam;
import com.hzs.common.core.enums.EDelFlag;
import com.hzs.common.domain.activity.base.AcBaseAuthority;
import com.hzs.common.domain.activity.declaration.AcDeclarationGiftConfig;
import com.hzs.common.domain.activity.declaration.AcDeclarationGiftDetail;
import com.hzs.common.core.constant.CountryConstants;
@ -64,6 +70,8 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio
private IAcDeclarationGiftConfigService iAcDeclarationGiftConfigService;
@Autowired
private IGradeServiceApi iGradeServiceApi;
@Autowired
private IAcBaseAuthorityService iAcBaseAuthorityService;
@Override
public AjaxResult getDetail(Integer pkId) {
@ -105,7 +113,7 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio
// 新增活动基本配置
AcBaseConfig acBaseConfig = iActivityService.saveBaseConfig(activityParam);
// 新增加购活动配置
saveDeclarationConfig(acDeclarationParam.getAcDeclarationConfigParams(), acBaseConfig);
saveDeclarationConfig(acDeclarationParam, acBaseConfig);
//日志
activityParam.setBusinessCode(acDeclarationParam.getActivityParam().getBusinessCode());
iActivityService.createBaseConfigLog(activityParam, new StringBuffer(), null, EApprovalBusiness.AC_DECLARATION_GIFT_ADD.getValue(), false);
@ -192,7 +200,7 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio
activityParam.setPkCountry(loginUser.getDataCountry());
activityParam.setPkCreator(loginUser.getUserId());
activityParam.setActType(EActType.DECLARATION_GIFT.getValue());
updateDeclarationConfig(activityParam, acDeclarationParam.getAcDeclarationConfigParams());
updateDeclarationConfig(activityParam, acDeclarationParam);
iActivityService.createBaseConfigLog(activityParam, new StringBuffer(), null, EApprovalBusiness.AC_DECLARATION_GIFT_UPDATE.getValue(), false);
return null;
}
@ -212,6 +220,20 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio
return null;
}
/**
* 保存活动权限
*
* @param recommendParam
*/
private void saveAuthority(AcDeclarationParam recommendParam) {
List<AcBaseAuthority> authorityList = recommendParam.getAuthorityList();
if (CollectionUtil.isNotEmpty(authorityList)) {
for (AcBaseAuthority acBaseAuthority : authorityList) {
acBaseAuthority.setPkBaseId(recommendParam.getPkBaseId());
}
iAcBaseAuthorityService.saveBatch(authorityList);
}
}
private void removeDeclarationConfig(Long pkId) {
// 删除活动基本配置
@ -222,10 +244,15 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio
// 删除报单赠送详情配置
iAcDeclarationGiftDetailService.remove(new LambdaQueryWrapper<AcDeclarationGiftDetail>()
.eq(AcDeclarationGiftDetail::getPkBaseId, pkId));
// 删除活动权限配置
iAcBaseAuthorityService.update(Wrappers.<AcBaseAuthority>lambdaUpdate()
.eq(AcBaseAuthority::getPkBaseId, pkId)
.eq(AcBaseAuthority::getDelFlag, EDelFlag.UN_DELETE.getValue())
.set(AcBaseAuthority::getDelFlag, EDelFlag.DELETE.getValue())
);
}
private void updateDeclarationConfig(ActivityParam activityParam, List<AcDeclarationConfigParam> acDeclarationConfigParams) {
{
private void updateDeclarationConfig(ActivityParam activityParam, AcDeclarationParam acDeclarationParam) {
Long pkId = activityParam.getPkId();
// 查询基础信息
AcBaseConfig baseConfig = BeanUtil.copyProperties(activityParam, AcBaseConfig.class);
@ -235,15 +262,23 @@ public class AcDeclarationGiftConfigServiceImpl extends ServiceImpl<AcDeclaratio
// 删除活动配置
baseMapper.delete(new LambdaQueryWrapper<AcDeclarationGiftConfig>()
.eq(AcDeclarationGiftConfig::getPkBaseId, pkId));
// 删除活动权限配置
iAcBaseAuthorityService.update(Wrappers.<AcBaseAuthority>lambdaUpdate()
.eq(AcBaseAuthority::getPkBaseId, pkId)
.eq(AcBaseAuthority::getDelFlag, EDelFlag.UN_DELETE.getValue())
.set(AcBaseAuthority::getDelFlag, EDelFlag.DELETE.getValue())
);
// 删除活动详情配置
iAcDeclarationGiftDetailService.remove(new LambdaQueryWrapper<AcDeclarationGiftDetail>()
.eq(AcDeclarationGiftDetail::getPkBaseId, pkId));
// 添加加购活动配置
saveDeclarationConfig(acDeclarationConfigParams, baseConfig);
}
saveDeclarationConfig(acDeclarationParam, baseConfig);
}
private void saveDeclarationConfig(List<AcDeclarationConfigParam> acDeclarationConfigParams, AcBaseConfig acBaseConfig) {
private void saveDeclarationConfig(AcDeclarationParam acDeclarationParam, AcBaseConfig acBaseConfig) {
List<AcDeclarationConfigParam> acDeclarationConfigParams = acDeclarationParam.getAcDeclarationConfigParams();
// 保存活动权限配置
this.saveAuthority(acDeclarationParam);
acDeclarationConfigParams.forEach(item -> {
if (item != null) {
AcDeclarationGiftConfig build = AcDeclarationGiftConfig.builder()