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,37 +71,22 @@ 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); // 如果插入成功,处理规则属性信息
}
return insertResult;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
private void processRuleAttrInfo(MallProductRuleInfo mallProductRuleInfo) {
Long ruleId = mallProductRuleInfo.getId(); Long ruleId = mallProductRuleInfo.getId();
String ruleAttr = mallProductRuleInfo.getRuleAttr(); String ruleAttr = mallProductRuleInfo.getRuleAttr();
if (ruleAttr != null && !ruleAttr.isEmpty()) { // 解析规则属性,并转换为规则属性信息列表
List<MallProductRuleAttrInfo>ruleAttrInfoList = new ArrayList<>(); List<MallProductRuleAttrInfo>ruleAttrInfoList = new ArrayList<>();
List<MallProductAttrInfoModel>mallProductAttrInfoModels= JSON.parseArray(ruleAttr, MallProductAttrInfoModel.class); List<MallProductAttrInfoModel>mallProductAttrInfoModels= JSON.parseArray(ruleAttr, MallProductAttrInfoModel.class);
if(CollectionUtils.isNotEmpty(mallProductAttrInfoModels)){ if(CollectionUtils.isNotEmpty(mallProductAttrInfoModels)){
@ -109,6 +94,7 @@ private void processRuleAttrInfo(MallProductRuleInfo mallProductRuleInfo) {
String ruleType = mallProductAttrInfoModel.getRuleType(); String ruleType = mallProductAttrInfoModel.getRuleType();
List<String> ruleAttrList= mallProductAttrInfoModel.getRuleAttrList(); List<String> ruleAttrList= mallProductAttrInfoModel.getRuleAttrList();
for (String ruleAttrString : ruleAttrList) { for (String ruleAttrString : ruleAttrList) {
// 组装规则属性信息
MallProductRuleAttrInfo mallProductRuleAttrInfo = new MallProductRuleAttrInfo(); MallProductRuleAttrInfo mallProductRuleAttrInfo = new MallProductRuleAttrInfo();
mallProductRuleAttrInfo.setAttrValue(ruleAttrString); mallProductRuleAttrInfo.setAttrValue(ruleAttrString);
mallProductRuleAttrInfo.setName(ruleType); mallProductRuleAttrInfo.setName(ruleType);
@ -117,13 +103,12 @@ private void processRuleAttrInfo(MallProductRuleInfo mallProductRuleInfo) {
} }
} }
mallProductRuleAttrInfoService.deleteMallProductRuleAttrInfByRuleId(ruleId); mallProductRuleAttrInfoService.deleteMallProductRuleAttrInfByRuleId(ruleId);
// 考虑使用批量插入来优化性能
mallProductRuleAttrInfoService.insertMallProductRuleAttrInfoList(ruleAttrInfoList); mallProductRuleAttrInfoService.insertMallProductRuleAttrInfoList(ruleAttrInfoList);
} }
} }
return i;
} }
/** /**
* *
* *