dev798
parent
e479445339
commit
3c21e1dcff
|
@ -71,43 +71,58 @@ public class MallProductRuleInfoServiceImpl implements MallProductRuleInfoServic
|
|||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public int insertMallProductRuleInfo(MallProductRuleInfo mallProductRuleInfo)
|
||||
{
|
||||
public int insertMallProductRuleInfo(MallProductRuleInfo mallProductRuleInfo) {
|
||||
try {
|
||||
Long userId = SecurityUtils.getLoginUser().getUserid();
|
||||
if (userId == null) {
|
||||
throw new RuntimeException("用户未登录");
|
||||
}
|
||||
mallProductRuleInfo.setCreateBy(userId.toString());
|
||||
Long loginUserId = SecurityUtils.getLoginUser().getUserid();
|
||||
if (loginUserId == null) {
|
||||
throw new RuntimeException("用户未登录");
|
||||
}
|
||||
mallProductRuleInfo.setUpdateBy(loginUserId.toString());
|
||||
|
||||
mallProductRuleInfo.setUpdateTime(DateUtils.getNowDate());
|
||||
mallProductRuleInfo.setCreateTime(DateUtils.getNowDate());
|
||||
// 调用mapper插入商城产品规则信息
|
||||
int i = mallProductRuleInfoMapper.insertMallProductRuleInfo(mallProductRuleInfo);
|
||||
if(i > 0){
|
||||
// 如果插入成功,处理规则属性信息
|
||||
Long ruleId = mallProductRuleInfo.getId();
|
||||
String ruleAttr = mallProductRuleInfo.getRuleAttr();
|
||||
// 解析规则属性,并转换为规则属性信息列表
|
||||
List<MallProductRuleAttrInfo>ruleAttrInfoList = new ArrayList<>();
|
||||
List<MallProductAttrInfoModel>mallProductAttrInfoModels= JSON.parseArray(ruleAttr, MallProductAttrInfoModel.class);
|
||||
if(CollectionUtils.isNotEmpty(mallProductAttrInfoModels)){
|
||||
for(MallProductAttrInfoModel mallProductAttrInfoModel : mallProductAttrInfoModels){
|
||||
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);
|
||||
}
|
||||
|
||||
int insertResult = mallProductRuleInfoMapper.insertMallProductRuleInfo(mallProductRuleInfo);
|
||||
if (insertResult > 0) {
|
||||
processRuleAttrInfo(mallProductRuleInfo);
|
||||
}
|
||||
return i;
|
||||
return insertResult;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
private void processRuleAttrInfo(MallProductRuleInfo mallProductRuleInfo) {
|
||||
Long ruleId = mallProductRuleInfo.getId();
|
||||
String ruleAttr = mallProductRuleInfo.getRuleAttr();
|
||||
if (ruleAttr != null && !ruleAttr.isEmpty()) {
|
||||
List<MallProductRuleAttrInfo> ruleAttrInfoList = new ArrayList<>();
|
||||
List<MallProductAttrInfoModel> mallProductAttrInfoModels = JSON.parseArray(ruleAttr, MallProductAttrInfoModel.class);
|
||||
if (CollectionUtils.isNotEmpty(mallProductAttrInfoModels)) {
|
||||
for (MallProductAttrInfoModel mallProductAttrInfoModel : mallProductAttrInfoModels) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 修改商品规格
|
||||
|
|
Loading…
Reference in New Issue