|
@@ -155,9 +155,10 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
productInfo.setState(1);
|
|
|
productInfo.setIsEnable(1);
|
|
|
productInfo.setProductCode(getMaxProductCode());
|
|
|
+ productInfo.setCreateUser(CurrUserUtil.getUserId());
|
|
|
|
|
|
// 批量添加产品归属信息
|
|
|
- List<ProductBelongForm> productBelongForms = productInfoForm.getProductBelongForms();
|
|
|
+ List<ProductBelongForm> productBelongForms = productInfoForm.getProductBelongs();
|
|
|
if (Objects.nonNull(productBelongForms) && productBelongForms.size() > 0) {
|
|
|
List<ProductBelong> productBelongs = processBelong(guid, productBelongForms);
|
|
|
result = this.productBelongMapper.batchInsert(productBelongs);
|
|
@@ -165,7 +166,7 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
}
|
|
|
|
|
|
// 批量添加产品扩展信息
|
|
|
- List<ProductExpansionForm> productExpansionForms = productInfoForm.getProductExpansionForms();
|
|
|
+ List<ProductExpansionForm> productExpansionForms = productInfoForm.getProductExpansions();
|
|
|
if (Objects.nonNull(productExpansionForms) && productExpansionForms.size() > 0) {
|
|
|
List<ProductExpansion> productExpansions = new ArrayList<>();
|
|
|
for (ProductExpansionForm productExpansionForm : productExpansionForms) {
|
|
@@ -183,37 +184,7 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
}
|
|
|
|
|
|
// 如果前端选择集体户
|
|
|
- CollectiveFarmerForm collectiveFarmerForm = productInfoForm.getCollectiveFarmerForm();
|
|
|
- if (Objects.nonNull(collectiveFarmerForm)) {
|
|
|
- String collectiveGuid = collectiveFarmerForm.getGuid();
|
|
|
- if (StringUtils.isNotEmpty(collectiveGuid) && collectiveGuid.matches("^\\w{32}$")) {
|
|
|
- CollectiveFarmer collectiveFarmer = this.collectiveFarmerMapper.selectByPrimaryKey(collectiveGuid);
|
|
|
- List<FarmerInfo> farmerInfos = this.farmerInfoMapper.selectByCollectiveId(collectiveGuid);
|
|
|
- if (Objects.nonNull(collectiveFarmer) && Objects.nonNull(farmerInfos)) {
|
|
|
- List<ProductBelong> productBelongs = new ArrayList<>();
|
|
|
- farmerInfos.forEach(farmerInfo -> {
|
|
|
- ProductBelong productBelong = new ProductBelong();
|
|
|
- productBelong.setGuid(UUIDUtils.randomUUID());
|
|
|
- productBelong.setBelongType(1);
|
|
|
- productBelong.setCreateTime(new Date());
|
|
|
- productBelong.setFkProductGuid(guid);
|
|
|
- productBelong.setFarmerName(farmerInfo.getFarmerName());
|
|
|
- productBelong.setFarmerNum(farmerInfo.getFamilyNum());
|
|
|
- productBelong.setFarmerVillage(collectiveFarmer.getCollectiveName());
|
|
|
- productBelong.setFkFarmerGuid(farmerInfo.getGuid());
|
|
|
- productBelong.setModifiedTime(new Date());
|
|
|
- productBelong.setState(1);
|
|
|
- productBelongs.add(productBelong);
|
|
|
- });
|
|
|
- if (Objects.nonNull(productBelongs) && productBelongs.size() > 0) {
|
|
|
- result = this.productBelongMapper.batchInsert(productBelongs);
|
|
|
- if (result < 1) {
|
|
|
- throw new RuntimeException("新增产品信息 -- 批量新增产品归属失败");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ saveCollectiveFarmerForm(guid,productInfoForm.getCollectiveFarmerForm());
|
|
|
|
|
|
// 添加产品信息
|
|
|
result = this.productInfoMapper.insert(productInfo);
|
|
@@ -269,7 +240,7 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
result = this.productBelongMapper.deleteByProductInfoGuid(guid);
|
|
|
if (result < 0) throw new RuntimeException("修改产品信息失败 -- 删除产品归属信息失败");
|
|
|
// 添加前端传递过来的归属信息
|
|
|
- List<ProductBelongForm> productBelongForms = productInfoForm.getProductBelongForms();
|
|
|
+ List<ProductBelongForm> productBelongForms = productInfoForm.getProductBelongs();
|
|
|
if (Objects.nonNull(productBelongForms) && productBelongForms.size() > 0) {
|
|
|
List<ProductBelong> productBelongs = processBelong(guid, productBelongForms);
|
|
|
result = this.productBelongMapper.batchInsert(productBelongs);
|
|
@@ -279,7 +250,7 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
result = this.productExpansionMapper.deleteByProductGuid(guid);
|
|
|
if (result < 0) throw new RuntimeException("修改产品信息失败 -- 删除产品扩展信息失败");
|
|
|
// 添加前端传递过来的扩展信息
|
|
|
- List<ProductExpansionForm> productExpansionForms = productInfoForm.getProductExpansionForms();
|
|
|
+ List<ProductExpansionForm> productExpansionForms = productInfoForm.getProductExpansions();
|
|
|
if (Objects.nonNull(productExpansionForms) && productExpansionForms.size() > 0) {
|
|
|
List<ProductExpansion> productExpansions = new ArrayList<>();
|
|
|
for (ProductExpansionForm productExpansionForm : productExpansionForms) {
|
|
@@ -297,35 +268,7 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
}
|
|
|
|
|
|
// 如果前端选择集体户
|
|
|
- CollectiveFarmerForm collectiveFarmerForm = productInfoForm.getCollectiveFarmerForm();
|
|
|
- if (Objects.nonNull(collectiveFarmerForm)) {
|
|
|
- String collectiveGuid = collectiveFarmerForm.getGuid();
|
|
|
- if (StringUtils.isNotEmpty(collectiveGuid) && collectiveGuid.matches("^\\w{32}$")) {
|
|
|
- CollectiveFarmer collectiveFarmer = this.collectiveFarmerMapper.selectByPrimaryKey(collectiveGuid);
|
|
|
- List<FarmerInfo> farmerInfos = this.farmerInfoMapper.selectByCollectiveId(collectiveGuid);
|
|
|
- if (Objects.nonNull(collectiveFarmer) && Objects.nonNull(farmerInfos)) {
|
|
|
- List<ProductBelong> productBelongs = new ArrayList<>();
|
|
|
- farmerInfos.forEach(farmerInfo -> {
|
|
|
- ProductBelong productBelong = new ProductBelong();
|
|
|
- productBelong.setGuid(UUIDUtils.randomUUID());
|
|
|
- productBelong.setBelongType(1);
|
|
|
- productBelong.setCreateTime(new Date());
|
|
|
- productBelong.setFkProductGuid(guid);
|
|
|
- productBelong.setFarmerName(farmerInfo.getFarmerName());
|
|
|
- productBelong.setFarmerNum(farmerInfo.getFamilyNum());
|
|
|
- productBelong.setFarmerVillage(collectiveFarmer.getCollectiveName());
|
|
|
- productBelong.setFkFarmerGuid(farmerInfo.getGuid());
|
|
|
- productBelong.setModifiedTime(new Date());
|
|
|
- productBelong.setState(1);
|
|
|
- productBelongs.add(productBelong);
|
|
|
- });
|
|
|
- if (Objects.nonNull(productBelongs) && productBelongs.size() > 0) {
|
|
|
- result = this.productBelongMapper.batchInsert(productBelongs);
|
|
|
- if (result < 1) throw new RuntimeException("修改产品 -- 批量添加产品归属失败");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ saveCollectiveFarmerForm(guid,productInfoForm.getCollectiveFarmerForm());
|
|
|
|
|
|
List<GoodsInfo> goodsInfos = this.goodsInfoMapper.selectGoodsInfoByProductGuid(guid);
|
|
|
if (Objects.nonNull(goodsInfos) && goodsInfos.size() > 0) {
|
|
@@ -336,6 +279,8 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
if (result < 0) throw new RuntimeException("修改产品 -- 批量更新商品失败");
|
|
|
}
|
|
|
|
|
|
+ productInfo.setModifiedUser(CurrUserUtil.getUserId());
|
|
|
+ productInfo.setModifiedTime(new Date());
|
|
|
result = this.productInfoMapper.updateByPrimaryKeySelective(productInfo);
|
|
|
if (result < 1) throw new RuntimeException("修改产品信息失败");
|
|
|
}
|
|
@@ -359,11 +304,50 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
productBelong.setCreateTime(new Date());
|
|
|
productBelong.setModifiedTime(new Date());
|
|
|
productBelong.setState(1);
|
|
|
+ productBelong.setFkFarmerGuid(productBelongForm.getGuid());
|
|
|
productBelongs.add(productBelong);
|
|
|
}
|
|
|
return productBelongs;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 添加产品贫困集体
|
|
|
+ * lym
|
|
|
+ * @param guid
|
|
|
+ * @param collectiveFarmerFormList
|
|
|
+ */
|
|
|
+ private void saveCollectiveFarmerForm(String guid,List<CollectiveFarmerForm> collectiveFarmerFormList){
|
|
|
+ CollectiveFarmerForm collectiveFarmerForm = null;
|
|
|
+ if (collectiveFarmerFormList != null && collectiveFarmerFormList.size() > 0){
|
|
|
+ collectiveFarmerForm = collectiveFarmerFormList.get(0);
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(collectiveFarmerForm)) {
|
|
|
+ String collectiveGuid = collectiveFarmerForm.getGuid();
|
|
|
+ if (StringUtils.isNotEmpty(collectiveGuid) && collectiveGuid.matches("^\\w{32}$")) {
|
|
|
+ CollectiveFarmer collectiveFarmer = this.collectiveFarmerMapper.selectByPrimaryKey(collectiveGuid);
|
|
|
+ //集体主体与个人主体不强关联
|
|
|
+ if (Objects.nonNull(collectiveFarmer)) {
|
|
|
+ List<ProductBelong> productBelongs = new ArrayList<>();
|
|
|
+ ProductBelong productBelong = new ProductBelong();
|
|
|
+ productBelong.setGuid(UUIDUtils.randomUUID());
|
|
|
+ productBelong.setBelongType(2);
|
|
|
+ productBelong.setCreateTime(new Date());
|
|
|
+ productBelong.setFkProductGuid(guid);
|
|
|
+ productBelong.setFarmerNum(collectiveFarmer.getCollectivePersonNum());
|
|
|
+ productBelong.setFarmerVillage(collectiveFarmer.getCollectiveName());
|
|
|
+ productBelong.setModifiedTime(new Date());
|
|
|
+ productBelong.setState(1);
|
|
|
+ productBelong.setFkCollectiveGuid(collectiveFarmer.getGuid());
|
|
|
+ productBelongs.add(productBelong);
|
|
|
+ if (Objects.nonNull(productBelongs) && productBelongs.size() > 0) {
|
|
|
+ int result = this.productBelongMapper.batchInsert(productBelongs);
|
|
|
+ if (result < 1) throw new RuntimeException("批量添加产品归属失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 产品列表 分页查询
|
|
|
*
|
|
@@ -463,36 +447,33 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int publishGoods(GoodsInfo goodsInfo, GoodsSaleInfo goodsSaleInfo, List<ProductInfo> productInfos) {
|
|
|
int result = 0;
|
|
|
boolean cond1 = Objects.nonNull(goodsInfo);
|
|
|
boolean cond2 = Objects.nonNull(goodsSaleInfo);
|
|
|
boolean cond3 = Objects.nonNull(productInfos) && productInfos.size() > 0;
|
|
|
|
|
|
+ //发布商品(一个商品对一个产品)
|
|
|
if (cond1 && cond2 && cond3) {
|
|
|
- // 生成商品记录的guid
|
|
|
- String goodsInfoGuid = UUIDUtils.randomUUID();
|
|
|
- goodsInfo.setGuid(goodsInfoGuid);
|
|
|
- goodsInfo.setState(1);
|
|
|
- goodsInfo.setModifiedTime(new Date());
|
|
|
- goodsInfo.setCreateTime(new Date());
|
|
|
- // 扶贫产品
|
|
|
- goodsInfo.setGoodsType(productInfos.get(0).getProductType().getTypeVal());
|
|
|
- goodsInfo.setGoodsCode(getMaxGoodsCode());
|
|
|
- goodsInfo.setIsSale(0);
|
|
|
- goodsInfo.setCreateUser(CurrUserUtil.getUserId());
|
|
|
-
|
|
|
- // 合计碳汇量
|
|
|
- BigDecimal totalCarbonSink = new BigDecimal(0);
|
|
|
- StringBuffer goodsImages = new StringBuffer();
|
|
|
- StringBuffer goodsName = new StringBuffer();
|
|
|
-
|
|
|
- // 生成商品明细
|
|
|
- List<GoodsDetail> goodsDetails = new ArrayList<>();
|
|
|
- productInfos.forEach(productInfo -> {
|
|
|
- totalCarbonSink.add(productInfo.getCarbonSink());
|
|
|
- goodsImages.append(productInfo.getProductImgs() + ";");
|
|
|
- goodsName.append(productInfo.getProductName() + ",");
|
|
|
+ for (ProductInfo productInfo:productInfos){ //批量生成商品
|
|
|
+ // 生成商品记录的guid
|
|
|
+ String goodsInfoGuid = UUIDUtils.randomUUID();
|
|
|
+ goodsInfo.setGuid(goodsInfoGuid);
|
|
|
+ goodsInfo.setState(1);
|
|
|
+ goodsInfo.setModifiedTime(new Date());
|
|
|
+ goodsInfo.setCreateTime(new Date());
|
|
|
+ // 扶贫产品
|
|
|
+ goodsInfo.setGoodsType(productInfos.get(0).getProductType().getTypeVal());
|
|
|
+ goodsInfo.setGoodsCode(getMaxGoodsCode());
|
|
|
+ goodsInfo.setIsSale(0);
|
|
|
+ goodsInfo.setCreateUser(CurrUserUtil.getUserId());
|
|
|
+ // 设置商品图片
|
|
|
+ goodsInfo.setGoodsImages(productInfo.getProductImgs());
|
|
|
+ goodsInfo.setGoodsName(productInfo.getProductName());
|
|
|
+
|
|
|
+ // 生成商品明细
|
|
|
+ List<GoodsDetail> goodsDetails = new ArrayList<>();
|
|
|
GoodsDetail goodsDetail = new GoodsDetail();
|
|
|
goodsDetail.setGuid(UUIDUtils.randomUUID());
|
|
|
goodsDetail.setFkGoodsGuid(goodsInfoGuid);
|
|
@@ -507,28 +488,26 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
goodsDetail.setSaleUnit("公斤");
|
|
|
goodsDetail.setProductCode(productInfo.getProductCode());
|
|
|
goodsDetails.add(goodsDetail);
|
|
|
- });
|
|
|
-
|
|
|
- // 设置商品图片
|
|
|
- goodsInfo.setGoodsImages(goodsImages.substring(0, goodsImages.length() - 1));
|
|
|
- goodsInfo.setGoodsName(goodsName.substring(0, goodsName.length() - 1));
|
|
|
-
|
|
|
- // 商品销售信息表
|
|
|
- goodsSaleInfo.setGuid(UUIDUtils.randomUUID());
|
|
|
- goodsSaleInfo.setFkGoodsGuid(goodsInfoGuid);
|
|
|
- goodsSaleInfo.setSalePrice(goodsInfo.getPrice());
|
|
|
- goodsSaleInfo.setIsEnable(1);
|
|
|
- goodsSaleInfo.setState(1);
|
|
|
- goodsSaleInfo.setUnsaledCarbonSkin(totalCarbonSink);
|
|
|
- goodsSaleInfo.setSaledCarbonSkin(new BigDecimal(0));
|
|
|
- goodsSaleInfo.setModifiedTime(new Date());
|
|
|
-
|
|
|
- result = this.goodsDetailMapper.batchInsert(goodsDetails);
|
|
|
- if (result < 1){ throw new RuntimeException("添加商品明细失败");}
|
|
|
- result = this.goodsSaleInfoMapper.insertSelective(goodsSaleInfo);
|
|
|
- if (result < 1) {throw new RuntimeException("添加商品销售信息失败");}
|
|
|
- result = this.goodsInfoMapper.insertSelective(goodsInfo);
|
|
|
- if (result < 1) {throw new RuntimeException("添加商品信息失败");}
|
|
|
+
|
|
|
+ // 商品销售信息表
|
|
|
+ goodsSaleInfo.setGuid(UUIDUtils.randomUUID());
|
|
|
+ goodsSaleInfo.setFkGoodsGuid(goodsInfoGuid);
|
|
|
+ goodsSaleInfo.setSalePrice(goodsInfo.getPrice());
|
|
|
+ goodsSaleInfo.setIsEnable(1);
|
|
|
+ goodsSaleInfo.setState(1);
|
|
|
+ goodsSaleInfo.setUnsaledCarbonSkin(goodsInfo.getCarbonVal());
|
|
|
+ goodsSaleInfo.setSaledCarbonSkin(new BigDecimal(0));
|
|
|
+ goodsSaleInfo.setModifiedTime(new Date());
|
|
|
+
|
|
|
+ result = this.goodsDetailMapper.batchInsert(goodsDetails);
|
|
|
+ if (result < 1){ throw new RuntimeException("添加商品明细失败");}
|
|
|
+ result = this.goodsSaleInfoMapper.insertSelective(goodsSaleInfo);
|
|
|
+ if (result < 1) {throw new RuntimeException("添加商品销售信息失败");}
|
|
|
+ result = this.goodsInfoMapper.insertSelective(goodsInfo);
|
|
|
+ if (result < 1) {throw new RuntimeException("添加商品信息失败");}
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
@@ -583,6 +562,33 @@ public class ProductInfoServiceImpl implements ProductInfoService {
|
|
|
|
|
|
@Override
|
|
|
public ProductInfo findById(String guid) {
|
|
|
- return productInfoMapper.findById(guid);
|
|
|
+ ProductInfo info = productInfoMapper.findById(guid);
|
|
|
+ if (info != null && info.getProductBelongs() != null && info.getProductBelongs().size() > 0){
|
|
|
+ List<ProductBelong> productBelongs = info.getProductBelongs();
|
|
|
+ ProductBelong productBelong = productBelongs.get(0); //一对一
|
|
|
+
|
|
|
+ if (productBelong.getBelongType() != null ){
|
|
|
+ productBelong.setPovertyArea(info.getPovertyArea());
|
|
|
+ //贫困集体
|
|
|
+ if (productBelong.getBelongType() == 1 && StringUtils.isNotEmpty(productBelong.getFkFarmerGuid())){
|
|
|
+ //前端显示选择个人贫困信息
|
|
|
+ List<FarmerInfo> farmerInfos = new ArrayList<>();
|
|
|
+ farmerInfos.add(farmerInfoMapper.selectByPrimaryKey(productBelong.getFkFarmerGuid()));
|
|
|
+ info.setProductBelong(farmerInfos);
|
|
|
+ }
|
|
|
+ if (productBelong.getBelongType() == 2 && StringUtils.isNotEmpty(productBelong.getFkCollectiveGuid())){
|
|
|
+ List<CollectiveFarmerForm> collectiveFarmerFormList = new ArrayList<>();
|
|
|
+ CollectiveFarmerForm collectiveFarmerForm = BeanCopyUtil.convertBean(productBelong,CollectiveFarmerForm.class);
|
|
|
+ collectiveFarmerFormList.add(collectiveFarmerForm);
|
|
|
+ info.setCollectiveFarmerForm(collectiveFarmerFormList);
|
|
|
+ //前端显示选择贫困集体信息
|
|
|
+ List<CollectiveFarmer> collectiveFarmers = new ArrayList<>();
|
|
|
+ collectiveFarmers.add(collectiveFarmerMapper.selectByPrimaryKey(productBelong.getFkCollectiveGuid()));
|
|
|
+ info.setCollectiveFarmer(collectiveFarmers);
|
|
|
+ info.setProductBelongs(null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return info;
|
|
|
}
|
|
|
}
|