xiexiang 1 سال پیش
والد
کامیت
5f0d0d2a0f
22فایلهای تغییر یافته به همراه793 افزوده شده و 19 حذف شده
  1. 19 0
      src/main/java/com/example/xiaoshiweixinback/domain/AssoTicketFile.java
  2. 3 5
      src/main/java/com/example/xiaoshiweixinback/domain/Ticket.java
  3. 35 0
      src/main/java/com/example/xiaoshiweixinback/domain/TicketFillIn.java
  4. 58 0
      src/main/java/com/example/xiaoshiweixinback/domain/TicketLitigationResponding.java
  5. 58 0
      src/main/java/com/example/xiaoshiweixinback/domain/TicketPatentApply.java
  6. 64 0
      src/main/java/com/example/xiaoshiweixinback/domain/TicketRightsProtection.java
  7. 84 4
      src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketAddDTO.java
  8. 28 0
      src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketFillInAddDTO.java
  9. 51 0
      src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketLitigationRespondingAddDTO.java
  10. 51 0
      src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketPatentApplyAddDTO.java
  11. 56 0
      src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketRightsProtectionAddDTO.java
  12. 14 0
      src/main/java/com/example/xiaoshiweixinback/mapper/AssoTicketFileMapper.java
  13. 14 0
      src/main/java/com/example/xiaoshiweixinback/mapper/TicketFillInMapper.java
  14. 14 0
      src/main/java/com/example/xiaoshiweixinback/mapper/TicketLitigationRespondingMapper.java
  15. 14 0
      src/main/java/com/example/xiaoshiweixinback/mapper/TicketPatentApplyMapper.java
  16. 14 0
      src/main/java/com/example/xiaoshiweixinback/mapper/TicketRightsProtectionMapper.java
  17. 17 0
      src/main/java/com/example/xiaoshiweixinback/service/AssoTicketFileService.java
  18. 32 0
      src/main/java/com/example/xiaoshiweixinback/service/TicketFillInService.java
  19. 33 0
      src/main/java/com/example/xiaoshiweixinback/service/TicketLitigationRespondingService.java
  20. 32 0
      src/main/java/com/example/xiaoshiweixinback/service/TicketPatentApplyService.java
  21. 33 0
      src/main/java/com/example/xiaoshiweixinback/service/TicketRightsProtectionService.java
  22. 69 10
      src/main/java/com/example/xiaoshiweixinback/service/TicketService.java

+ 19 - 0
src/main/java/com/example/xiaoshiweixinback/domain/AssoTicketFile.java

@@ -0,0 +1,19 @@
+package com.example.xiaoshiweixinback.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 工单与附图关联表
+ * @Author xiexiang
+ * @Date 2024/4/8
+ */
+@TableName("asso_ticket_file")
+@Data
+public class AssoTicketFile extends BaseEntity<AssoTicketFile> {
+    private Integer id;
+
+    private Integer ticketId;
+
+    private String fileGuid;
+}

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

@@ -1,11 +1,6 @@
 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 java.util.Date;
 
 import lombok.Data;
@@ -55,4 +50,7 @@ public class Ticket extends BaseEntity<Ticket> {
 
     private Double price;
     private String num;
+    private String contactPerson;
+    private String contactPhone;
+    private String contactMail;
 }

+ 35 - 0
src/main/java/com/example/xiaoshiweixinback/domain/TicketFillIn.java

@@ -0,0 +1,35 @@
+package com.example.xiaoshiweixinback.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 填写工单
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@TableName(value = "ticket_fill_in")
+@Data
+public class TicketFillIn extends BaseEntity<TicketFillIn> {
+    /**
+     * 填写工单id
+     */
+    private Integer id;
+
+    /**
+     * 工单id
+     */
+    private Integer ticketId;
+
+    /**
+     * 公司名称
+     */
+    private String companyName;
+
+    /**
+     * 专利无法导出?
+     */
+    private Boolean patentExport;
+
+    private String description;
+}

+ 58 - 0
src/main/java/com/example/xiaoshiweixinback/domain/TicketLitigationResponding.java

@@ -0,0 +1,58 @@
+package com.example.xiaoshiweixinback.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 知识产权应诉工单
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@TableName("ticket_litigation_responding")
+@Data
+public class TicketLitigationResponding extends BaseEntity<TicketLitigationResponding> {
+    /**
+     * 知识产权应诉工单id
+     */
+    private Integer id;
+
+    /**
+     * 工单id
+     */
+    private Integer ticketId;
+
+    /**
+     * 投诉方ADIN号
+     */
+    private String complainAdin;
+
+    /**
+     * 被投诉方ADIN号
+     */
+    private String complainedAdin;
+
+    /**
+     * 商品是否原创
+     */
+    private Boolean ifOriginal;
+
+    /**
+     * 被投诉类型
+     */
+    private String complainedType;
+
+    /**
+     * 专利号
+     */
+    private String patentNo;
+
+    /**
+     * 是否协商过
+     */
+    private Boolean ifTalked;
+
+    /**
+     * 详细说明被投诉全过程
+     */
+    private String description;
+}

+ 58 - 0
src/main/java/com/example/xiaoshiweixinback/domain/TicketPatentApply.java

@@ -0,0 +1,58 @@
+package com.example.xiaoshiweixinback.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 我要申请专利
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@TableName(value = "ticket_patent_apply")
+@Data
+public class TicketPatentApply extends BaseEntity<TicketPatentApply> {
+    /**
+     * 申请专利工单id
+     */
+    private Integer id;
+
+    /**
+     * 工单id
+     */
+    private Integer ticketId;
+
+    /**
+     * 申请类型
+     */
+    private String appType;
+
+    /**
+     * 申请国家
+     */
+    private String appCountry;
+
+    /**
+     * 所属行业
+     */
+    private String industry;
+
+    /**
+     * 技术类型
+     */
+    private String techType;
+
+    /**
+     * 是否海外申请
+     */
+    private Boolean appAbroad;
+
+    /**
+     * 一同申请海牙认证
+     */
+    private Boolean appApostille;
+
+    /**
+     * 备注
+     */
+    private String description;
+}

+ 64 - 0
src/main/java/com/example/xiaoshiweixinback/domain/TicketRightsProtection.java

@@ -0,0 +1,64 @@
+package com.example.xiaoshiweixinback.domain;
+
+import co.elastic.clients.elasticsearch.xpack.usage.Base;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+/**
+ * 知识产权维权工单
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@TableName("ticket_rights_protection")
+@Data
+public class TicketRightsProtection extends BaseEntity<TicketRightsProtection> {
+    /**
+     * 知识产权维权工单id
+     */
+    private Integer id;
+
+    /**
+     * 工单id
+     */
+    private Integer ticketId;
+
+    /**
+     * 侵权店铺ADIN号
+     */
+    private String tortStoreAdin;
+
+    /**
+     * 侵权类型
+     */
+    private String tortType;
+
+    /**
+     * 侵权分类
+     */
+    private String tortClassify;
+
+    /**
+     * 是否拥有专利
+     */
+    private Boolean ifHavePatent;
+
+    /**
+     * 专利号
+     */
+    private String patentNo;
+
+    /**
+     * 描述问题
+     */
+    private String problemDescription;
+
+    /**
+     * 侵权店铺链接
+     */
+    private String tortStoreLink;
+
+    /**
+     * 提供更多信息
+     */
+    private String description;
+}

+ 84 - 4
src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketAddDTO.java

@@ -1,9 +1,9 @@
 package com.example.xiaoshiweixinback.entity.dto.ticket;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
 
 @Data
 public class TicketAddDTO {
@@ -23,7 +23,7 @@ public class TicketAddDTO {
     private String contentText;
 
     /**
-     * 工单类型
+     * 工单类型  1.填写工单  2.知识产权维权  3.知识产权应诉  4.我要申请专利
      */
     private Integer ticketType;
 
@@ -31,12 +31,92 @@ public class TicketAddDTO {
     private String num;
 
     /**
-     *
+     * 创建人
      */
     private String createId;
 
     /**
-     *
+     * 创建时间
      */
     private Date createTime;
+
+    /**
+     * 公司名称
+     */
+    private String companyName;
+
+    /**
+     * 专利无法导出
+     */
+    private Boolean patentExport;
+
+    /**
+     * 侵权店铺ADIN号
+     */
+    private String tortStoreAdin;
+
+    /**
+     * 侵权类型
+     */
+    private String tortType;
+
+    /**
+     * 侵权分类
+     */
+    private String tortClassify;
+
+    /**
+     * 是否拥有专利
+     */
+    private Boolean ifHavePatent;
+
+    /**
+     * 专利号
+     */
+    private String patentNo;
+
+    /**
+     * 描述问题
+     */
+    private String problemDescription;
+
+    /**
+     * 侵权店铺链接
+     */
+    private String tortStoreLink;
+
+    /**
+     * 投诉方ADIN号
+     */
+    private String complainAdin;
+
+    /**
+     * 被投诉方ADIN号
+     */
+    private String complainedAdin;
+
+    /**
+     * 商品是否原创
+     */
+    private Boolean ifOriginal;
+
+    /**
+     * 被投诉类型
+     */
+    private String complainedType;
+
+    /**
+     * 是否协商过
+     */
+    private Boolean ifTalked;
+
+    /**
+     * 描述
+     */
+    private String description;
+    private String contactPerson;
+    private String contactPhone;
+    private String contactMail;
+
+    private List<String> fileGuids;
 }

+ 28 - 0
src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketFillInAddDTO.java

@@ -0,0 +1,28 @@
+package com.example.xiaoshiweixinback.entity.dto.ticket;
+
+import lombok.Data;
+
+/**
+ * 填写工单DTO
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Data
+public class TicketFillInAddDTO {
+    /**
+     * 工单id
+     */
+    private Integer ticketId;
+
+    /**
+     * 公司名称
+     */
+    private String companyName;
+
+    /**
+     * 专利无法导出?
+     */
+    private Boolean patentExport;
+
+    private String description;
+}

+ 51 - 0
src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketLitigationRespondingAddDTO.java

@@ -0,0 +1,51 @@
+package com.example.xiaoshiweixinback.entity.dto.ticket;
+
+import lombok.Data;
+
+/**
+ * 知识产权应诉工单
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Data
+public class TicketLitigationRespondingAddDTO {
+    /**
+     * 工单id
+     */
+    private Integer ticketId;
+
+    /**
+     * 投诉方ADIN号
+     */
+    private String complainAdin;
+
+    /**
+     * 被投诉方ADIN号
+     */
+    private String complainedAdin;
+
+    /**
+     * 商品是否原创
+     */
+    private Boolean ifOriginal;
+
+    /**
+     * 被投诉类型
+     */
+    private String complainedType;
+
+    /**
+     * 专利号
+     */
+    private String patentNo;
+
+    /**
+     * 是否协商过
+     */
+    private Boolean ifTalked;
+
+    /**
+     * 详细说明被投诉全过程
+     */
+    private String description;
+}

+ 51 - 0
src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketPatentApplyAddDTO.java

@@ -0,0 +1,51 @@
+package com.example.xiaoshiweixinback.entity.dto.ticket;
+
+import lombok.Data;
+
+/**
+ * 我要申请专利DTO
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Data
+public class TicketPatentApplyAddDTO {
+    /**
+     * 工单id
+     */
+    private Integer ticketId;
+
+    /**
+     * 申请类型
+     */
+    private String appType;
+
+    /**
+     * 申请国家
+     */
+    private String appCountry;
+
+    /**
+     * 所属行业
+     */
+    private String industry;
+
+    /**
+     * 技术类型
+     */
+    private String techType;
+
+    /**
+     * 是否海外申请
+     */
+    private Boolean appAbroad;
+
+    /**
+     * 一同申请海牙认证
+     */
+    private Boolean appApostille;
+
+    /**
+     * 备注
+     */
+    private String description;
+}

+ 56 - 0
src/main/java/com/example/xiaoshiweixinback/entity/dto/ticket/TicketRightsProtectionAddDTO.java

@@ -0,0 +1,56 @@
+package com.example.xiaoshiweixinback.entity.dto.ticket;
+
+import lombok.Data;
+
+/**
+ * 知识产权维权DTO
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Data
+public class TicketRightsProtectionAddDTO {
+    /**
+     * 工单id
+     */
+    private Integer ticketId;
+
+    /**
+     * 侵权店铺ADIN号
+     */
+    private String tortStoreAdin;
+
+    /**
+     * 侵权类型
+     */
+    private String tortType;
+
+    /**
+     * 侵权分类
+     */
+    private String tortClassify;
+
+    /**
+     * 是否拥有专利
+     */
+    private Boolean ifHavePatent;
+
+    /**
+     * 专利号
+     */
+    private String patentNo;
+
+    /**
+     * 描述问题
+     */
+    private String problemDescription;
+
+    /**
+     * 侵权店铺链接
+     */
+    private String tortStoreLink;
+
+    /**
+     * 提供更多信息
+     */
+    private String description;
+}

+ 14 - 0
src/main/java/com/example/xiaoshiweixinback/mapper/AssoTicketFileMapper.java

@@ -0,0 +1,14 @@
+package com.example.xiaoshiweixinback.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.xiaoshiweixinback.domain.AssoTicketFile;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 工单与附图关联Mapper
+ * @Author xiexiang
+ * @Date 2024/4/8
+ */
+@Repository
+public interface AssoTicketFileMapper extends BaseMapper<AssoTicketFile> {
+}

+ 14 - 0
src/main/java/com/example/xiaoshiweixinback/mapper/TicketFillInMapper.java

@@ -0,0 +1,14 @@
+package com.example.xiaoshiweixinback.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.xiaoshiweixinback.domain.TicketFillIn;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 填写工单Mapper
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Repository
+public interface TicketFillInMapper extends BaseMapper<TicketFillIn> {
+}

+ 14 - 0
src/main/java/com/example/xiaoshiweixinback/mapper/TicketLitigationRespondingMapper.java

@@ -0,0 +1,14 @@
+package com.example.xiaoshiweixinback.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.xiaoshiweixinback.domain.TicketLitigationResponding;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 知识产权应诉工单
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Repository
+public interface TicketLitigationRespondingMapper extends BaseMapper<TicketLitigationResponding> {
+}

+ 14 - 0
src/main/java/com/example/xiaoshiweixinback/mapper/TicketPatentApplyMapper.java

@@ -0,0 +1,14 @@
+package com.example.xiaoshiweixinback.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.xiaoshiweixinback.domain.TicketPatentApply;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 我要申请专利Mapper
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Repository
+public interface TicketPatentApplyMapper extends BaseMapper<TicketPatentApply> {
+}

+ 14 - 0
src/main/java/com/example/xiaoshiweixinback/mapper/TicketRightsProtectionMapper.java

@@ -0,0 +1,14 @@
+package com.example.xiaoshiweixinback.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.xiaoshiweixinback.domain.TicketRightsProtection;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 知识产权维权工单Mapper
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Repository
+public interface TicketRightsProtectionMapper extends BaseMapper<TicketRightsProtection> {
+}

+ 17 - 0
src/main/java/com/example/xiaoshiweixinback/service/AssoTicketFileService.java

@@ -0,0 +1,17 @@
+package com.example.xiaoshiweixinback.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.xiaoshiweixinback.domain.AssoTicketFile;
+import com.example.xiaoshiweixinback.mapper.AssoTicketFileMapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * 工单与附图关联Service
+ * @Author xiexiang
+ * @Date 2024/4/8
+ */
+@Service
+@RequiredArgsConstructor
+public class AssoTicketFileService extends ServiceImpl<AssoTicketFileMapper, AssoTicketFile> {
+}

+ 32 - 0
src/main/java/com/example/xiaoshiweixinback/service/TicketFillInService.java

@@ -0,0 +1,32 @@
+package com.example.xiaoshiweixinback.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.xiaoshiweixinback.domain.TicketFillIn;
+import com.example.xiaoshiweixinback.entity.dto.ticket.TicketAddDTO;
+import com.example.xiaoshiweixinback.entity.dto.ticket.TicketFillInAddDTO;
+import com.example.xiaoshiweixinback.mapper.TicketFillInMapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+/**
+ * 填写工单Service
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Service
+@RequiredArgsConstructor
+public class TicketFillInService extends ServiceImpl<TicketFillInMapper, TicketFillIn> {
+
+    /**
+     * 填写工单新增
+     * @param ticketFillInAddDTO
+     * @return
+     */
+    public Integer add(TicketFillInAddDTO ticketFillInAddDTO){
+        TicketFillIn ticketFillIn = new TicketFillIn();
+        BeanUtils.copyProperties(ticketFillInAddDTO, ticketFillIn);
+        ticketFillIn.insert();
+        return ticketFillIn.getTicketId();
+    }
+}

+ 33 - 0
src/main/java/com/example/xiaoshiweixinback/service/TicketLitigationRespondingService.java

@@ -0,0 +1,33 @@
+package com.example.xiaoshiweixinback.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.xiaoshiweixinback.domain.TicketLitigationResponding;
+import com.example.xiaoshiweixinback.domain.TicketRightsProtection;
+import com.example.xiaoshiweixinback.entity.dto.ticket.TicketLitigationRespondingAddDTO;
+import com.example.xiaoshiweixinback.entity.dto.ticket.TicketRightsProtectionAddDTO;
+import com.example.xiaoshiweixinback.mapper.TicketLitigationRespondingMapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+/**
+ * 知识产权应诉工单
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Service
+@RequiredArgsConstructor
+public class TicketLitigationRespondingService extends ServiceImpl<TicketLitigationRespondingMapper, TicketLitigationResponding> {
+
+    /**
+     * 知识产权应诉工单新增
+     * @param ticketLitigationRespondingAddDTO
+     * @return
+     */
+    public Integer add(TicketLitigationRespondingAddDTO ticketLitigationRespondingAddDTO){
+        TicketLitigationResponding ticketLitigationResponding = new TicketLitigationResponding();
+        BeanUtils.copyProperties(ticketLitigationRespondingAddDTO, ticketLitigationResponding);
+        ticketLitigationResponding.insert();
+        return ticketLitigationResponding.getTicketId();
+    }
+}

+ 32 - 0
src/main/java/com/example/xiaoshiweixinback/service/TicketPatentApplyService.java

@@ -0,0 +1,32 @@
+package com.example.xiaoshiweixinback.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.xiaoshiweixinback.domain.TicketPatentApply;
+import com.example.xiaoshiweixinback.domain.TicketRightsProtection;
+import com.example.xiaoshiweixinback.entity.dto.ticket.TicketPatentApplyAddDTO;
+import com.example.xiaoshiweixinback.mapper.TicketPatentApplyMapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+/**
+ * 我要申请专利工单Service
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Service
+@RequiredArgsConstructor
+public class TicketPatentApplyService extends ServiceImpl<TicketPatentApplyMapper, TicketPatentApply> {
+
+    /**
+     * 我要申请专利工单新增
+     * @param ticketPatentApplyAddDTO
+     * @return
+     */
+    public Integer add(TicketPatentApplyAddDTO ticketPatentApplyAddDTO){
+        TicketPatentApply ticketPatentApply = new TicketPatentApply();
+        BeanUtils.copyProperties(ticketPatentApplyAddDTO, ticketPatentApply);
+        ticketPatentApply.insert();
+        return ticketPatentApply.getTicketId();
+    }
+}

+ 33 - 0
src/main/java/com/example/xiaoshiweixinback/service/TicketRightsProtectionService.java

@@ -0,0 +1,33 @@
+package com.example.xiaoshiweixinback.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.xiaoshiweixinback.domain.TicketFillIn;
+import com.example.xiaoshiweixinback.domain.TicketRightsProtection;
+import com.example.xiaoshiweixinback.entity.dto.ticket.TicketAddDTO;
+import com.example.xiaoshiweixinback.entity.dto.ticket.TicketRightsProtectionAddDTO;
+import com.example.xiaoshiweixinback.mapper.TicketRightsProtectionMapper;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+/**
+ * 知识产权维权工单Service
+ * @Author xiexiang
+ * @Date 2024/4/7
+ */
+@Service
+@RequiredArgsConstructor
+public class TicketRightsProtectionService extends ServiceImpl<TicketRightsProtectionMapper, TicketRightsProtection> {
+
+    /**
+     * 知识产权维权工单
+     * @param ticketRightsProtectionAddDTO
+     * @return
+     */
+    public Integer add(TicketRightsProtectionAddDTO ticketRightsProtectionAddDTO){
+        TicketRightsProtection ticketRightsProtection = new TicketRightsProtection();
+        BeanUtils.copyProperties(ticketRightsProtectionAddDTO, ticketRightsProtection);
+        ticketRightsProtection.insert();
+        return ticketRightsProtection.getTicketId();
+    }
+}

+ 69 - 10
src/main/java/com/example/xiaoshiweixinback/service/TicketService.java

@@ -8,12 +8,8 @@ import com.example.xiaoshiweixinback.business.common.base.Records;
 import com.example.xiaoshiweixinback.business.utils.BatchNoUtil;
 import com.example.xiaoshiweixinback.business.utils.CacheUtil;
 import com.example.xiaoshiweixinback.business.utils.LoginUtils;
-import com.example.xiaoshiweixinback.domain.Person;
-import com.example.xiaoshiweixinback.domain.Ticket;
-import com.example.xiaoshiweixinback.entity.dto.ticket.TicketAddDTO;
-import com.example.xiaoshiweixinback.entity.dto.ticket.TicketPriceUpDTO;
-import com.example.xiaoshiweixinback.entity.dto.ticket.TicketProcessUpDTO;
-import com.example.xiaoshiweixinback.entity.dto.ticket.TicketQueryDTO;
+import com.example.xiaoshiweixinback.domain.*;
+import com.example.xiaoshiweixinback.entity.dto.ticket.*;
 import com.example.xiaoshiweixinback.entity.vo.PersonnelVO;
 import com.example.xiaoshiweixinback.entity.vo.TicketVO;
 import com.example.xiaoshiweixinback.mapper.TicketMapper;
@@ -22,6 +18,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.management.modelmbean.XMLParseException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -35,24 +32,86 @@ import java.util.List;
 public class TicketService extends ServiceImpl<TicketMapper, Ticket> {
     private final CacheUtil cacheUtil;
     private final LoginUtils loginUtils;
+    private final TicketFillInService ticketFillInService;
+    private final TicketRightsProtectionService ticketRightsProtectionService;
+    private final TicketLitigationRespondingService ticketLitigationRespondingService;
+    private final TicketPatentApplyService ticketPatentApplyService;
+    private final AssoTicketFileService assoTicketFileService;
 
     @Transactional(rollbackFor = Exception.class)
     public Integer addorUpdateTicket(TicketAddDTO ticketAddDTO) {
+        Integer reId = null;
         Ticket ticket = new Ticket();
         if (ticketAddDTO.getId() == null) {
+            //工单基本信息入库
             BeanUtils.copyProperties(ticketAddDTO, ticket);
-            PersonnelVO personnelVO = cacheUtil.getLoginUser(loginUtils.getId());
-            ticket.setCreateId(personnelVO.getUuid());
+//            PersonnelVO personnelVO = cacheUtil.getLoginUser(loginUtils.getId());
+//            ticket.setCreateId(personnelVO.getUuid());
+            ticket.setCreateId("123");
             ticket.setTicketProgress(0);
             String num = BatchNoUtil.getBatchNo();
             ticket.setNum(num);
+            ticket.insert();
+
+            Integer ticketId = ticket.getId();
+            //根据工单的不同类型 信息入库
+            Integer ticketType = ticketAddDTO.getTicketType();
+            switch (ticketType) {
+                case 1:
+                    //填写工单
+                    TicketFillInAddDTO ticketFillInAddDTO = new TicketFillInAddDTO();
+                    BeanUtils.copyProperties(ticketAddDTO, ticketFillInAddDTO);
+                    ticketFillInAddDTO.setTicketId(ticketId);
+                    reId = ticketFillInService.add(ticketFillInAddDTO);
+                    break;
+                case 2:
+                    //知识产权维权工单
+                    TicketRightsProtectionAddDTO ticketRightsProtectionAddDTO = new TicketRightsProtectionAddDTO();
+                    BeanUtils.copyProperties(ticketAddDTO, ticketRightsProtectionAddDTO);
+                    ticketRightsProtectionAddDTO.setTicketId(ticketId);
+                    reId = ticketRightsProtectionService.add(ticketRightsProtectionAddDTO);
+                    break;
+                case 3:
+                    //知识产权应诉工单
+                    TicketLitigationRespondingAddDTO ticketLitigationRespondingAddDTO = new TicketLitigationRespondingAddDTO();
+                    BeanUtils.copyProperties(ticketAddDTO, ticketLitigationRespondingAddDTO);
+                    ticketLitigationRespondingAddDTO.setTicketId(ticketId);
+                    reId = ticketLitigationRespondingService.add(ticketLitigationRespondingAddDTO);
+                    break;
+                case 4:
+                    //我要申请专利工单
+                    TicketPatentApplyAddDTO ticketPatentApplyAddDTO = new TicketPatentApplyAddDTO();
+                    BeanUtils.copyProperties(ticketAddDTO, ticketPatentApplyAddDTO);
+                    ticketPatentApplyAddDTO.setTicketId(ticketId);
+                    reId = ticketPatentApplyService.add(ticketPatentApplyAddDTO);
+                    break;
+                default:
+                    reId = -1;
+                    break;
+            }
+
+            //处理工单的附件
+            List<String> fileGuids = ticketAddDTO.getFileGuids();
+            if (!fileGuids.isEmpty()) {
+                List<AssoTicketFile> assoTicketFiles = new ArrayList<>();
+                for (String fileGuid : fileGuids) {
+                    AssoTicketFile assoTicketFile = new AssoTicketFile();
+                    assoTicketFile.setTicketId(ticketId);
+                    assoTicketFile.setFileGuid(fileGuid);
+                    assoTicketFiles.add(assoTicketFile);
+                }
+                if (!assoTicketFiles.isEmpty()) {
+                    assoTicketFileService.saveBatch(assoTicketFiles);
+                }
+            }
+
         } else {
             ticket = this.getById(ticket.getId());
             ticket.setName(ticketAddDTO.getName());
             ticket.setContentText(ticketAddDTO.getContentText());
+            ticket.updateById();
         }
-        ticket.insertOrUpdate();
-        return ticket.getId();
+        return reId;
     }
 
     @Transactional(rollbackFor = Exception.class)