Procházet zdrojové kódy

还款登记完成后给发送发送消息并删除待办及消息

ch před 3 roky
rodič
revize
f3e000709a

+ 114 - 0
sc-service/src/main/java/com/huyi/service/base/entity/SysNotice.java

@@ -0,0 +1,114 @@
+package com.huyi.service.base.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 消息通知表
+ * </p>
+ *
+ * @author xuefy
+ * @since 2021-09-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("sys_notice")
+public class SysNotice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 消息ID
+     */
+    @TableId("notice_id")
+    private String noticeId;
+
+    /**
+     * 公司id
+     */
+    @TableField("company_id")
+    private String companyId;
+
+    /**
+     * 关联表主键
+     */
+    @TableField("table_id")
+    private String tableId;
+
+    /**
+     * 公告标题
+     */
+    @TableField("notice_title")
+    private String noticeTitle;
+
+    /**
+     * 00:待办,01:消息提醒
+     */
+    @TableField("type")
+    private String type;
+
+    /**
+     * 消息提醒类型(00:平台欢迎信, 01:发起人审批结果通知, 02:经办人的平台审批结果通知, 03:融资企业经办人融信失效消息通知, 04:融资企业经办人融信生效消息通知)
+     */
+    @TableField("notice_type")
+    private String noticeType;
+
+    /**
+     * 待办类型:(00:融信审批待审批, 01:审批拒绝待编辑, 02:核心企业待确权, 03:待盖章, 04:待签收, 05:待融资, 06:待还款)
+     */
+    @TableField("work_type")
+    private String workType;
+
+    /**
+     * 状态(0待办 1已办)
+     */
+    @TableField("status")
+    private String status;
+
+    /**
+     * 是否短信提醒(0:不提醒, 1:提醒)
+     */
+    @TableField("message_send")
+    private String messageSend;
+
+    /**
+     * 已发短信ID
+     */
+    @TableField("message_id")
+    private String messageId;
+
+    /**
+     * 短信模板
+     */
+    @TableField("message_code")
+    private String messageCode;
+
+    /**
+     * 短信发送状态(0:未发送 1:已发送)
+     */
+    @TableField("message_status")
+    private String messageStatus;
+
+    /**
+     * 备注
+     */
+    @TableField("remark")
+    private String remark;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_time")
+    private Date createTime;
+
+
+}

+ 16 - 0
sc-service/src/main/java/com/huyi/service/base/mapper/SysNoticeMapper.java

@@ -0,0 +1,16 @@
+package com.huyi.service.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huyi.service.base.entity.SysNotice;
+
+/**
+ * <p>
+ * 消息通知表 Mapper 接口
+ * </p>
+ *
+ * @author xuefy
+ * @since 2021-09-08
+ */
+public interface SysNoticeMapper extends BaseMapper<SysNotice> {
+
+}

+ 57 - 0
sc-service/src/main/java/com/huyi/service/base/service/ISysNoticeService.java

@@ -0,0 +1,57 @@
+package com.huyi.service.base.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huyi.service.base.entity.SysNotice;
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
+
+import java.util.List;
+
+/**
+ * ClassName: ISysNoticeService<br>
+ * Description: SysNoticeService接口 <br>
+ * Company: keao
+ *
+ * @author xuefy
+ * @version v1.0.0    2021-09-08  xuefy    由Generator自动创建
+ */
+public interface ISysNoticeService extends IService<SysNotice> {
+    /**
+     * 查询(分页)
+     *
+     * @param request QueryRequest
+     * @param wrapper LambdaQueryWrapper<SysNotice>
+     * @return IPage<SysNotice>
+     */
+    IPage<SysNotice> findSysNotices(QueryRequest request, LambdaQueryWrapper<SysNotice> wrapper);
+
+    /**
+     * 查询(所有)
+     *
+     * @param wrapper LambdaQueryWrapper<SysNotice>
+     * @return List<SysNotice>
+     */
+    List<SysNotice> findSysNotices(LambdaQueryWrapper<SysNotice> wrapper);
+
+    /**
+     * 新增
+     *
+     * @param sysNotice sysNotice
+     */
+    void createSysNotice(SysNotice sysNotice);
+
+    /**
+     * 修改
+     *
+     * @param sysNotice sysNotice
+     */
+    void updateSysNotice(SysNotice sysNotice);
+
+    /**
+     * 删除
+     *
+     * @param wrapper LambdaQueryWrapper<SysNotice>
+     */
+    void deleteSysNotice(LambdaQueryWrapper<SysNotice> wrapper);
+}

+ 61 - 0
sc-service/src/main/java/com/huyi/service/base/service/impl/SysNoticeServiceImpl.java

@@ -0,0 +1,61 @@
+package com.huyi.service.base.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huyi.service.base.entity.SysNotice;
+import com.huyi.service.base.mapper.SysNoticeMapper;
+import com.huyi.service.base.service.ISysNoticeService;
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * ClassName: SysNoticeServiceImpl<br>
+ * Description: ISysNoticeService实现 <br>
+ * Company: keao
+ *
+ * @author xuefy
+ * @version v1.0.0    2021-09-08  xuefy    由Generator自动创建
+ */
+@Service
+@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
+public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice> implements ISysNoticeService {
+
+    @Autowired
+    private SysNoticeMapper sysNoticeMapper;
+
+    @Override
+    public IPage<SysNotice> findSysNotices(QueryRequest request, LambdaQueryWrapper<SysNotice> wrapper) {
+        Page<SysNotice> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return this.page(page, wrapper);
+    }
+
+    @Override
+    public List<SysNotice> findSysNotices(LambdaQueryWrapper<SysNotice> wrapper) {
+		return this.list(wrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void createSysNotice(SysNotice sysNotice) {
+        this.save(sysNotice);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateSysNotice(SysNotice sysNotice) {
+        this.saveOrUpdate(sysNotice);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteSysNotice(LambdaQueryWrapper<SysNotice> wrapper) {
+	    this.remove(wrapper);
+	}
+}

+ 71 - 8
sc-service/src/main/java/com/huyi/service/repayment/controller/repaymentController.java

@@ -1,13 +1,13 @@
 package com.huyi.service.repayment.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.deepoove.poi.XWPFTemplate;
-import com.huyi.service.base.entity.ZcFinanceInf;
-import com.huyi.service.base.entity.ZcFinanceRecord;
-import com.huyi.service.base.service.IZcFinanceInfService;
-import com.huyi.service.base.service.IZcFinanceRecordService;
+import com.huyi.service.base.entity.*;
+import com.huyi.service.base.service.*;
 import com.huyi.service.repayment.service.IOwnRepaymentService;
+import com.keao.tianhu.core.util.AmtUtil;
 import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
 import com.tianhu.common.core.domain.R;
 import com.tianhu.common.core.utils.CommonUtil;
@@ -22,6 +22,7 @@ import com.tianhu.common.redis.domain.SysDictData;
 import com.tianhu.common.security.annotation.PreAuthorize;
 import com.tianhu.common.security.service.TokenService;
 import com.tianhu.system.api.RemoteConfigService;
+import com.tianhu.system.api.RemoteSystemService;
 import com.tianhu.system.api.domain.SysUser;
 import org.apache.commons.io.FileUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -60,6 +61,15 @@ public class repaymentController extends BaseController {
     private IZcFinanceInfService zcFinanceInfService;
     @Autowired
     private TokenService tokenService;
+    @Autowired
+    private RemoteSystemService remoteSystemService;
+    @Autowired
+    private ISysCompanyService sysCompanyService;
+    @Autowired
+    private ISysUserCompanyRelService sysUserCompanyRelService;
+    @Autowired
+    private ISysNoticeService sysNoticeService;
+
     /**
      * 查询全部还款列表
      * @param type
@@ -342,7 +352,7 @@ public class repaymentController extends BaseController {
     @PreAuthorize(hasPermi = "service:repayment:edit")
     @Log(title = "还款登记", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult RepaymentRegistration(@RequestBody Map map){
+    public void RepaymentRegistration(@RequestBody Map map){
         //附件url
         List<Map<String, String>> file = (List<Map<String, String>>) map.get("zfrApplyFile");
 //        if(file.size() == 0){
@@ -371,19 +381,72 @@ public class repaymentController extends BaseController {
         //修改融资状态为已结算
         zcFinanceRecord.setZfrStatus("03");
         //修改还款状态为已还款
-        zcFinanceRecord.setZfrApplyFile("01");
+        zcFinanceRecord.setZfrApplyStatus("01");
         //更新实际还款日期
         zcFinanceRecord.setZfrPayDate(DateUtils.getNowDate());
         zcFinanceRecordService.updateZcFinanceRecord(zcFinanceRecord);
         //融信Id
         ZcFinanceRecord record = zcFinanceRecordService.getById(zfrId);
         String zfiId = record.getZfrFinanceId();
-        //修改融信状态失效
+        //修改融信状态失效
         ZcFinanceInf zcFinanceInf = new ZcFinanceInf();
         zcFinanceInf.setZfiId(zfiId);
         zcFinanceInf.setZfiStatus("03");
         zcFinanceInfService.updateZcFinanceInf(zcFinanceInf);
-        return null;
+        //给本企业经办人还款成功提醒
+        //融资金额
+        String amount = record.getZfrLoanAmount();
+        //融信编号
+        String number = zcFinanceInf.getZfiNumber();
+        //核心企业
+        String coreCompany = zcFinanceInf.getZfiCoreId();
+        //核心企业经办人
+        String user = "";
+        LambdaQueryWrapper<SysUserCompanyRel> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SysUserCompanyRel::getSucrCompanyId,coreCompany);
+        queryWrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+        List<SysUserCompanyRel> sysUserCompanyRel = sysUserCompanyRelService.findSysUserCompanyRels(queryWrapper);
+        user = CommonUtil.objToString(sysUserCompanyRel.get(0).getSucrUserId());
+        //融资企业
+        String company = zcFinanceInf.getZfiSupplierId();
+        //融资企业经办人
+        String handler = "";
+        LambdaQueryWrapper<SysUserCompanyRel> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysUserCompanyRel::getSucrCompanyId,company);
+        wrapper.eq(SysUserCompanyRel::getSucrHandler,"1");
+        List<SysUserCompanyRel> userCompanyRel = sysUserCompanyRelService.findSysUserCompanyRels(wrapper);
+        handler = CommonUtil.objToString(userCompanyRel.get(0).getSucrUserId());
+        //企业名称
+        SysCompany sysCompany = sysCompanyService.getById(company);
+        String companyName = sysCompany.getScyName();
+        //融信创建 0:供应商申请, 1:核心企业开立, 2:供应商开立
+        String createType = zcFinanceInf.getZfiCreateType();
+        if("2".equals(createType)){
+            LambdaQueryWrapper<SysNotice> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+            lambdaQueryWrapper.eq(SysNotice::getTableId,zfrId);
+            lambdaQueryWrapper.eq(SysNotice::getCompanyId,company);
+            lambdaQueryWrapper.eq(SysNotice::getStatus,"0");
+            List<SysNotice> list = sysNoticeService.findSysNotices(lambdaQueryWrapper);
+            for(SysNotice notice :list){
+                notice.setStatus("2");
+                sysNoticeService.updateSysNotice(notice);
+            }
+            String title = "【还款成功】您开立给【"+companyName+"】的一笔【"+amount+"】(大写:"+AmtUtil.convert(amount)+")的融信【"+ number +"】,已还款成功!";
+            remoteSystemService.sendNotice(company,zfrId,title,"01","07","","0",user,"");
+        }else {
+            LambdaQueryWrapper<SysNotice> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+            lambdaQueryWrapper.eq(SysNotice::getTableId,zfrId);
+            lambdaQueryWrapper.eq(SysNotice::getCompanyId,coreCompany);
+            lambdaQueryWrapper.eq(SysNotice::getStatus,"0");
+            List<SysNotice> list = sysNoticeService.findSysNotices(lambdaQueryWrapper);
+            for(SysNotice notice :list){
+                notice.setStatus("2");
+                sysNoticeService.updateSysNotice(notice);
+            }
+            String title = "【还款成功】您开立给【"+companyName+"】的一笔【"+amount+"】(大写:"+AmtUtil.convert(amount)+")的融信【"+ number +"】,已还款成功!";
+            remoteSystemService.sendNotice(coreCompany,zfrId,title,"01","07","","0",handler,"");
+        }
+
     }
 
     /**

+ 23 - 0
sc-service/src/main/resources/mapper/base/SysNoticeMapper.xml

@@ -0,0 +1,23 @@
+<?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="com.huyi.service.base.mapper.SysNoticeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huyi.service.base.entity.SysNotice">
+        <id column="notice_id" property="noticeId" />
+        <result column="company_id" property="companyId" />
+        <result column="table_id" property="tableId" />
+        <result column="notice_title" property="noticeTitle" />
+        <result column="type" property="type" />
+        <result column="notice_type" property="noticeType" />
+        <result column="work_type" property="workType" />
+        <result column="status" property="status" />
+        <result column="message_send" property="messageSend" />
+        <result column="message_id" property="messageId" />
+        <result column="message_code" property="messageCode" />
+        <result column="message_status" property="messageStatus" />
+        <result column="remark" property="remark" />
+        <result column="create_time" property="createTime" />
+    </resultMap>
+
+</mapper>

+ 2 - 2
sc-service/src/main/resources/mapper/financeProduct/OwnFinanceProductMapper.xml

@@ -44,10 +44,10 @@
             <if test="paramMap.scyName != null  and paramMap.scyName != ''">
                 AND s.scy_name LIKE concat('%', #{paramMap.scyName}, '%')
             </if>
-            <if test="paramMap.begin != null  and paramMap.begin != ''">
+            <if test="paramMap.begin != null  and paramMap.begin != ''  or paramMap.begin==0 ">
                 and z.zfp_shortest_period >= #{paramMap.begin}
             </if>
-            <if test="paramMap.end != null  and paramMap.end != ''">
+            <if test="paramMap.end != null  and paramMap.end != '' or paramMap.end==0 ">
                 <![CDATA[
                         and z.zfp_shortest_period <= #{paramMap.end}
                         ]]>