From 116e919af930037f4e5ece0b085e22feb0d50e5d Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期一, 11 九月 2023 14:33:37 +0800
Subject: [PATCH] #平台素材库
---
server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsParamCreatRequest.java | 34 +++
server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsDTO.java | 63 +++++++
server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java | 43 ++++
server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java | 245 ++++++++++++++++++++++++++-
server/service/src/main/java/com/doumee/dao/business/model/BaseGoodsParam.java | 20 +
server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java | 14 +
server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsCreateOrUpdateRequest.java | 54 ++++++
server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java | 19 ++
server/service/src/main/java/com/doumee/dao/business/model/Multifile.java | 6
9 files changed, 473 insertions(+), 25 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java b/server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java
index 10892fc..470c3cd 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/BaseGoods.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -32,7 +33,6 @@
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
@ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
private Date createDate;
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
@@ -41,7 +41,6 @@
@ApiModelProperty(value = "鏇存柊鏃堕棿")
@ExcelColumn(name="鏇存柊鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
@@ -72,9 +71,19 @@
@ExcelColumn(name="鎵�灞炲搧绫荤紪鐮�(base_category)")
private Integer categoryId;
+ @ApiModelProperty(value = "鎵�灞炲搧绫荤紪鐮�(base_category)", example = "1")
+ @ExcelColumn(name="鎵�灞炲搧绫荤紪鐮�(base_category)")
+ @TableField(exist = false)
+ private Integer categoryName;
+
@ApiModelProperty(value = "鎵�灞炲搧鐗岀紪鐮�(base_brand)", example = "1")
@ExcelColumn(name="鎵�灞炲搧鐗岀紪鐮�(base_brand)")
private Integer brandId;
+
+ @ApiModelProperty(value = "鎵�灞炲搧鐗岀紪鐮�(base_brand)", example = "1")
+ @ExcelColumn(name="鎵�灞炲搧鐗宯ame")
+ @TableField(exist = false)
+ private Integer brandName;
@ApiModelProperty(value = "鎸囧浠凤紙鍏冿級", example = "1")
@ExcelColumn(name="鎸囧浠凤紙鍏冿級")
@@ -95,6 +104,7 @@
@ApiModelProperty(value = "鍚嶇О鎷奸煶棣栧瓧姣�")
@ExcelColumn(name="鍚嶇О鎷奸煶棣栧瓧姣�")
private String shortPinyin;
+
@ApiModelProperty(value = "鍏宠仈婧愭暟鎹紪鐮�")
@ExcelColumn(name="鍏宠仈婧愭暟鎹紪鐮�")
private String baseDataId;
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/BaseGoodsParam.java b/server/service/src/main/java/com/doumee/dao/business/model/BaseGoodsParam.java
index 88e4368..9ba5aea 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/BaseGoodsParam.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/BaseGoodsParam.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -21,11 +22,11 @@
public class BaseGoodsParam {
@TableId(type = IdType.AUTO)
- @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ApiModelProperty(value = "涓婚敭")
@ExcelColumn(name="涓婚敭")
private Integer id;
- @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�")
@ExcelColumn(name="鍒涘缓浜虹紪鐮�")
private Integer creator;
@@ -34,7 +35,7 @@
@JsonFormat(pattern = "yyyy-MM-dd")
private Date createDate;
- @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�")
@ExcelColumn(name="鏇存柊浜虹紪鐮�")
private Integer editor;
@@ -43,7 +44,7 @@
@JsonFormat(pattern = "yyyy-MM-dd")
private Date editDate;
- @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�")
@ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
@@ -55,15 +56,15 @@
@ExcelColumn(name="澶囨敞")
private String remark;
- @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+ @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤")
@ExcelColumn(name="鐘舵�� 0鍚敤 1绂佺敤")
private Integer status;
- @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+ @ApiModelProperty(value = "鎺掑簭鐮�")
@ExcelColumn(name="鎺掑簭鐮�")
private Integer sortnum;
- @ApiModelProperty(value = "鍏宠仈鍝佺被鍙傛暟缂栫爜锛堝叧鑱攂ase_cate_param琛級", example = "1")
+ @ApiModelProperty(value = "鍏宠仈鍝佺被鍙傛暟缂栫爜锛堝叧鑱攂ase_cate_param琛級")
@ExcelColumn(name="鍏宠仈鍝佺被鍙傛暟缂栫爜锛堝叧鑱攂ase_cate_param琛級")
private Integer pramaId;
@@ -71,8 +72,11 @@
@ExcelColumn(name="鍙傛暟鍊�")
private String val;
- @ApiModelProperty(value = "鍟嗗搧缂栫爜锛堝叧鑱攂ase_goods琛級", example = "1")
+ @ApiModelProperty(value = "鍟嗗搧缂栫爜锛堝叧鑱攂ase_goods琛級")
@ExcelColumn(name="鍟嗗搧缂栫爜锛堝叧鑱攂ase_goods琛級")
private Integer goodsId;
+ @ApiModelProperty(value = "鍏宠仈鍝佺被鍙傛暟缂栫爜")
+ @TableField(exist = false)
+ private String paramName;
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/Multifile.java b/server/service/src/main/java/com/doumee/dao/business/model/Multifile.java
index 8c7115e..77eaca6 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/Multifile.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/Multifile.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -64,7 +65,7 @@
private Integer type;
@ApiModelProperty(value = "鍏宠仈瀵硅薄绫诲瀷 0鍟嗗搧澶氬浘", example = "1")
- @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷 0鍟嗗搧澶氬浘")
+ @ExcelColumn(name="鍏宠仈瀵硅薄绫诲瀷 0鍟嗗搧澶氬浘 1 骞冲彴鍟嗗搧澶氬浘")
private Integer objType;
@ApiModelProperty(value = "鏂囦欢鍦板潃")
@@ -78,4 +79,7 @@
@ExcelColumn(name="鎺掑簭鐮�")
private Integer sortnum;
+ @ApiModelProperty(value = "鏂囦欢鍦板潃")
+ @TableField(exist = false)
+ private String filefullurl;
}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsCreateOrUpdateRequest.java b/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsCreateOrUpdateRequest.java
new file mode 100644
index 0000000..7518d37
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsCreateOrUpdateRequest.java
@@ -0,0 +1,54 @@
+package com.doumee.dao.business.model.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.doumee.core.annotation.excel.ExcelColumn;
+import com.doumee.dao.business.model.Multifile;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author T14
+ */
+@Data
+@ApiModel("娣诲姞鍟嗗搧淇℃伅")
+public class BaseGoodsCreateOrUpdateRequest {
+
+ @ApiModelProperty(value = "淇敼涓婚敭ID")
+ private Integer id;
+
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
+ private String name;
+
+ @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+ private Integer status;
+
+ @ApiModelProperty(value = "鍥炬爣")
+ private String imgurl;
+
+ @ApiModelProperty(value = "鎵�灞炲搧绫荤紪鐮�(base_category)", example = "1")
+ private Integer categoryId;
+
+ @ApiModelProperty(value = "鎵�灞炲搧鐗岀紪鐮�(base_brand)", example = "1")
+ private Integer brandId;
+
+ @ApiModelProperty(value = "鎸囧浠凤紙鍏冿級", example = "1")
+ private BigDecimal zdPrice;
+
+ @ApiModelProperty(value = "鍏ユ墜浠锋牸锛堝厓锛�", example = "1")
+ private BigDecimal price;
+
+ @ApiModelProperty(value = "鍟嗗搧璇︽儏")
+ private String content;
+
+ @ApiModelProperty(value = "鍙傛暟绫诲瀷灞炴�у��")
+ private List<BaseGoodsParamCreatRequest> baseGoodsParamList;
+
+ @ApiModelProperty(value = "闄勪欢鍒楄〃")
+ private List<Multifile> multifileList;
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsDTO.java b/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsDTO.java
new file mode 100644
index 0000000..8a09393
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsDTO.java
@@ -0,0 +1,63 @@
+package com.doumee.dao.business.model.dto;
+
+import com.doumee.dao.business.model.BaseGoodsParam;
+import com.doumee.dao.business.model.Multifile;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author T14
+ */
+@Data
+@ApiModel("鍙傛暟灞炴�у��")
+public class BaseGoodsDTO {
+
+ @ApiModelProperty(value = "淇敼涓婚敭ID")
+ private Integer id;
+
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
+ private String name;
+
+ @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+ private Integer status;
+
+ @ApiModelProperty(value = "鍥炬爣")
+ private String imgurl;
+
+ @ApiModelProperty(value = "鍥炬爣")
+ private String imgfullurl;
+
+ @ApiModelProperty(value = "鎵�灞炲搧绫荤紪鐮�(base_category)", example = "1")
+ private Integer categoryId;
+
+ @ApiModelProperty(value = "鎵�灞炲搧绫荤紪鐮�(base_category)", example = "1")
+ private Integer categoryName;
+
+ @ApiModelProperty(value = "鎵�灞炲搧鐗岀紪鐮�(base_brand)", example = "1")
+ private Integer brandId;
+
+ @ApiModelProperty(value = "鎵�灞炲搧鐗岀紪鐮�(base_brand)", example = "1")
+ private Integer brandName;
+
+ @ApiModelProperty(value = "鎸囧浠凤紙鍏冿級", example = "1")
+ private BigDecimal zdPrice;
+
+ @ApiModelProperty(value = "鍏ユ墜浠锋牸锛堝厓锛�", example = "1")
+ private BigDecimal price;
+
+ @ApiModelProperty(value = "鍟嗗搧璇︽儏")
+ private String content;
+
+ @ApiModelProperty(value = "鍙傛暟绫诲瀷灞炴�у��")
+ private List<BaseGoodsParam> baseGoodsParamList;
+
+ @ApiModelProperty(value = "闄勪欢鍒楄〃")
+ private List<Multifile> multifileList;
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsParamCreatRequest.java b/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsParamCreatRequest.java
new file mode 100644
index 0000000..518e122
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/dto/BaseGoodsParamCreatRequest.java
@@ -0,0 +1,34 @@
+package com.doumee.dao.business.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author T14
+ */
+@Data
+@ApiModel("鍙傛暟灞炴�у��")
+public class BaseGoodsParamCreatRequest {
+
+ @ApiModelProperty(value = "鍚嶇О锛堜笉鍙噸澶嶏級")
+ private String name;
+
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鐘舵�� 0鍚敤 1绂佺敤", example = "1")
+ private Integer status;
+
+ @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+ private Integer sortnum;
+
+ @ApiModelProperty(value = "鍏宠仈鍝佺被鍙傛暟缂栫爜锛堝叧鑱攂ase_cate_param琛級", example = "1")
+ private Integer pramaId;
+
+ @ApiModelProperty(value = "鍙傛暟鍊�")
+ private String val;
+
+ @ApiModelProperty(value = "鍟嗗搧缂栫爜锛堝叧鑱攂ase_goods琛級", example = "1")
+ private Integer goodsId;
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java b/server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java
index 200e8cf..539054a 100644
--- a/server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java
+++ b/server/service/src/main/java/com/doumee/service/business/BaseGoodsService.java
@@ -3,6 +3,9 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.model.BaseGoods;
+import com.doumee.dao.business.model.dto.BaseGoodsCreateOrUpdateRequest;
+import com.doumee.dao.business.model.dto.BaseGoodsDTO;
+
import java.util.List;
/**
@@ -14,11 +17,11 @@
/**
* 鍒涘缓
- *
+ *
* @param baseGoods 瀹炰綋瀵硅薄
* @return Integer
*/
- Integer create(BaseGoods baseGoods);
+ Integer create(BaseGoodsCreateOrUpdateRequest baseGoods);
/**
* 涓婚敭鍒犻櫎
@@ -40,6 +43,31 @@
* @param ids 涓婚敭闆�
*/
void deleteByIdInBatch(List<Integer> ids);
+
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param baseGoods 瀹炰綋瀵硅薄
+ */
+ void update(BaseGoodsCreateOrUpdateRequest baseGoods);
+
+
+
+ /**
+ * 涓婚敭涓婁笅鏋�
+ *
+ * @param idList 瀹炰綋瀵硅薄
+ */
+ void updateStatusByIds(List<Integer> idList,Integer status);
+
+
+ /**
+ * 涓婚敭涓婁笅鏋�
+ *
+ * @param id 瀹炰綋瀵硅薄
+ */
+ void updateStatusByIds(Integer id,Integer status);
/**
* 涓婚敭鏇存柊
@@ -63,6 +91,15 @@
*/
BaseGoods findById(Integer id);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return BaseGoods
+ */
+ BaseGoodsDTO findByIdBaseGoods(Integer id);
+
/**
* 鏉′欢鏌ヨ鍗曟潯璁板綍
*
@@ -78,7 +115,7 @@
* @return List<BaseGoods>
*/
List<BaseGoods> findList(BaseGoods baseGoods);
-
+
/**
* 鍒嗛〉鏌ヨ
*
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
index 1ec2edb..8a62b1f 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BaseGoodsServiceImpl.java
@@ -1,23 +1,36 @@
package com.doumee.service.business.impl;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.PinYinUtil;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.BaseGoodsMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.join.BaseGoodsJoinMapper;
-import com.doumee.dao.business.model.BaseGoods;
-import com.doumee.dao.business.model.Goods;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.dto.BaseGoodsCreateOrUpdateRequest;
+import com.doumee.dao.business.model.dto.BaseGoodsDTO;
+import com.doumee.dao.business.model.dto.BaseGoodsParamCreatRequest;
import com.doumee.service.business.BaseGoodsService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import java.util.Date;
import java.util.List;
+import java.util.Objects;
/**
* 绱犳潗搴�-鍟嗗搧淇℃伅琛⊿ervice瀹炵幇
@@ -34,10 +47,90 @@
@Autowired
private BaseGoodsJoinMapper baseGoodsJoinMapper;
+ @Autowired
+ private BaseGoodsParamMapper baseGoodsParamMapper;
+
+
+ @Autowired
+ private MultifileMapper multifileMapper;
+
+ @Autowired
+ @Lazy
+ private SystemDictDataBiz systemDictDataBiz;
+
+ @Autowired
+ private BrandMapper brandMapper;
+
+ @Autowired
+ private GoodsMapper goodsMapper;
+
@Override
- public Integer create(BaseGoods baseGoods) {
- baseGoodsMapper.insert(baseGoods);
- return baseGoods.getId();
+ public Integer create(BaseGoodsCreateOrUpdateRequest baseGoods) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(baseGoodsMapper.selectCount(new QueryWrapper<BaseGoods>().eq("ISDELETED", Constants.ZERO).eq("name",baseGoods.getName()))>0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+baseGoods.getName()+"銆戝凡瀛樺湪");
+ }
+
+ Integer integer = baseGoodsMapper.selectCount(new QueryWrapper<BaseGoods>().eq("ISDELETED", Constants.ZERO));
+ BaseGoods insert = new BaseGoods();
+ insert.setCreator(user.getId());
+ insert.setCreateDate(new Date());
+ insert.setEditor(user.getId());
+ insert.setEditDate(new Date());
+ insert.setIsdeleted(Constants.ZERO);
+ insert.setRemark(baseGoods.getRemark());
+ insert.setName(baseGoods.getName());
+ insert.setStatus(Constants.ZERO);
+ insert.setSortnum(integer+Constants.ONE);
+ insert.setImgurl(baseGoods.getImgurl());
+ insert.setCategoryId(baseGoods.getCategoryId());
+ insert.setBrandId(baseGoods.getBrandId());
+ insert.setZdPrice(baseGoods.getZdPrice());
+ insert.setPrice(baseGoods.getPrice());
+ insert.setContent(baseGoods.getContent());
+ insert.setPinyin(PinYinUtil.getFullSpell(insert.getName()));
+ insert.setShortPinyin(PinYinUtil.getFirstSpell(insert.getName()));
+ baseGoodsMapper.insert(insert);
+
+
+ List<Multifile> multifileList = baseGoods.getMultifileList();
+ if(!Objects.isNull(multifileList)&&multifileList.size()>Constants.ZERO){
+ for (int i = 0; i < multifileList.size(); i++) {
+ Multifile multifile = multifileList.get(i);
+ multifile.setCreator(user.getId());
+ multifile.setCreateDate(new Date());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setSortnum(i+Constants.ONE);
+ multifile.setObjId(insert.getId());
+ multifile.setType(Constants.ZERO);
+ multifile.setObjType(Constants.ONE);
+ multifileMapper.insert(multifile);
+ }
+ }
+
+
+ List<BaseGoodsParamCreatRequest> goodsParamList = baseGoods.getBaseGoodsParamList();
+ if(!Objects.isNull(goodsParamList)&&goodsParamList.size()>0){
+ for (int i = 0; i < goodsParamList.size(); i++) {
+ BaseGoodsParamCreatRequest param = goodsParamList.get(i);
+ BaseGoodsParam baseGoodsParam = new BaseGoodsParam();
+ baseGoodsParam.setCreator(user.getId());
+ baseGoodsParam.setCreateDate(new Date());
+ baseGoodsParam.setEditor(user.getId());
+ baseGoodsParam.setEditDate(new Date());
+ baseGoodsParam.setIsdeleted(Constants.ZERO);
+ baseGoodsParam.setName(param.getName());
+ baseGoodsParam.setRemark(param.getRemark());
+ baseGoodsParam.setStatus(Constants.ZERO);
+ baseGoodsParam.setSortnum(i+Constants.ONE);
+ baseGoodsParam.setPramaId(param.getPramaId());
+ baseGoodsParam.setVal(param.getVal());
+ baseGoodsParam.setGoodsId(insert.getId());
+ baseGoodsParamMapper.insert(baseGoodsParam);
+ }
+ }
+
+ return insert.getId();
}
@Override
@@ -57,6 +150,102 @@
return;
}
baseGoodsMapper.deleteBatchIds(ids);
+ }
+
+
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ @Override
+ public void update(BaseGoodsCreateOrUpdateRequest baseGoods) {
+
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ if(baseGoodsMapper.selectCount(new QueryWrapper<BaseGoods>()
+ .eq("ISDELETED",Constants.ZERO).ne("id",baseGoods.getId())
+ .eq("name",baseGoods.getName()))>0){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+baseGoods.getName()+"銆戝凡瀛樺湪");
+ }
+
+ UpdateWrapper<BaseGoods> wrapper = new UpdateWrapper<>();
+ wrapper.lambda()
+ .eq(BaseGoods::getId,baseGoods.getId())
+ .set(BaseGoods::getName,baseGoods.getName())
+ .set(BaseGoods::getName,baseGoods.getName())
+ .set(BaseGoods::getName,baseGoods.getName())
+ .set(BaseGoods::getName,baseGoods.getName());
+ baseGoodsMapper.update(null,wrapper);
+
+ multifileMapper.delete(new QueryWrapper<Multifile>().eq("OBJ_ID",baseGoods.getId()));
+ List<Multifile> multifileList = baseGoods.getMultifileList();
+ if(!Objects.isNull(multifileList)&&multifileList.size()>Constants.ZERO){
+ for (int i = 0; i < multifileList.size(); i++) {
+ Multifile multifile = multifileList.get(i);
+ multifile.setCreator(user.getId());
+ multifile.setCreateDate(new Date());
+ multifile.setIsdeleted(Constants.ZERO);
+ multifile.setSortnum(i+Constants.ONE);
+ multifile.setObjId(baseGoods.getId());
+ multifile.setType(Constants.ZERO);
+ multifile.setObjType(Constants.ONE);
+ multifileMapper.insert(multifile);
+ }
+ }
+ baseGoodsParamMapper.delete(new QueryWrapper<BaseGoodsParam>().eq("GOODS_ID",baseGoods.getId()));
+ List<BaseGoodsParamCreatRequest> goodsParamList = baseGoods.getBaseGoodsParamList();
+ if(!Objects.isNull(goodsParamList)&&goodsParamList.size()>0){
+ for (int i = 0; i < goodsParamList.size(); i++) {
+ BaseGoodsParamCreatRequest param = goodsParamList.get(i);
+ BaseGoodsParam baseGoodsParam = new BaseGoodsParam();
+ baseGoodsParam.setCreator(user.getId());
+ baseGoodsParam.setCreateDate(new Date());
+ baseGoodsParam.setEditor(user.getId());
+ baseGoodsParam.setEditDate(new Date());
+ baseGoodsParam.setIsdeleted(Constants.ZERO);
+ baseGoodsParam.setName(param.getName());
+ baseGoodsParam.setRemark(param.getRemark());
+ baseGoodsParam.setStatus(Constants.ZERO);
+ baseGoodsParam.setSortnum(i+Constants.ONE);
+ baseGoodsParam.setPramaId(param.getPramaId());
+ baseGoodsParam.setVal(param.getVal());
+ baseGoodsParam.setGoodsId(baseGoods.getId());
+ baseGoodsParamMapper.insert(baseGoodsParam);
+ }
+ }
+ }
+
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ @Override
+ public void updateStatusByIds(List<Integer> idList, Integer status) {
+ if (CollectionUtils.isEmpty(idList)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍟嗗搧鐘舵�佷笉鑳戒负绌�");
+ }
+ idList.forEach(s->updateStatusByIds(s,status));
+
+ }
+
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ @Override
+ public void updateStatusByIds(Integer id, Integer status) {
+
+ if (Objects.isNull(status)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍟嗗搧鐘舵�佷笉鑳戒负绌�");
+ }
+ if (Constants.equalsInteger(status,Constants.ZERO)){
+ BaseGoods baseGoods = new BaseGoods();
+ baseGoods.setId(id);
+ baseGoods.setStatus(status);
+ baseGoodsMapper.updateById(baseGoods);
+ }else if (Constants.equalsInteger(status,Constants.ONE)){
+ BaseGoods baseGoods = new BaseGoods();
+ baseGoods.setId(id);
+ baseGoods.setStatus(status);
+ baseGoodsMapper.updateById(baseGoods);
+
+ UpdateWrapper<Goods> goodsUpdate = new UpdateWrapper<>();
+ goodsUpdate.lambda()
+ .eq(Goods::getType,Constants.ONE)
+ .eq(Goods::getGoodsId,id)
+ .set(Goods::getStatus,Constants.ONE);
+ goodsMapper.update(null,goodsUpdate);
+ }
}
@Override
@@ -80,6 +269,41 @@
}
@Override
+ public BaseGoodsDTO findByIdBaseGoods(Integer id) {
+
+ MPJLambdaWrapper<BaseGoods> queryWrapper = new MPJLambdaWrapper<>();
+
+ queryWrapper.leftJoin(Brand.class,Brand::getId,BaseGoods::getBrandId)
+ .leftJoin(BaseCategory.class,BaseCategory::getId,BaseGoods::getBaseDataId)
+ .selectAll(BaseGoods.class)
+ .selectAs(Brand::getName,BaseGoodsDTO::getBrandName)
+ .selectAs(BaseCategory::getSortnum,BaseGoodsDTO::getCategoryName);
+
+ BaseGoodsDTO baseGoodsDTO = baseGoodsJoinMapper.selectJoinOne(BaseGoodsDTO.class, queryWrapper);
+ String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
+ + systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
+ baseGoodsDTO.setImgfullurl(prefixUrl+baseGoodsDTO.getImgurl());
+
+ List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>()
+ .eq("OBJ_ID", id)
+ .eq("OBJ_TYPE", Constants.ONE));
+ if (!CollectionUtils.isEmpty(multifiles)){
+ multifiles.forEach(s->s.setFilefullurl(prefixUrl+s.getFileurl()));
+ }
+ baseGoodsDTO.setMultifileList(multifiles);
+
+ QueryWrapper<BaseGoodsParam> baseGoodsParamQuery = new QueryWrapper<>();
+ baseGoodsParamQuery.select("base_goods_param.*,(select name from base_cate_param bcp where (bcp.id = base_goods_param.PRAMA_ID)) as paramName")
+ .lambda()
+ .eq(BaseGoodsParam::getGoodsId,id)
+ .orderByAsc(BaseGoodsParam::getSortnum);
+ List<BaseGoodsParam> baseGoodsParams = baseGoodsParamMapper.selectList(baseGoodsParamQuery);
+ baseGoodsDTO.setBaseGoodsParamList(baseGoodsParams);
+ return baseGoodsDTO;
+
+ }
+
+ @Override
public BaseGoods findOne(BaseGoods baseGoods) {
QueryWrapper<BaseGoods> wrapper = new QueryWrapper<>(baseGoods);
return baseGoodsMapper.selectOne(wrapper);
@@ -98,7 +322,7 @@
Utils.MP.blankToNull(pageWrap.getModel());
if (pageWrap.getModel().getId() != null) {
- queryWrapper.eq(BaseGoods::getId, pageWrap.getModel().getId());
+ queryWrapper.like(BaseGoods::getId, pageWrap.getModel().getId());
}
if (pageWrap.getModel().getName() != null) {
queryWrapper.eq(BaseGoods::getName, pageWrap.getModel().getName());
@@ -106,15 +330,16 @@
if (pageWrap.getModel().getStatus() != null) {
queryWrapper.eq(BaseGoods::getStatus, pageWrap.getModel().getStatus());
}
-
-
if (pageWrap.getModel().getCategoryId() != null) {
queryWrapper.eq(BaseGoods::getCategoryId, pageWrap.getModel().getCategoryId());
}
if (pageWrap.getModel().getBrandId() != null) {
queryWrapper.eq(BaseGoods::getBrandId, pageWrap.getModel().getBrandId());
}
-
+ queryWrapper.leftJoin(Brand.class,Brand::getId,BaseGoods::getBrandId)
+ .leftJoin(BaseCategory.class,BaseCategory::getId,BaseGoods::getBaseDataId)
+ .selectAs(Brand::getName,BaseGoods::getBrandName)
+ .selectAs(BaseCategory::getSortnum,BaseGoods::getCategoryName);
queryWrapper.orderByDesc(Goods::getId);
return PageData.from(baseGoodsJoinMapper.selectJoinPage(page,BaseGoods.class,queryWrapper));
}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
index f5c19c8..d764fea 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/BrandServiceImpl.java
@@ -88,7 +88,14 @@
@Override
public void updateById(Brand brand) {
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
- if(brandMapper.selectCount(new QueryWrapper<Brand>().eq("ISDELETED",Constants.ZERO).ne("id",brand.getId()).eq("name",brand.getName()))>0){
+ if(brandMapper.selectCount(new QueryWrapper<Brand>()
+ .eq("ISDELETED",Constants.ZERO)
+ .eq(user.getType().equals(Constants.UserType.SYSTEM),"name",brand.getName())
+ .and(user.getType().equals(Constants.UserType.COMPANY),
+ i->i.apply(" name = '"+brand.getName()+"' and type = 1 ")
+ .or().apply( " name = '"+brand.getName()+"' and COMPANY_ID = '"+user.getCompanyId()+"' and type = 0 ")
+ )
+ )>0){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆�"+brand.getName()+"銆戝凡瀛樺湪");
};
brand.setStatus(Constants.ZERO);
@@ -125,10 +132,15 @@
@Override
public List<Brand> findList(Brand brand) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<Brand> wrapper = new QueryWrapper<>(brand);
wrapper.lambda().eq(Brand::getIsdeleted,Constants.ZERO);
wrapper.lambda().eq(Brand::getStatus,Constants.ZERO);
wrapper.lambda().orderByAsc(Brand::getSortnum);
+ // 绫诲瀷 0浼佷笟 1骞冲彴
+ if (Objects.isNull(user.getCompanyId())) {
+ wrapper.lambda().eq(Brand::getType,Constants.ONE);
+ }
List<Brand> list = brandMapper.selectList(wrapper);
String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
+ systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
@@ -140,6 +152,7 @@
@Override
public PageData<Brand> findPage(PageWrap<Brand> pageWrap) {
+ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
IPage<Brand> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
QueryWrapper<Brand> queryWrapper = new QueryWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
@@ -150,6 +163,10 @@
if (pageWrap.getModel().getStatus() != null) {
queryWrapper.lambda().eq(Brand::getStatus, pageWrap.getModel().getStatus());
}
+ // 绫诲瀷 0浼佷笟 1骞冲彴
+ if (Objects.isNull(user.getCompanyId())) {
+ queryWrapper.lambda().eq(Brand::getType,Constants.ONE);
+ }
queryWrapper.lambda().orderByAsc(Brand::getSortnum);
IPage<Brand> brandIPage = brandMapper.selectPage(page, queryWrapper);
String prefixUrl = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.FILE_DIR).getCode()
--
Gitblit v1.9.3