lwhhszx 1 рік тому
батько
коміт
1fdea6c935
20 змінених файлів з 250 додано та 71 видалено
  1. 26 0
      src/main/java/com/example/xiaoshiweixinback/business/utils/BatchNoUtil.java
  2. 22 1
      src/main/java/com/example/xiaoshiweixinback/controller/ProductCategoryController.java
  3. 33 0
      src/main/java/com/example/xiaoshiweixinback/controller/TicketController.java
  4. 28 0
      src/main/java/com/example/xiaoshiweixinback/controller/VIPController.java
  5. 1 3
      src/main/java/com/example/xiaoshiweixinback/domain/AssoCategoryFile.java
  6. 1 4
      src/main/java/com/example/xiaoshiweixinback/domain/AssoPersonCategory.java
  7. 1 3
      src/main/java/com/example/xiaoshiweixinback/domain/AssoPersonVip.java
  8. 2 3
      src/main/java/com/example/xiaoshiweixinback/domain/AssoProductFile.java
  9. 1 3
      src/main/java/com/example/xiaoshiweixinback/domain/AssoproductCategory.java
  10. 23 0
      src/main/java/com/example/xiaoshiweixinback/domain/BaseEntity.java
  11. 0 24
      src/main/java/com/example/xiaoshiweixinback/domain/Function.java
  12. 1 3
      src/main/java/com/example/xiaoshiweixinback/domain/Person.java
  13. 1 3
      src/main/java/com/example/xiaoshiweixinback/domain/Product.java
  14. 1 3
      src/main/java/com/example/xiaoshiweixinback/domain/ProductCategory.java
  15. 1 3
      src/main/java/com/example/xiaoshiweixinback/domain/SysFunction.java
  16. 1 3
      src/main/java/com/example/xiaoshiweixinback/domain/Ticket.java
  17. 4 5
      src/main/java/com/example/xiaoshiweixinback/domain/Vip.java
  18. 10 0
      src/main/java/com/example/xiaoshiweixinback/entity/dto/ConcernCategoryDTO.java
  19. 45 0
      src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketAddDTO.java
  20. 48 10
      src/main/java/com/example/xiaoshiweixinback/service/AssoPersonCategoryService.java

+ 26 - 0
src/main/java/com/example/xiaoshiweixinback/business/utils/BatchNoUtil.java

@@ -0,0 +1,26 @@
+package com.example.xiaoshiweixinback.business.utils;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Random;
+
+public class BatchNoUtil {
+
+    private static String getBatchNo(){
+        // 批次号第一部分:时间
+        DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
+        String currentTimeStr = dateFormat.format(new Date());
+
+        // 批次号第二部分:随机数
+        Random random = new Random();
+        Integer cusCode = random.nextInt(900000) + 100000;
+        String cusCodeStr = cusCode.toString();
+
+        // 返回分配批次
+        return "PTX"+currentTimeStr + cusCodeStr;
+
+
+
+    }
+}

+ 22 - 1
src/main/java/com/example/xiaoshiweixinback/controller/ProductCategoryController.java

@@ -4,7 +4,10 @@ package com.example.xiaoshiweixinback.controller;
 import com.example.xiaoshiweixinback.business.common.Constants;
 import com.example.xiaoshiweixinback.business.common.Response;
 import com.example.xiaoshiweixinback.business.common.base.Records;
+import com.example.xiaoshiweixinback.domain.AssoCategoryFile;
+import com.example.xiaoshiweixinback.entity.dto.ConcernCategoryDTO;
 import com.example.xiaoshiweixinback.entity.dto.ProductCategoryDTO;
+import com.example.xiaoshiweixinback.service.AssoPersonCategoryService;
 import com.example.xiaoshiweixinback.service.ProductCategoryService;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.RequiredArgsConstructor;
@@ -15,17 +18,35 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 @Slf4j
 @RequestMapping(Constants.XIAOSHI_WEIXINBACK + "/productCategory")
 @RestController
 @RequiredArgsConstructor
 public class ProductCategoryController {
     private final ProductCategoryService productCategoryService;
-
+    private final AssoPersonCategoryService assoPersonCategoryService;
     @Operation(summary = "查询产品类别")
     @PostMapping("/queryCategory")
     private Response queryProductCategory(@RequestBody ProductCategoryDTO productCategoryDTO) {
         Records records = productCategoryService.queryProductCategory(productCategoryDTO);
         return Response.success(records);
     }
+
+    @Operation(summary = "查询关注的产品类别")
+    @PostMapping("/queryConcernedCategory")
+    private Response queryConcernedCategory(@RequestBody ProductCategoryDTO productCategoryDTO) {
+        Records records = productCategoryService.queryProductCategory(productCategoryDTO);
+        return Response.success(records);
+    }
+
+    @Operation(summary = "关注产品类别")
+    @PostMapping("/concernCategory")
+    private Response concernCategory(@RequestBody ConcernCategoryDTO concernCategoryDTO) {
+        assoPersonCategoryService.concernCategory(concernCategoryDTO);
+        Records records =new Records();
+         records.setData("关注成功");
+        return Response.success(records);
+    }
 }

+ 33 - 0
src/main/java/com/example/xiaoshiweixinback/controller/TicketController.java

@@ -0,0 +1,33 @@
+package com.example.xiaoshiweixinback.controller;
+
+
+import com.example.xiaoshiweixinback.business.common.Constants;
+import com.example.xiaoshiweixinback.business.common.Response;
+import com.example.xiaoshiweixinback.business.common.base.Records;
+import com.example.xiaoshiweixinback.entity.dto.ProductDTO;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@RequestMapping(Constants.XIAOSHI_WEIXINBACK + "/ticket")
+@RestController
+@RequiredArgsConstructor
+public class TicketController {
+//    @Operation(summary = "添加工单")
+//    @PostMapping("/addTicket")
+//    public Response queryHotProduct(@RequestBody ProductDTO productDTO){
+//        Records records =productService.queryHotProduct(productDTO);
+//        return Response.success(records);
+//    }
+//
+//
+//    public Response queryHotProduct(@RequestBody ProductDTO productDTO){
+//        Records records =productService.queryHotProduct(productDTO);
+//        return Response.success(records);
+//    }
+}

+ 28 - 0
src/main/java/com/example/xiaoshiweixinback/controller/VIPController.java

@@ -0,0 +1,28 @@
+package com.example.xiaoshiweixinback.controller;
+
+import com.example.xiaoshiweixinback.business.common.Constants;
+import com.example.xiaoshiweixinback.business.common.Response;
+import com.example.xiaoshiweixinback.entity.dto.ProductCategoryDTO;
+import com.example.xiaoshiweixinback.service.VipService;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@RequestMapping(Constants.XIAOSHI_WEIXINBACK + "/vip")
+@RestController
+@RequiredArgsConstructor
+public class VIPController {
+    private  final VipService vipService;
+    @Operation(summary = "查询会员")
+    @PostMapping("/vip")
+    private Response queryProductCategory(@RequestBody ProductCategoryDTO productCategoryDTO) {
+//        Records records = productCategoryService.queryProductCategory(productCategoryDTO);
+        return Response.success("");
+    }
+
+}

+ 1 - 3
src/main/java/com/example/xiaoshiweixinback/domain/AssoCategoryFile.java

@@ -13,7 +13,7 @@ import lombok.Data;
  */
 @TableName(value ="asso_category_file")
 @Data
-public class AssoCategoryFile implements Serializable {
+public class AssoCategoryFile extends BaseEntity<AssoCategoryFile> {
     /**
      * ID
      */
@@ -30,6 +30,4 @@ public class AssoCategoryFile implements Serializable {
      */
     private String fileGuid;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 1 - 4
src/main/java/com/example/xiaoshiweixinback/domain/AssoPersonCategory.java

@@ -13,7 +13,7 @@ import lombok.Data;
  */
 @TableName(value ="asso_person_category")
 @Data
-public class AssoPersonCategory implements Serializable {
+public class AssoPersonCategory extends BaseEntity<AssoPersonCategory> {
     /**
      * ID
      */
@@ -28,7 +28,4 @@ public class AssoPersonCategory implements Serializable {
      * 
      */
     private Integer productCategoryId;
-
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 1 - 3
src/main/java/com/example/xiaoshiweixinback/domain/AssoPersonVip.java

@@ -13,7 +13,7 @@ import lombok.Data;
  */
 @TableName(value ="asso_person_vip")
 @Data
-public class AssoPersonVip implements Serializable {
+public class AssoPersonVip extends BaseEntity<AssoPersonVip> {
     /**
      * ID
      */
@@ -30,6 +30,4 @@ public class AssoPersonVip implements Serializable {
      */
     private Integer vipId;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 2 - 3
src/main/java/com/example/xiaoshiweixinback/domain/AssoProductFile.java

@@ -13,7 +13,7 @@ import lombok.Data;
  */
 @TableName(value ="asso_product_file")
 @Data
-public class AssoProductFile implements Serializable {
+public class AssoProductFile extends BaseEntity<AssoProductFile> {
     /**
      * ID
      */
@@ -30,6 +30,5 @@ public class AssoProductFile implements Serializable {
      */
     private String fileGuid;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
+
 }

+ 1 - 3
src/main/java/com/example/xiaoshiweixinback/domain/AssoproductCategory.java

@@ -13,7 +13,7 @@ import lombok.Data;
  */
 @TableName(value ="asso_product_category")
 @Data
-public class AssoproductCategory implements Serializable {
+public class AssoproductCategory extends BaseEntity<AssoproductCategory> {
     /**
      * ID
      */
@@ -30,6 +30,4 @@ public class AssoproductCategory implements Serializable {
      */
     private Integer categoryId;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 23 - 0
src/main/java/com/example/xiaoshiweixinback/domain/BaseEntity.java

@@ -0,0 +1,23 @@
+package com.example.xiaoshiweixinback.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * @author 沈永艺
+ * @date 2022-8-2
+ * @description Entity基类
+ */
+
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class BaseEntity<T extends Model> extends Model {
+    private static final long serialVersionUID = -4851055162892178225L;
+
+}

+ 0 - 24
src/main/java/com/example/xiaoshiweixinback/domain/Function.java

@@ -1,24 +0,0 @@
-package com.example.xiaoshiweixinback.domain;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.io.Serializable;
-import lombok.Data;
-
-/**
- * 功能
- * @TableName function
- */
-@TableName(value ="function")
-@Data
-public class Function implements Serializable {
-    /**
-     * ID
-     */
-    private Integer id;
-
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
-}

+ 1 - 3
src/main/java/com/example/xiaoshiweixinback/domain/Person.java

@@ -14,7 +14,7 @@ import lombok.Data;
  */
 @TableName(value ="person")
 @Data
-public class Person implements Serializable {
+public class Person extends BaseEntity<Person> {
     /**
      * ID
      */
@@ -66,6 +66,4 @@ public class Person implements Serializable {
      */
     private Date createTime;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 1 - 3
src/main/java/com/example/xiaoshiweixinback/domain/Product.java

@@ -13,7 +13,7 @@ import org.joda.time.DateTime;
  */
 @TableName(value ="product")
 @Data
-public class Product implements Serializable {
+public class Product extends BaseEntity<Product> {
     /**
      * ID
      */
@@ -69,6 +69,4 @@ public class Product implements Serializable {
      */
     private DateTime createTime;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 1 - 3
src/main/java/com/example/xiaoshiweixinback/domain/ProductCategory.java

@@ -15,7 +15,7 @@ import org.joda.time.DateTime;
  */
 @TableName(value ="product_category")
 @Data
-public class ProductCategory implements Serializable {
+public class ProductCategory extends BaseEntity<ProductCategory> {
     /**
      * ID
      */
@@ -62,6 +62,4 @@ public class ProductCategory implements Serializable {
      */
     private DateTime createTime;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 1 - 3
src/main/java/com/example/xiaoshiweixinback/domain/SysFunction.java

@@ -13,7 +13,7 @@ import lombok.Data;
  */
 @TableName(value ="sys_function")
 @Data
-public class SysFunction implements Serializable {
+public class SysFunction extends BaseEntity<SysFunction> {
     /**
      * ID
      */
@@ -30,6 +30,4 @@ public class SysFunction implements Serializable {
      */
     private String uuid;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 1 - 3
src/main/java/com/example/xiaoshiweixinback/domain/Ticket.java

@@ -14,7 +14,7 @@ import lombok.Data;
  */
 @TableName(value ="ticket")
 @Data
-public class Ticket implements Serializable {
+public class Ticket extends BaseEntity<Ticket> {
     /**
      * ID
      */
@@ -50,6 +50,4 @@ public class Ticket implements Serializable {
      */
     private Date createTime;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 4 - 5
src/main/java/com/example/xiaoshiweixinback/domain/Vip.java

@@ -13,7 +13,7 @@ import lombok.Data;
  */
 @TableName(value ="vip")
 @Data
-public class Vip implements Serializable {
+public class Vip extends BaseEntity<Vip> {
     /**
      * ID
      */
@@ -23,13 +23,12 @@ public class Vip implements Serializable {
     /**
      * 
      */
-    private Integer 会员类型;
+    private Integer vipType;
 
     /**
      * 
      */
-    private String 会员名称;
+    private String name;
+
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
 }

+ 10 - 0
src/main/java/com/example/xiaoshiweixinback/entity/dto/ConcernCategoryDTO.java

@@ -0,0 +1,10 @@
+package com.example.xiaoshiweixinback.entity.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ConcernCategoryDTO {
+    private List<Integer> categoryIds;
+}

+ 45 - 0
src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketAddDTO.java

@@ -0,0 +1,45 @@
+package com.example.xiaoshiweixinback.entity.dto.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class TicketAddDTO {
+    /**
+     * ID
+     */
+    private Integer id;
+
+    /**
+     *
+     */
+    private Integer name;
+
+    /**
+     *
+     */
+    private String contentText;
+
+    /**
+     * 工单类型
+     */
+    private Integer ticketType;
+
+    /**
+     *
+     */
+    private Integer ticketProgress;
+
+    /**
+     *
+     */
+    private String createId;
+
+    /**
+     *
+     */
+    private Date createTime;
+
+}

+ 48 - 10
src/main/java/com/example/xiaoshiweixinback/service/AssoPersonCategoryService.java

@@ -5,42 +5,80 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.example.xiaoshiweixinback.business.utils.CacheUtil;
 import com.example.xiaoshiweixinback.business.utils.LoginUtils;
 import com.example.xiaoshiweixinback.domain.AssoPersonCategory;
+import com.example.xiaoshiweixinback.entity.dto.ConcernCategoryDTO;
 import com.example.xiaoshiweixinback.entity.vo.PersonnelVO;
 import com.example.xiaoshiweixinback.mapper.AssoPersonCategoryMapper;
+import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
 /**
-* @author admin
-* @description 针对表【asso_person_category(人员产品类别关联表)】的数据库操作Service实现
-* @createDate 2024-04-01 14:40:55
-*/
+ * @author admin
+ * @description 针对表【asso_person_category(人员产品类别关联表)】的数据库操作Service实现
+ * @createDate 2024-04-01 14:40:55
+ */
 @Service
 @RequiredArgsConstructor
 public class AssoPersonCategoryService extends ServiceImpl<AssoPersonCategoryMapper, AssoPersonCategory> {
     private final CacheUtil cacheUtil;
     private final LoginUtils loginUtils;
+
     public List<Integer> getChoosedProductCategoryIds() {
         List<Integer> ids = new ArrayList<>();
         //PersonnelVO personnelVO =cacheUtil.getLoginUser(loginUtils.getId());
         PersonnelVO personnelVO = new PersonnelVO();
         personnelVO.setId(1);
         personnelVO.setUuid("123");
-        LambdaQueryWrapper<AssoPersonCategory> queryWrapper =new LambdaQueryWrapper<>();
-        queryWrapper.eq(AssoPersonCategory::getPersonUuid,personnelVO.getUuid());
-        List<AssoPersonCategory> assoPersonCategories =this.list(queryWrapper);
-        if(assoPersonCategories.size()>0){
-            ids =assoPersonCategories.stream().map(AssoPersonCategory::getProductCategoryId).collect(Collectors.toList());
+        LambdaQueryWrapper<AssoPersonCategory> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoPersonCategory::getPersonUuid, personnelVO.getUuid());
+        List<AssoPersonCategory> assoPersonCategories = this.list(queryWrapper);
+        if (assoPersonCategories.size() > 0) {
+            ids = assoPersonCategories.stream().map(AssoPersonCategory::getProductCategoryId).collect(Collectors.toList());
         }
-
         return ids;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void concernCategory(ConcernCategoryDTO concernCategoryDTO) {
+        //PersonnelVO personnelVO =cacheUtil.getLoginUser(loginUtils.getId());
+        PersonnelVO personnelVO = new PersonnelVO();
+        personnelVO.setId(1);
+        personnelVO.setUuid("123");
+        List<Integer> ids = concernCategoryDTO.getCategoryIds();
+
+        LambdaQueryWrapper<AssoPersonCategory> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoPersonCategory::getPersonUuid, personnelVO.getUuid());
+        List<AssoPersonCategory> assoPersonCategories = this.list(queryWrapper);
+        List<Integer> oldIds = new ArrayList<>();
+        if (assoPersonCategories.size() > 0) {
+            oldIds = assoPersonCategories.stream().map(AssoPersonCategory::getId).collect(Collectors.toList());
+        }
+        List<Integer> addIds = new ArrayList<>(ids);
+        addIds.removeAll(oldIds);
+        List<Integer> remIds = new ArrayList<>(oldIds);
+        remIds.removeAll(ids);
+        this.removeBatchByIds(remIds);
 
+        List<AssoPersonCategory> assoPersonCategories1 = new ArrayList<>();
+        if (addIds.size() > 0) {
+            addIds.forEach(item -> {
+                AssoPersonCategory assoPersonCategory = new AssoPersonCategory();
+                assoPersonCategory.setPersonUuid(personnelVO.getUuid());
+                assoPersonCategory.setProductCategoryId(item);
+                assoPersonCategories1.add(assoPersonCategory);
+            });
+        }
+        if (assoPersonCategories1.size() > 0) {
+            this.saveBatch(assoPersonCategories1);
+        }
 
+        return;
     }
 }