Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev' into dev

chendayu 2 rokov pred
rodič
commit
3e4679f699

+ 32 - 0
PAS/src/main/java/cn/cslg/pas/common/PageHelperT.java

@@ -0,0 +1,32 @@
+package cn.cslg.pas.common;
+
+import cn.cslg.pas.common.model.vo.PermissionRecordVO;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 分页查询
+ *
+ * @Author xiexiang
+ * @Date 2023/3/10
+ */
+@Data
+public class PageHelperT {
+    /**
+     * 总条数
+     */
+    private Integer total;
+    /**
+     * 当前页
+     */
+    private Integer current;
+    /**
+     * 每页条数
+     */
+    private Integer size;
+    /**
+     * 分页查询结果
+     */
+    private List<PermissionRecordVO> list;
+}

+ 23 - 0
PAS/src/main/java/cn/cslg/pas/common/model/QueryPREntity.java

@@ -0,0 +1,23 @@
+package cn.cslg.pas.common.model;
+
+import lombok.Data;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/3/10
+ */
+@Data
+public class QueryPREntity {
+    /**
+     * 专利号
+     */
+    private String patentNo;
+    /**
+     * 当前页
+     */
+    private Integer current;
+    /**
+     * 每页条数
+     */
+    private Integer size;
+}

+ 63 - 0
PAS/src/main/java/cn/cslg/pas/common/model/dto/PermissionRecordDTO.java

@@ -0,0 +1,63 @@
+package cn.cslg.pas.common.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+
+/**
+ * 新增许可记录的前端传输DTO类
+ *
+ * @Author xiexiang
+ * @Date 2023/3/9
+ */
+@Accessors(chain = true)
+@Data
+public class PermissionRecordDTO {
+    /**
+     * 专利号
+     */
+    private String patentNo;
+
+    /**
+     * 许可人(默认为专利权利人)
+     */
+    private String licensor;
+
+    /**
+     * 被许可人
+     */
+    private String licensee;
+
+    /**
+     * 被许可人国家
+     */
+    private String licenseeCountry;
+
+    /**
+     * 许可时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date licenseTime;
+
+    /**
+     * 许可费用(单位万元)
+     */
+    private Double licenseFee;
+
+    /**
+     * 截止时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    private Date licenseDeadLine;
+
+    /**
+     * 许可类型
+     */
+    private Integer licenseType;
+}

+ 67 - 0
PAS/src/main/java/cn/cslg/pas/common/model/dto/PermissionRecordUpdateDTO.java

@@ -0,0 +1,67 @@
+package cn.cslg.pas.common.model.dto;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @Author xiexiang
+ * @Date 2023/3/10
+ */
+@Accessors(chain = true)
+@Data
+public class PermissionRecordUpdateDTO {
+    /**
+     * ID
+     */
+    private Integer id;
+    /**
+     * 专利号
+     */
+    private String patentNo;
+
+    /**
+     * 许可人(默认为专利权利人)
+     */
+    private String licensor;
+
+    /**
+     * 被许可人
+     */
+    private String licensee;
+
+    /**
+     * 被许可人国家
+     */
+    private String licenseeCountry;
+
+    /**
+     * 许可时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date licenseTime;
+
+    /**
+     * 许可费用(单位万元)
+     */
+    private Double licenseFee;
+
+    /**
+     * 截止时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date licenseDeadLine;
+
+    /**
+     * 许可类型
+     */
+    private Integer licenseType;
+}

+ 63 - 0
PAS/src/main/java/cn/cslg/pas/common/model/vo/PermissionRecordVO.java

@@ -0,0 +1,63 @@
+package cn.cslg.pas.common.model.vo;
+
+import cn.hutool.core.date.DateTime;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ *  许可记录查询VO类
+ *
+ * @Author xiexiang
+ * @Date 2023/3/9
+ */
+@Accessors(chain = true)
+@Data
+public class PermissionRecordVO {
+    /**
+     * ID
+     */
+    private Integer id;
+    /**
+     * 专利号
+     */
+    private String patentNo;
+    /**
+     * 许可人(默认为专利权利人)
+     */
+    private String licensor;
+    /**
+     * 被许可人
+     */
+    private String licensee;
+    /**
+     * 被许可人国家
+     */
+    private String licenseeCountry;
+    /**
+     * 许可时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date licenseTime;
+    /**
+     * 许可费用(单位万元)
+     */
+    private Double licenseFee;
+    /**
+     * 截止时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date licenseDeadLine;
+    /**
+     * 许可类型
+     */
+    private String licenseType;
+
+}

+ 85 - 0
PAS/src/main/java/cn/cslg/pas/controller/PermissionRecordController.java

@@ -0,0 +1,85 @@
+package cn.cslg.pas.controller;
+
+import cn.cslg.pas.common.PageHelperT;
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.model.QueryPREntity;
+import cn.cslg.pas.common.model.dto.PermissionRecordDTO;
+import cn.cslg.pas.common.model.dto.PermissionRecordUpdateDTO;
+import cn.cslg.pas.common.model.vo.PermissionRecordVO;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.mapper.PermissionRecordMapper;
+import cn.cslg.pas.service.IPermissionRecordService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+/**
+ * 许可记录的Controller层
+ *
+ * @Author xiexiang
+ * @Date 2023/3/9
+ */
+@Tag(name = "许可记录模块")
+@Slf4j
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(Constants.API_VERSION_V2 + "/permissionRecord")
+public class PermissionRecordController {
+    private final IPermissionRecordService permissionRecordService;  //许可记录的Service层装配
+    private final PermissionRecordMapper permissionRecordMapper;
+
+    @Operation(summary = "新增许可记录")
+    @PostMapping("/add")
+    public String add(@RequestBody PermissionRecordDTO permissionRecordDTO) {
+        if (permissionRecordDTO == null) {
+            return Response.error("请求参数为null");
+        } else {
+            log.info("开始处理【新增许可记录】的请求,请求参数为:{}", permissionRecordDTO);
+            permissionRecordService.add(permissionRecordDTO);
+            return Response.success("新增许可记录完成");
+        }
+    }
+
+    @Operation(summary = "修改许可记录")
+    @PostMapping("/update")
+    public String update(@RequestBody PermissionRecordUpdateDTO permissionRecordUpdateDTO) {
+        if (permissionRecordUpdateDTO == null) {
+            return Response.error("请求参数为null");
+        } else {
+            log.info("开始处理【修改许可记录】的请求,请求参数为:{}", permissionRecordUpdateDTO);
+            permissionRecordService.update(permissionRecordUpdateDTO);
+            return Response.success("修改许可记录完成");
+        }
+    }
+
+    @Operation(summary = "根据许可id删除许可记录数据信息")
+    @GetMapping("/delete")
+    public String delete(Integer id) {
+        log.info("开始处理【删除许可记录】的请求,请求参数为:{}", id);
+        if (id != null) {
+            permissionRecordService.delete(id);
+            return Response.success("删除许可记录完成");
+        }
+        return Response.error("请求参数为null");
+    }
+
+    @Operation(summary = "根据专利号分页查询许可记录数据信息")
+    @PostMapping("/query")
+    public String query(@RequestBody QueryPREntity queryPREntity){
+        List<PermissionRecordVO> queryResult = permissionRecordService.findAllByPage(queryPREntity);
+        PageHelperT pageHelperT = new PageHelperT();
+        pageHelperT.setList(queryResult);
+        pageHelperT.setCurrent(queryPREntity.getCurrent());
+        pageHelperT.setSize(queryPREntity.getSize());
+        pageHelperT.setTotal(permissionRecordMapper.countById());
+        return Response.success(pageHelperT);
+    }
+}
+
+
+

+ 11 - 2
PAS/src/main/java/cn/cslg/pas/domain/PermissionRecord.java

@@ -1,5 +1,6 @@
 package cn.cslg.pas.domain;
 
+import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -31,6 +32,10 @@ public class PermissionRecord implements Serializable {
      */
     private String licensor;
     /**
+     * 被许可人
+     */
+    private String licensee;
+    /**
      * 被许可人国家
      */
     private String licenseeCountry;
@@ -39,13 +44,17 @@ public class PermissionRecord implements Serializable {
      */
     private Date licenseTime;
     /**
-     * 许可费用
+     * 许可费用(单位万元)
      */
     private Double licenseFee;
     /**
+     * 截止时间
+     */
+    private Date licenseDeadLine;
+    /**
      * 许可类型
      */
-    private String licenseType;
+    private Integer licenseType;
     /**
      * 创建人id
      */

+ 59 - 0
PAS/src/main/java/cn/cslg/pas/mapper/PermissionRecordMapper.java

@@ -0,0 +1,59 @@
+package cn.cslg.pas.mapper;
+
+import cn.cslg.pas.common.model.vo.PermissionRecordVO;
+import cn.cslg.pas.domain.PermissionRecord;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 许可记录表的Mapper层接口
+ *
+ * @Author xiexiang
+ * @Date 2023/3/9
+ */
+@Repository
+public interface PermissionRecordMapper {
+    /**
+     * 插入数据
+     *
+     * @param  permissionRecord 许可记录数据对象
+     * @return 返回受影响的行数
+     */
+    int add(PermissionRecord permissionRecord);
+
+    /**
+     *  根据id修改数据
+     *
+     * @param permissionRecord 许可记录数据对象
+     * @return 返回受影响的行数
+     */
+    int update(PermissionRecord permissionRecord);
+
+    /**
+     * 统计数量
+     *
+     * @return 返回统计到的总数量total
+     */
+    int countById();
+
+
+    /**
+     * 根据专利号patentNo分页查询许可记录表数据
+     *
+     * @param patentNo 专利号
+     * @return 返回查询到的数据
+     */
+    List<PermissionRecordVO> queryAllInfo(String patentNo);
+
+
+    /**
+     * 根据id删除数据
+     *
+     * @param id 许可id
+     * @return 返回受影响的行数
+     */
+    int delete(Integer id);
+
+
+}

+ 60 - 0
PAS/src/main/java/cn/cslg/pas/service/IPermissionRecordService.java

@@ -0,0 +1,60 @@
+package cn.cslg.pas.service;
+
+import cn.cslg.pas.common.core.annotation.Permission;
+import cn.cslg.pas.common.model.QueryPREntity;
+import cn.cslg.pas.common.model.dto.PermissionRecordDTO;
+import cn.cslg.pas.common.model.dto.PermissionRecordUpdateDTO;
+import cn.cslg.pas.common.model.vo.PermissionRecordVO;
+import com.github.pagehelper.PageInfo;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 许可记录的Service层接口
+ *
+ * @Author xiexiang
+ * @Date 2023/3/9
+ */
+public interface IPermissionRecordService {
+    /**
+     * 新增许可记录
+     *
+     * @param permissionRecordDTO 新增许可记录的前端传输DTO数据对象
+     */
+    @Transactional
+    void add(PermissionRecordDTO permissionRecordDTO);
+
+    /**
+     * 修改许可记录
+     *
+     * @param permissionRecordUpdateDTO 修改许可记录的前端传输DTO数据对象
+     */
+    @Transactional
+    void update(PermissionRecordUpdateDTO permissionRecordUpdateDTO);
+
+    /**
+     * 分页查询插件
+     *
+     * @param queryPREntity
+     */
+    List<PermissionRecordVO> findAllByPage(QueryPREntity queryPREntity);
+
+
+    /**
+     * 根据专利号查询许可记录数据
+     *
+     * @param patentNo
+     */
+    List<PermissionRecordVO> queryAllInfo(String patentNo);
+
+
+    /**
+     * 根据许可id删除许可记录数据
+     *
+     * @param id 许可id
+     */
+    void delete(Integer id);
+
+}

+ 127 - 0
PAS/src/main/java/cn/cslg/pas/service/impl/PermissionRecordServiceImpl.java

@@ -0,0 +1,127 @@
+package cn.cslg.pas.service.impl;
+
+import cn.cslg.pas.common.model.PersonnelVO;
+import cn.cslg.pas.common.model.QueryPREntity;
+import cn.cslg.pas.common.model.dto.PermissionRecordDTO;
+import cn.cslg.pas.common.model.dto.PermissionRecordUpdateDTO;
+import cn.cslg.pas.common.model.vo.PermissionRecordVO;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
+import cn.cslg.pas.domain.PermissionRecord;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.mapper.PermissionRecordMapper;
+import cn.cslg.pas.service.IPermissionRecordService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 许可记录的Service层实现类
+ *
+ * @Author xiexiang
+ * @Date 2023/3/9
+ */
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class PermissionRecordServiceImpl implements IPermissionRecordService {
+    private final PermissionRecordMapper permissionRecordMapper; //许可记录表的Mapper层装配
+    private final CacheUtils cacheUtils;
+    private final LoginUtils loginUtils;
+
+    /**
+     * 新增许可记录
+     *
+     * @param permissionRecordDTO 新增许可记录的前端传输DTO数据对象
+     */
+    @Override
+    public void add(PermissionRecordDTO permissionRecordDTO) {
+        log.info("开始处理【新增许可记录】的业务,参数为:{}", permissionRecordDTO);
+        //DTO赋值给许可记录表实体类
+        PermissionRecord permissionRecord = new PermissionRecord();
+        BeanUtils.copyProperties(permissionRecordDTO, permissionRecord);
+        //获取当前登陆人信息
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        //给实体类赋值登陆人id和姓名
+        permissionRecord.setCreatePersonId(personnelVO.getId());
+        permissionRecord.setCreatePersonName(personnelVO.getName());
+        //数据入表
+        log.info("数据入表");
+        int rows = permissionRecordMapper.add(permissionRecord);
+        if (rows != 1) {
+            String message = "新增许可记录失败,请稍后再试";
+            log.info("数据入许可记录表失败,{}", message);
+            throw new XiaoShiException(message);
+        }
+        log.info("新增许可记录完成");
+    }
+
+    /**
+     * 修改许可记录
+     *
+     * @param permissionRecordUpdateDTO 修改许可记录的前端传输DTO数据对象
+     */
+    @Override
+    public void update(PermissionRecordUpdateDTO permissionRecordUpdateDTO) {
+        log.info("开始处理【修改许可记录】的业务,参数为:{}", permissionRecordUpdateDTO);
+        //DTO赋值给许可记录表实体类
+        PermissionRecord permissionRecord = new PermissionRecord();
+        BeanUtils.copyProperties(permissionRecordUpdateDTO, permissionRecord);
+
+        //根据id修改产品表数据
+        log.info("修改许可记录表数据");
+        int rows = permissionRecordMapper.update(permissionRecord);
+        if (rows != 1) {
+            String message = "修改许可记录失败,服务器忙请稍后再试";
+            log.info("修改许可记录表数据失败,{}", message);
+        }
+        log.info("产品修改完成");
+    }
+
+    /**
+     * 根据专利号patentNo、当前页current、每页条数size查询许可记录数据
+     *
+     * @param
+     * @return 返回查询到数据
+     */
+    @Override
+    public List<PermissionRecordVO> queryAllInfo(String patentNo) {
+        return permissionRecordMapper.queryAllInfo(patentNo);
+    }
+    /**
+     * 分页查询
+     */
+    @Override
+    public List<PermissionRecordVO> findAllByPage(QueryPREntity queryPREntity) {
+        PageHelper.startPage(queryPREntity.getCurrent(), queryPREntity.getSize());
+        List<PermissionRecordVO> lists = permissionRecordMapper.queryAllInfo(queryPREntity.getPatentNo());
+        return lists;
+    }
+
+
+    /**
+     * 根据id删除许可记录数据
+     *
+     * @param id 许可id
+     */
+    @Override
+    public void delete(Integer id) {
+        log.info("开始处理【删除许可记录】的业务,参数为:{}", id);
+        if (id != null) {
+            permissionRecordMapper.delete(id);
+            log.info("产品删除完成");
+        } else {
+            log.info("删除产品失败,产品不存在");
+        }
+    }
+}

+ 103 - 0
PAS/src/main/resources/mapper/PermissionRecordMapper.xml

@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+
+<mapper namespace="cn.cslg.pas.mapper.PermissionRecordMapper">
+<!--插入数据-->
+<!--int add(PermissionRecord permissionRecord);-->
+<insert id="add" useGeneratedKeys="true" keyProperty="id">
+    insert into permission_record(id, patent_no, licensor, licensee, licensee_country, license_time,
+                                  license_fee, license_dead_line, license_type, create_person_id,
+                                  create_person_name, create_time, modified_time)
+    values (#{id}, #{patentNo}, #{licensor}, #{licensee}, #{licenseeCountry},
+            #{licenseTime}, #{licenseFee}, #{licenseDeadLine}, #{licenseType}, #{createPersonId},
+            #{createPersonName}, #{createTime}, #{modifiedTime})
+</insert>
+
+    <!--根据id修改数据-->
+<!--int update(PermissionRecordDTO permissionRecordDTO);-->
+<update id="update">
+    update permission_record
+    <set>
+        <if test="patentNo != null">
+            patent_no = #{patentNo},
+        </if>
+        <if test="licensor != null">
+            licensor = #{licensor},
+        </if>
+        <if test="licensee != null">
+            licensee = #{licensee},
+        </if>
+        <if test="licenseeCountry != null">
+            licensee_country = #{licenseeCountry},
+        </if>
+        <if test="licenseTime != null">
+            license_time = #{licenseTime},
+        </if>
+        <if test="licenseFee != null">
+            license_fee = #{licenseFee},
+        </if>
+        <if test="licenseDeadLine != null">
+            license_dead_line = #{licenseDeadLine},
+        </if>
+        <if test="licenseType != null">
+            license_type = #{licenseType},
+        </if>
+    </set>
+    where ID = #{id}
+</update>
+
+
+<!--根据patentNo专利号分页查询许可记录数据-->
+<!--;-->
+    <resultMap id="permissionRecordMap" type="cn.cslg.pas.domain.PermissionRecord">
+        <id column="id" property="id"/>
+        <result column="patent_no" property="patentNo"/>
+        <result column="licensor" property="licensor"/>
+        <result column="licensee" property="licensee"/>
+        <result column="licensee_country" property="licenseeCountry"/>
+        <result column="license_time" property="licenseTime"/>
+        <result column="license_fee" property="licenseFee"/>
+        <result column="license_dead_line" property="licenseDeadLine"/>
+        <result column="license_type" property="licenseType"/>
+        <result column="create_person_id" property="createPersonId"/>
+        <result column="create_person_name" property="createPersonName"/>
+        <result column="create_time" property="createTime"/>
+        <result column="modified_time" property="modifiedTime"/>
+    </resultMap>
+    <!--根据patentNo专利号分页查询许可记录数据-->
+    <!--;-->
+    <resultMap id="permissionRecordVOMap" type="cn.cslg.pas.common.model.vo.PermissionRecordVO">
+        <id column="id" property="id"/>
+        <result column="patent_no" property="patentNo"/>
+        <result column="licensor" property="licensor"/>
+        <result column="licensee" property="licensee"/>
+        <result column="licensee_country" property="licenseeCountry"/>
+        <result column="license_time" property="licenseTime"/>
+        <result column="license_fee" property="licenseFee"/>
+        <result column="license_dead_line" property="licenseDeadLine"/>
+        <result column="license_type" property="licenseType"/>
+    </resultMap>
+    <select id="queryAllInfo" resultMap="permissionRecordVOMap">
+        select id, patent_no, licensor, licensee, licensee_country, license_time,
+            license_fee, license_dead_line, license_type
+        from permission_record
+        where patent_no= #{patentNo}
+    </select>
+
+    <!--根据许可id统计数量-->
+    <!--int countById();-->
+    <select id="countById" resultType="int">
+        select count(*)
+        from permission_record
+    </select>
+
+
+<!--根据许可id删除数据-->
+<!--int delete(Integer id);-->
+<delete id="delete">
+    delete
+    from permission_record
+    where id = #{id}
+</delete>
+
+</mapper>