Bladeren bron

Merge remote-tracking branch 'origin/master'

lwhhszx 1 jaar geleden
bovenliggende
commit
f8be2888c2

+ 4 - 0
src/main/java/cn/cslg/pas/common/dto/business/ProductCategoryDTO.java

@@ -5,6 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.joda.time.DateTime;
 
+import java.util.List;
+
 /**
  * 产品类别的DTO
  * @Author xiexiang
@@ -24,4 +26,6 @@ public class ProductCategoryDTO {
     private Integer showType;
     @Schema(description = "描述")
     private String description;
+    @Schema(description = "可见类型的人员id")
+    private List<Integer> showPersonId;
 }

+ 51 - 0
src/main/java/cn/cslg/pas/domain/business/AssoProductCategoryPerson.java

@@ -0,0 +1,51 @@
+package cn.cslg.pas.domain.business;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import org.joda.time.DateTime;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/10/31
+ */
+@Data
+@TableName("asso_product_category_person")
+public class AssoProductCategoryPerson {
+    /**
+     * 主键id
+     */
+    @TableField(value = "id")
+    private Integer id;
+
+    /**
+     * 产品类别id
+     */
+    @TableField(value = "product_category_id")
+    private Integer productCategoryId;
+
+    /**
+     * 人员id
+     */
+    @TableField(value = "person_id")
+    private Integer personId;
+
+    /**
+     * 人员角色
+     * 0管理员1查看人员2禁止查看人员
+     */
+    @TableField(value = "role")
+    private Integer role;
+
+    /**
+     * 创建人id
+     */
+    @TableField(value = "create_id")
+    private Integer createId;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "create_time")
+    private DateTime createTime;
+}

+ 13 - 0
src/main/java/cn/cslg/pas/mapper/AssoProductCategoryPersonMapper.java

@@ -0,0 +1,13 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.domain.business.AssoProductCategoryPerson;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/10/31
+ */
+@Repository
+public interface AssoProductCategoryPersonMapper extends BaseMapper<AssoProductCategoryPerson> {
+}

+ 15 - 0
src/main/java/cn/cslg/pas/service/business/AssoProductCategoryPersonService.java

@@ -0,0 +1,15 @@
+package cn.cslg.pas.service.business;
+
+import cn.cslg.pas.domain.business.AssoProductCategoryPerson;
+import cn.cslg.pas.mapper.AssoProductCategoryPersonMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * 产品类别与可见人员的关联
+ * @Author xiexiang
+ * @Date 2023/10/31
+ */
+@Service
+public class AssoProductCategoryPersonService extends ServiceImpl<AssoProductCategoryPersonMapper, AssoProductCategoryPerson> {
+}

+ 32 - 1
src/main/java/cn/cslg/pas/service/business/ProductCategoryService.java

@@ -8,6 +8,7 @@ import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.vo.business.ProductCategoryVO;
 import cn.cslg.pas.domain.business.AssoProductCategoryFile;
+import cn.cslg.pas.domain.business.AssoProductCategoryPerson;
 import cn.cslg.pas.domain.business.ProductCategory;
 import cn.cslg.pas.exception.UnLoginException;
 import cn.cslg.pas.exception.XiaoShiException;
@@ -50,6 +51,9 @@ public class ProductCategoryService extends ServiceImpl<ProductCategoryMapper, P
     private AssoProductCategoryFileService assoProductCategoryFileService;
 
     @Autowired
+    private AssoProductCategoryPersonService assoProductCategoryPersonService;
+
+    @Autowired
     private CacheUtils cacheUtils;
 
     @Autowired
@@ -62,7 +66,7 @@ public class ProductCategoryService extends ServiceImpl<ProductCategoryMapper, P
 
     @Override
     public Object queryMessage(QueryRequest queryRequest) throws Exception {
-        List<String> sqls = formatQueryService.reSqls(queryRequest);
+        List<String> sqls = formatQueryService.reSqls(queryRequest,"productCategory");
         //根据sql查询产品类别信息
         List<ProductCategoryVO> productCategoryVOS = productCategoryMapper.getProductCategory(sqls.get(0),sqls.get(1),sqls.get(2));
         //查询总数
@@ -108,6 +112,33 @@ public class ProductCategoryService extends ServiceImpl<ProductCategoryMapper, P
         ProductCategory productCategory = new ProductCategory();
         BeanUtils.copyProperties(productCategoryDTO, productCategory);
         productCategory.insert();
+        //判断可见类型:
+        Integer showType = productCategoryDTO.getShowType();
+        if(showType != 0 && showType != 1){
+            List<Integer> showPersonIds = productCategoryDTO.getShowPersonId();
+            //0所有人可见,1本人可见
+            if(showPersonIds !=null && showPersonIds.size() != 0){
+                List<AssoProductCategoryPerson> assoProductCategoryPeople = new ArrayList<>();
+                for (Integer showPersonId : showPersonIds) {
+                    AssoProductCategoryPerson assoProductCategoryPerson = new AssoProductCategoryPerson();
+                    assoProductCategoryPerson.setProductCategoryId(productCategory.getId());
+                    assoProductCategoryPerson.setPersonId(showPersonId);
+                    assoProductCategoryPerson.setCreateId(personnelVO.getId());
+                    //2仅选定人可见
+                    if (showType == 2) {
+                        assoProductCategoryPerson.setRole(1);
+                    } else if (showType == 3) {//3选定人不可见
+                        assoProductCategoryPerson.setRole(2);
+                    } else {
+                        throw new XiaoShiException("可见类型错误");
+                    }
+                    assoProductCategoryPeople.add(assoProductCategoryPerson);
+                }
+                if(assoProductCategoryPeople != null && assoProductCategoryPeople.size() != 0){
+                    assoProductCategoryPersonService.saveBatch(assoProductCategoryPeople);
+                }
+            }
+        }
         //判断文件是否为空
         if (files != null && files.size() != 0) {
             try {

+ 1 - 1
src/main/java/cn/cslg/pas/service/business/ProductService.java

@@ -64,7 +64,7 @@ public class ProductService extends ServiceImpl<ProductMapper, Product> implemen
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Object queryMessage(QueryRequest queryRequest) throws Exception {
-        List<String> sqls = formatQueryService.reSqls(queryRequest);
+        List<String> sqls = formatQueryService.reSqls(queryRequest,"product");
         //根据sql查询产品信息
         List<ProductVO> productVOS = productMapper.getProduct(sqls.get(0), sqls.get(1), sqls.get(2));
         this.loadProduct(productVOS);