dev798
wxy 2024-05-14 19:58:11 +08:00
parent 3c21e1dcff
commit b7c02d446b
1 changed files with 26 additions and 41 deletions

View File

@ -71,58 +71,43 @@ public class MallProductRuleInfoServiceImpl implements MallProductRuleInfoServic
*/ */
@Transactional @Transactional
@Override @Override
public int insertMallProductRuleInfo(MallProductRuleInfo mallProductRuleInfo) { public int insertMallProductRuleInfo(MallProductRuleInfo mallProductRuleInfo)
try { {
Long userId = SecurityUtils.getLoginUser().getUserid(); Long userId = SecurityUtils.getLoginUser().getUserid();
if (userId == null) {
throw new RuntimeException("用户未登录");
}
mallProductRuleInfo.setCreateBy(userId.toString()); mallProductRuleInfo.setCreateBy(userId.toString());
Long loginUserId = SecurityUtils.getLoginUser().getUserid(); Long loginUserId = SecurityUtils.getLoginUser().getUserid();
if (loginUserId == null) {
throw new RuntimeException("用户未登录");
}
mallProductRuleInfo.setUpdateBy(loginUserId.toString()); mallProductRuleInfo.setUpdateBy(loginUserId.toString());
mallProductRuleInfo.setUpdateTime(DateUtils.getNowDate()); mallProductRuleInfo.setUpdateTime(DateUtils.getNowDate());
mallProductRuleInfo.setCreateTime(DateUtils.getNowDate()); mallProductRuleInfo.setCreateTime(DateUtils.getNowDate());
// 调用mapper插入商城产品规则信息
int insertResult = mallProductRuleInfoMapper.insertMallProductRuleInfo(mallProductRuleInfo); int i = mallProductRuleInfoMapper.insertMallProductRuleInfo(mallProductRuleInfo);
if (insertResult > 0) { if(i > 0){
processRuleAttrInfo(mallProductRuleInfo); // 如果插入成功,处理规则属性信息
} Long ruleId = mallProductRuleInfo.getId();
return insertResult; String ruleAttr = mallProductRuleInfo.getRuleAttr();
} catch (Exception e) { // 解析规则属性,并转换为规则属性信息列表
e.printStackTrace(); List<MallProductRuleAttrInfo>ruleAttrInfoList = new ArrayList<>();
return 0; List<MallProductAttrInfoModel>mallProductAttrInfoModels= JSON.parseArray(ruleAttr, MallProductAttrInfoModel.class);
} if(CollectionUtils.isNotEmpty(mallProductAttrInfoModels)){
} for(MallProductAttrInfoModel mallProductAttrInfoModel : mallProductAttrInfoModels){
String ruleType = mallProductAttrInfoModel.getRuleType();
private void processRuleAttrInfo(MallProductRuleInfo mallProductRuleInfo) { List<String> ruleAttrList= mallProductAttrInfoModel.getRuleAttrList();
Long ruleId = mallProductRuleInfo.getId(); for (String ruleAttrString : ruleAttrList) {
String ruleAttr = mallProductRuleInfo.getRuleAttr(); // 组装规则属性信息
if (ruleAttr != null && !ruleAttr.isEmpty()) { MallProductRuleAttrInfo mallProductRuleAttrInfo = new MallProductRuleAttrInfo();
List<MallProductRuleAttrInfo> ruleAttrInfoList = new ArrayList<>(); mallProductRuleAttrInfo.setAttrValue(ruleAttrString);
List<MallProductAttrInfoModel> mallProductAttrInfoModels = JSON.parseArray(ruleAttr, MallProductAttrInfoModel.class); mallProductRuleAttrInfo.setName(ruleType);
if (CollectionUtils.isNotEmpty(mallProductAttrInfoModels)) { mallProductRuleAttrInfo.setRuleId(ruleId);
for (MallProductAttrInfoModel mallProductAttrInfoModel : mallProductAttrInfoModels) { ruleAttrInfoList.add(mallProductRuleAttrInfo);
String ruleType = mallProductAttrInfoModel.getRuleType(); }
List<String> ruleAttrList = mallProductAttrInfoModel.getRuleAttrList();
for (String ruleAttrString : ruleAttrList) {
MallProductRuleAttrInfo mallProductRuleAttrInfo = new MallProductRuleAttrInfo();
mallProductRuleAttrInfo.setAttrValue(ruleAttrString);
mallProductRuleAttrInfo.setName(ruleType);
mallProductRuleAttrInfo.setRuleId(ruleId);
ruleAttrInfoList.add(mallProductRuleAttrInfo);
} }
mallProductRuleAttrInfoService.deleteMallProductRuleAttrInfByRuleId(ruleId);
mallProductRuleAttrInfoService.insertMallProductRuleAttrInfoList(ruleAttrInfoList);
} }
mallProductRuleAttrInfoService.deleteMallProductRuleAttrInfByRuleId(ruleId);
// 考虑使用批量插入来优化性能
mallProductRuleAttrInfoService.insertMallProductRuleAttrInfoList(ruleAttrInfoList);
} }
return i;
} }
}
/** /**
* *