dev798
wxy 2024-05-14 19:55:06 +08:00
parent e479445339
commit 3c21e1dcff
1 changed files with 43 additions and 28 deletions

View File

@ -71,30 +71,44 @@ 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 i = mallProductRuleInfoMapper.insertMallProductRuleInfo(mallProductRuleInfo); int insertResult = mallProductRuleInfoMapper.insertMallProductRuleInfo(mallProductRuleInfo);
if(i > 0){ if (insertResult > 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)) {
for(MallProductAttrInfoModel mallProductAttrInfoModel : mallProductAttrInfoModels){ for (MallProductAttrInfoModel mallProductAttrInfoModel : mallProductAttrInfoModels) {
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);
@ -103,11 +117,12 @@ public class MallProductRuleInfoServiceImpl implements MallProductRuleInfoServic
} }
} }
mallProductRuleAttrInfoService.deleteMallProductRuleAttrInfByRuleId(ruleId); mallProductRuleAttrInfoService.deleteMallProductRuleAttrInfByRuleId(ruleId);
// 考虑使用批量插入来优化性能
mallProductRuleAttrInfoService.insertMallProductRuleAttrInfoList(ruleAttrInfoList); mallProductRuleAttrInfoService.insertMallProductRuleAttrInfoList(ruleAttrInfoList);
} }
} }
return i; }
}
/** /**
* *