dcs 2 mesi fa
parent
commit
e2bb060138

+ 1 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/workark/controller/WxPayController.java

@@ -87,6 +87,7 @@ public class WxPayController {
             log.info("支付通知的id ===>" + requestId);
 
             //签名的验证
+            log.info(!wechatPayValidatorForRequest.payNotify(request));
             if(!wechatPayValidatorForRequest.payNotify(request)){
 
                 log.error("通知验签失败");

+ 5 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/workark/service/WechatPayValidatorForRequest.java

@@ -26,9 +26,12 @@ public class WechatPayValidatorForRequest {
         Transaction transaction;
         try {
             transaction = notificationParser.parse(WeChatUtil.handleNodifyRequestParam(request), Transaction.class);
+            log.info("state: " + transaction.getTradeState());
             if (transaction.getTradeState() == Transaction.TradeStateEnum.SUCCESS){
+                log.info("签名验证成功");
                 return true;
             }
+            log.info("签名验证失败");
             return false;
         } catch (ValidationException | IOException e) {
             // 签名验证失败
@@ -42,8 +45,10 @@ public class WechatPayValidatorForRequest {
         try {
             RefundNotification parse = notificationParser.parse(WeChatUtil.handleNodifyRequestParam(request), RefundNotification.class);
             if ("SUCCESS".equals(parse.getRefundStatus())){
+                log.info("通知验签成功");
                 return true;
             }
+            log.info("通知验签失败");
             return false;
         } catch (IOException e) {
             // 通知验签失败

+ 35 - 0
virgo.file/src/main/java/com/bosshand/virgo/file/controller/WorkarkContractController.java

@@ -5,6 +5,7 @@ import com.bosshand.virgo.exception.BadRequestException;
 import com.bosshand.virgo.exception.Constant;
 import com.bosshand.virgo.file.model.WorkarkContract;
 import com.bosshand.virgo.file.model.WorkarkContractPdf;
+import com.bosshand.virgo.file.model.WorkarkContractPdfSeal;
 import com.bosshand.virgo.file.service.WorkarkContractService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -18,6 +19,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URLEncoder;
+import java.util.List;
 
 @RestController
 @RequestMapping({"workarkContract"})
@@ -179,5 +181,38 @@ public class WorkarkContractController {
         }
     }
 
+    @ApiOperation("合同pdf印章列表")
+    @RequestMapping(value = "/pdfSeal/{pdfId}", method = RequestMethod.GET)
+    public Response getPdfSealList(@PathVariable long pdfId) {
+        return Response.ok(workarkContractService.getPdfSealList(pdfId));
+    }
+
+    @ApiOperation("合同pdf印章详情")
+    @RequestMapping(value = "/pdfSeal/details/{id}", method = RequestMethod.GET)
+    public Response getPdfSeal(@PathVariable long id) {
+        return Response.ok(workarkContractService.getPdfSeal(id));
+    }
+
+    @ApiOperation("合同pdf印章保存")
+    @RequestMapping(value = "/pdfSeal", method = RequestMethod.POST)
+    public Response insertPdfSeal(@RequestBody List<WorkarkContractPdfSeal> list) {
+        workarkContractService.insertPdfSeal(list);
+        return Response.ok();
+    }
+
+    @ApiOperation("合同pdf印章删除")
+    @RequestMapping(value = "/pdfSeal/{id}", method = RequestMethod.DELETE)
+    public Response deletePdfSeal(@PathVariable long id) {
+        workarkContractService.deletePdfSeal(id);
+        return Response.ok();
+    }
+
+    @ApiOperation("合同pdf印章更新")
+    @RequestMapping(value = "/pdfSeal", method = RequestMethod.PUT)
+    public Response updatePdfSeal(@RequestBody WorkarkContractPdfSeal workarkContractPdfSeal) {
+        workarkContractService.updatePdfSeal(workarkContractPdfSeal);
+        return Response.ok();
+    }
+
 
 }

+ 17 - 0
virgo.file/src/main/java/com/bosshand/virgo/file/dao/WorkarkContractPdfSealDao.java

@@ -0,0 +1,17 @@
+package com.bosshand.virgo.file.dao;
+
+import com.bosshand.virgo.file.model.WorkarkContractPdfSeal;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface WorkarkContractPdfSealDao {
+
+    List<WorkarkContractPdfSeal> getList(long pdfId);
+    WorkarkContractPdfSeal get(long id);
+    void insert(List<WorkarkContractPdfSeal> list);
+    void delete(long id);
+    void update(WorkarkContractPdfSeal workarkContractPdfSeal);
+
+}

+ 31 - 0
virgo.file/src/main/java/com/bosshand/virgo/file/model/WorkarkContractPdf.java

@@ -36,9 +36,24 @@ public class WorkarkContractPdf {
      */
     private Integer state;
 
+    /**
+     * 服务商盖章 state = 2
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date processDate;
+
+    /**
+     * 确认时间 state = 1
+     */
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date confirmDate;
+
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createDate;
 
+    /**
+     * 签约成功就和客户盖章 state = 3
+     */
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateDate;
 
@@ -107,6 +122,22 @@ public class WorkarkContractPdf {
         this.state = state;
     }
 
+    public Date getProcessDate() {
+        return processDate;
+    }
+
+    public void setProcessDate(Date processDate) {
+        this.processDate = processDate;
+    }
+
+    public Date getConfirmDate() {
+        return confirmDate;
+    }
+
+    public void setConfirmDate(Date confirmDate) {
+        this.confirmDate = confirmDate;
+    }
+
     public Date getCreateDate() {
         return createDate;
     }

+ 162 - 0
virgo.file/src/main/java/com/bosshand/virgo/file/model/WorkarkContractPdfSeal.java

@@ -0,0 +1,162 @@
+package com.bosshand.virgo.file.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+/**
+ * pdf盖章
+ */
+public class WorkarkContractPdfSeal {
+
+    private long id;
+
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createDate;
+
+    /**
+     * 图片地址
+     */
+    private String pictureAddress;
+
+    /**
+     * 图片宽
+     */
+    private int pictureWidth;
+
+    /**
+     * 图片高
+     */
+    private int pictureHeight;
+
+    /**
+     * 印章Id
+     */
+    private long sealId;
+
+    /**
+     * 所在pdf页码
+     */
+    private int pageSize;
+
+    /**
+     *  左边距离
+     */
+    private int pageLeft;
+
+    /**
+     * 上边距离
+     */
+    private int pageTop;
+
+    /**
+     * 合同pdfId
+     */
+    private long pdfId;
+
+    /**
+     * 组织id
+     */
+    private long organizationId;
+
+    /**
+     * 购买组织id
+     */
+    private long payOrganizationId;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
+    }
+
+    public String getPictureAddress() {
+        return pictureAddress;
+    }
+
+    public void setPictureAddress(String pictureAddress) {
+        this.pictureAddress = pictureAddress;
+    }
+
+    public int getPictureWidth() {
+        return pictureWidth;
+    }
+
+    public void setPictureWidth(int pictureWidth) {
+        this.pictureWidth = pictureWidth;
+    }
+
+    public int getPictureHeight() {
+        return pictureHeight;
+    }
+
+    public void setPictureHeight(int pictureHeight) {
+        this.pictureHeight = pictureHeight;
+    }
+
+    public long getSealId() {
+        return sealId;
+    }
+
+    public void setSealId(long sealId) {
+        this.sealId = sealId;
+    }
+
+    public int getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(int pageSize) {
+        this.pageSize = pageSize;
+    }
+
+    public int getPageLeft() {
+        return pageLeft;
+    }
+
+    public void setPageLeft(int pageLeft) {
+        this.pageLeft = pageLeft;
+    }
+
+    public int getPageTop() {
+        return pageTop;
+    }
+
+    public void setPageTop(int pageTop) {
+        this.pageTop = pageTop;
+    }
+
+    public long getPdfId() {
+        return pdfId;
+    }
+
+    public void setPdfId(long pdfId) {
+        this.pdfId = pdfId;
+    }
+
+    public long getOrganizationId() {
+        return organizationId;
+    }
+
+    public void setOrganizationId(long organizationId) {
+        this.organizationId = organizationId;
+    }
+
+    public long getPayOrganizationId() {
+        return payOrganizationId;
+    }
+
+    public void setPayOrganizationId(long payOrganizationId) {
+        this.payOrganizationId = payOrganizationId;
+    }
+}

+ 29 - 0
virgo.file/src/main/java/com/bosshand/virgo/file/service/WorkarkContractService.java

@@ -3,8 +3,10 @@ package com.bosshand.virgo.file.service;
 import com.bosshand.virgo.exception.ServiceException;
 import com.bosshand.virgo.file.dao.WorkarkContractDao;
 import com.bosshand.virgo.file.dao.WorkarkContractPdfDao;
+import com.bosshand.virgo.file.dao.WorkarkContractPdfSealDao;
 import com.bosshand.virgo.file.model.WorkarkContract;
 import com.bosshand.virgo.file.model.WorkarkContractPdf;
+import com.bosshand.virgo.file.model.WorkarkContractPdfSeal;
 import com.bosshand.virgo.file.util.AliyunOSSUtil;
 import com.bosshand.virgo.file.util.Doc2Pdf;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +28,9 @@ public class WorkarkContractService {
     @Autowired
     WorkarkContractPdfDao workarkContractPdfDao;
 
+    @Autowired
+    WorkarkContractPdfSealDao workarkContractPdfSealDao;
+
     public WorkarkContract create(InputStream is, String name, long organizationId) throws ServiceException {
         WorkarkContract contract = new WorkarkContract();
         contract.setName(name);
@@ -129,4 +134,28 @@ public class WorkarkContractService {
         WorkarkContractPdf workarkContractPdf = getWorkarkContractPdf(id);
         return AliyunOSSUtil.getByte(workarkContractPdf.getNode());
     }
+
+    //-------------------------------------------------------------------------------
+
+    public List<WorkarkContractPdfSeal> getPdfSealList(long pdfId){
+        return workarkContractPdfSealDao.getList(pdfId);
+    }
+
+    public WorkarkContractPdfSeal getPdfSeal(long id) {
+        return workarkContractPdfSealDao.get(id);
+    }
+
+    public void insertPdfSeal(List<WorkarkContractPdfSeal> list){
+        workarkContractPdfSealDao.insert(list);
+    }
+
+    public void deletePdfSeal(long id){
+        workarkContractPdfSealDao.delete(id);
+    }
+
+    public void updatePdfSeal(WorkarkContractPdfSeal workarkContractPdfSeal){
+        workarkContractPdfSealDao.update(workarkContractPdfSeal);
+    }
+
+
 }

+ 10 - 1
virgo.file/src/main/resources/mapper/WorkarkContractPdfMapper.xml

@@ -14,6 +14,8 @@
         <id column="payOrganizationId" property="payOrganizationId"/>
         <id column="state" property="state"/>
         <id column="name" property="name"/>
+        <id column="processDate" property="processDate"/>
+        <id column="confirmDate" property="confirmDate"/>
         <id column="createDate" property="createDate"/>
         <id column="updateDate" property="updateDate"/>
         <id column="node" property="node" typeHandler="com.bosshand.virgo.core.typehandler.BlobTypeHandler"/>
@@ -41,7 +43,14 @@
     </insert>
 
     <update id="update" parameterType="com.bosshand.virgo.file.model.WorkarkContractPdf">
-        update workark_contract_pdf set updateDate = now(), state = #{state} where id = #{id}
+        update workark_contract_pdf
+        <trim prefix="set" suffixOverrides=",">
+            <if test="state!=null">state = #{state},</if>
+            <if test="state==1">confirmDate = now(),</if>
+            <if test="state==2">processDate = now(),</if>
+            <if test="state==3">updateDate = now(),</if>
+        </trim>
+        where id = #{id}
     </update>
 
 </mapper>

+ 59 - 0
virgo.file/src/main/resources/mapper/WorkarkContractPdfSealMapper.xml

@@ -0,0 +1,59 @@
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.bosshand.virgo.file.dao.WorkarkContractPdfSealDao">
+
+    <resultMap type="com.bosshand.virgo.file.model.WorkarkContractPdfSeal" id="result" >
+        <id column="id" property="id"/>
+        <id column="pictureAddress" property="pictureAddress"/>
+        <id column="pictureWidth" property="pictureWidth"/>
+        <id column="pictureHeight" property="pictureHeight"/>
+        <id column="sealId" property="sealId"/>
+        <id column="pageSize" property="pageSize"/>
+        <id column="pageLeft" property="pageLeft"/>
+        <id column="pageTop" property="pageTop"/>
+        <id column="pdfId" property="pdfId"/>
+        <id column="organizationId" property="organizationId"/>
+        <id column="payOrganizationId" property="payOrganizationId"/>
+        <id column="createDate" property="createDate"/>
+    </resultMap>
+
+    <select id="get" resultMap="result">
+        select * from workark_contract_pdf_seal where id = #{id}
+    </select>
+
+    <select id="getList" resultMap="result">
+        select * from workark_contract_pdf_seal where pdfId = #{pdfId}
+    </select>
+
+    <insert id="insert" parameterType="com.bosshand.virgo.file.model.WorkarkContractPdfSeal" useGeneratedKeys="true" keyProperty="id">
+        INSERT into workark_contract_pdf_seal(createDate, pictureAddress, pictureWidth, pictureHeight, sealId, pageSize, pageLeft, pageTop, pdfId, organizationId, payOrganizationId) values
+        <foreach collection ="list" item="item" separator =",">
+            (now(), #{item.pictureAddress}, #{item.pictureWidth}, #{item.pictureHeight}, #{item.sealId}, #{item.pageSize}, #{item.pageLeft}, #{item.pageTop}, #{item.pdfId}, #{item.organizationId}, #{item.payOrganizationId})
+        </foreach>
+
+    </insert>
+
+    <delete id="delete">
+        delete from workark_contract_pdf_seal where id = #{id}
+    </delete>
+
+    <update id="update" parameterType="com.bosshand.virgo.file.model.WorkarkContractPdfSeal">
+        update workark_contract_pdf_seal
+        <trim prefix="set" suffixOverrides=",">
+            <if test="pictureAddress!=null">pictureAddress = #{pictureAddress},</if>
+            <if test="pictureWidth!=null">pictureWidth = #{pictureWidth},</if>
+            <if test="pictureHeight!=null">pictureHeight = #{pictureHeight},</if>
+            <if test="pageSize!=0">pageSize = #{pageSize},</if>
+            <if test="pageLeft!=0">pageLeft = #{pageLeft},</if>
+            <if test="pageTop!=0">pageTop = #{pageTop},</if>
+            <if test="pdfId!=0">pdfId = #{pdfId},</if>
+            <if test="organizationId!=0">organizationId = #{organizationId},</if>
+            <if test="payOrganizationId!=0">payOrganizationId = #{payOrganizationId},</if>
+            <if test="sealId!=0">sealId = #{sealId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+</mapper>