Просмотр исходного кода

增加-定时获取收款记录方法

cgp 1 месяц назад
Родитель
Сommit
686bd74292

+ 21 - 0
fs-admin/src/main/java/com/fs/his/task/Task.java

@@ -108,6 +108,7 @@ import org.springframework.stereotype.Component;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.OffsetDateTime;
 import java.time.OffsetDateTime;
+import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeUnit;
@@ -309,6 +310,9 @@ public class Task {
     @Autowired
     @Autowired
     private IFsImportMemberService fsImportMemberService;
     private IFsImportMemberService fsImportMemberService;
 
 
+    @Autowired
+    private IFsCompanyExternalPayReceiptService companyExternalPayReceiptService;
+
     public static final String SOP_TEMP_VOICE_KEY = "sop:tempVoice";
     public static final String SOP_TEMP_VOICE_KEY = "sop:tempVoice";
 
 
     // sop升单客户类型
     // sop升单客户类型
@@ -2546,4 +2550,21 @@ public class Task {
         }
         }
     }
     }
 
 
+    /**
+     * 定时拉取企业微信对外收款记录
+     * */
+    public void pullWxPaymentRecord(){
+        QwCompany qwCompany=new QwCompany();
+        //获取所有启用的微信企业列表
+        List<QwCompany> qwCompanyList = qwCompanyService.selectQwCompanyList(qwCompany);
+        // 当前时间(东八区)
+        LocalDateTime now = LocalDateTime.now(ZoneOffset.ofHours(8));
+        // 前一天 00:00:00
+        LocalDateTime start = now.minusDays(1).withHour(0).withMinute(0).withSecond(0);
+
+        long beginTime = start.toEpochSecond(ZoneOffset.ofHours(8));
+        long endTime = now.toEpochSecond(ZoneOffset.ofHours(8));
+        companyExternalPayReceiptService.syncReceipts(beginTime,endTime,null,qwCompanyList);
+    }
+
 }
 }

+ 21 - 3
fs-company/src/main/java/com/fs/company/controller/qw/FsCompanyExternalPayReceiptController.java

@@ -2,13 +2,19 @@ package com.fs.company.controller.qw;
 
 
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.AjaxResult;
+import com.fs.qw.domain.QwCompany;
 import com.fs.qw.service.IFsCompanyExternalPayReceiptService;
 import com.fs.qw.service.IFsCompanyExternalPayReceiptService;
+import com.fs.qw.service.IQwCompanyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+import java.util.List;
+
 @RestController
 @RestController
 @RequestMapping("/admin/pay/receipt")
 @RequestMapping("/admin/pay/receipt")
 public class FsCompanyExternalPayReceiptController extends BaseController {
 public class FsCompanyExternalPayReceiptController extends BaseController {
@@ -16,12 +22,24 @@ public class FsCompanyExternalPayReceiptController extends BaseController {
     @Autowired
     @Autowired
     private IFsCompanyExternalPayReceiptService receiptService;
     private IFsCompanyExternalPayReceiptService receiptService;
 
 
+    @Autowired
+    private IQwCompanyService qwCompanyService;
+
     @GetMapping("/sync")
     @GetMapping("/sync")
     public AjaxResult sync(@RequestParam Long beginTime,
     public AjaxResult sync(@RequestParam Long beginTime,
                            @RequestParam Long endTime,
                            @RequestParam Long endTime,
-                           @RequestParam(required = false) String payeeUserid,
-                           @RequestParam String corpId) {
-        receiptService.syncReceipts(beginTime, endTime, payeeUserid,corpId);
+                           @RequestParam(required = false) String payeeUserid) {
+        QwCompany qwCompany=new QwCompany();
+        //获取所有启用的微信企业列表
+        List<QwCompany> qwCompanyList = qwCompanyService.selectQwCompanyList(qwCompany);
+//        // 当前时间(东八区)
+//        LocalDateTime now = LocalDateTime.now(ZoneOffset.ofHours(8));
+//        // 前一天 00:00:00
+//        LocalDateTime start = now.minusDays(1).withHour(0).withMinute(0).withSecond(0);
+//
+//        long beginTime = start.toEpochSecond(ZoneOffset.ofHours(8));
+//        long endTime = now.toEpochSecond(ZoneOffset.ofHours(8));
+        receiptService.syncReceipts(beginTime, endTime, payeeUserid,qwCompanyList);
         return AjaxResult.success("同步完成");
         return AjaxResult.success("同步完成");
     }
     }
 }
 }

+ 10 - 0
fs-service/src/main/java/com/fs/qw/domain/FsCompanyExternalPayReceipt.java

@@ -104,6 +104,16 @@ public class FsCompanyExternalPayReceipt extends BaseEntity {
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;
     private Date updateTime;
 
 
+    /**
+     * 企业CorpID
+     */
+    private String corpId;
+
+    /**
+     * 企业名称
+     */
+    private String corpName;
+
     // ========== 以下为查询条件扩展字段(非数据库字段) ==========
     // ========== 以下为查询条件扩展字段(非数据库字段) ==========
 
 
     /**
     /**

+ 10 - 0
fs-service/src/main/java/com/fs/qw/domain/FsCompanyExternalPayRefund.java

@@ -96,4 +96,14 @@ public class FsCompanyExternalPayRefund extends BaseEntity {
      */
      */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Date updateTime;
     private Date updateTime;
+
+    /**
+     * 企业CorpID
+     */
+    private String corpId;
+
+    /**
+     * 企业名称
+     */
+    private String corpName;
 }
 }

+ 2 - 1
fs-service/src/main/java/com/fs/qw/service/IFsCompanyExternalPayReceiptService.java

@@ -1,13 +1,14 @@
 package com.fs.qw.service;
 package com.fs.qw.service;
 
 
 import com.fs.qw.domain.FsCompanyExternalPayReceipt;
 import com.fs.qw.domain.FsCompanyExternalPayReceipt;
+import com.fs.qw.domain.QwCompany;
 
 
 import java.util.List;
 import java.util.List;
 
 
 public interface IFsCompanyExternalPayReceiptService {
 public interface IFsCompanyExternalPayReceiptService {
 
 
     // 同步收款记录(定时任务同步或手动同步)
     // 同步收款记录(定时任务同步或手动同步)
-    void syncReceipts(Long beginTime, Long endTime, String payeeUserid,String corpId);
+    void syncReceipts(Long beginTime, Long endTime, String payeeUserid,List<QwCompany> qwCompanyList);
 
 
     // 查询收款记录(查数据库)
     // 查询收款记录(查数据库)
     List<FsCompanyExternalPayReceipt> queryReceipts(FsCompanyExternalPayReceipt receipt);
     List<FsCompanyExternalPayReceipt> queryReceipts(FsCompanyExternalPayReceipt receipt);

+ 37 - 34
fs-service/src/main/java/com/fs/qw/service/impl/FsCompanyExternalPayReceiptServiceImpl.java

@@ -2,6 +2,7 @@ package com.fs.qw.service.impl;
 
 
 import com.fs.qw.domain.FsCompanyExternalPayReceipt;
 import com.fs.qw.domain.FsCompanyExternalPayReceipt;
 import com.fs.qw.domain.FsCompanyExternalPayRefund;
 import com.fs.qw.domain.FsCompanyExternalPayRefund;
+import com.fs.qw.domain.QwCompany;
 import com.fs.qw.dto.ReceiptDto;
 import com.fs.qw.dto.ReceiptDto;
 import com.fs.qw.mapper.FsCompanyExternalPayReceiptMapper;
 import com.fs.qw.mapper.FsCompanyExternalPayReceiptMapper;
 import com.fs.qw.mapper.FsCompanyExternalPayRefundMapper;
 import com.fs.qw.mapper.FsCompanyExternalPayRefundMapper;
@@ -33,46 +34,48 @@ public class FsCompanyExternalPayReceiptServiceImpl implements IFsCompanyExterna
     // 同步收、退款记录(定时任务同步或手动同步)
     // 同步收、退款记录(定时任务同步或手动同步)
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public void syncReceipts(Long beginTime, Long endTime, String payeeUserid, String corpId) {
-        List<ReceiptDto> receiptList = weWorkPayService.fetchAllReceipts(beginTime, endTime, payeeUserid, corpId);
-        if (CollectionUtils.isEmpty(receiptList)) {
-            log.info("没有需要同步的记录");
-            return;
-        }
+    public void syncReceipts(Long beginTime, Long endTime, String payeeUserid, List<QwCompany> qwCompanyList) {
+        for (QwCompany qwCompany : qwCompanyList) {
+            List<ReceiptDto> receiptList = weWorkPayService.fetchAllReceipts(beginTime, endTime, payeeUserid, qwCompany.getCorpId());
+            if (CollectionUtils.isEmpty(receiptList)) {
+                log.info("{}:没有需要同步的记录", qwCompany.getCorpName());
+                return;
+            }
 
 
-        for (ReceiptDto dto : receiptList) {
-            if (dto.getBillType() == 0) {
-                // 收款记录
-                FsCompanyExternalPayReceipt entity = new FsCompanyExternalPayReceipt();
-                BeanUtils.copyProperties(dto, entity);
-                entity.setTotalFee(MoneyUtils.centToYuan(dto.getTotalFee()));
-                entity.setTotalRefundFee(MoneyUtils.centToYuan(dto.getTotalRefundFee()));
+            for (ReceiptDto dto : receiptList) {
+                if (dto.getBillType() == 0) {
+                    // 收款记录
+                    FsCompanyExternalPayReceipt entity = new FsCompanyExternalPayReceipt();
+                    BeanUtils.copyProperties(dto, entity);
+                    entity.setTotalFee(MoneyUtils.centToYuan(dto.getTotalFee()));
+                    entity.setTotalRefundFee(MoneyUtils.centToYuan(dto.getTotalRefundFee()));
 
 
-                FsCompanyExternalPayReceipt exist = receiptMapper.selectByTransactionId(dto.getTransactionId());
-                if (exist == null) {
-                    receiptMapper.insertFsCompanyExternalPayReceipt(entity);
-                } else {
-                    entity.setId(exist.getId());
-                    receiptMapper.updateFsCompanyExternalPayReceipt(entity);
-                }
-            } else if (dto.getBillType() == 1) {
-                // 退款记录
-                FsCompanyExternalPayRefund refund = new FsCompanyExternalPayRefund();
-                // 复制同名同类型字段
-                BeanUtils.copyProperties(dto, refund);
-                // 单独处理金额(分转元)
-                refund.setRefundFee(MoneyUtils.centToYuan(dto.getRefundFee()));
+                    FsCompanyExternalPayReceipt exist = receiptMapper.selectByTransactionId(dto.getTransactionId());
+                    if (exist == null) {
+                        receiptMapper.insertFsCompanyExternalPayReceipt(entity);
+                    } else {
+                        entity.setId(exist.getId());
+                        receiptMapper.updateFsCompanyExternalPayReceipt(entity);
+                    }
+                } else if (dto.getBillType() == 1) {
+                    // 退款记录
+                    FsCompanyExternalPayRefund refund = new FsCompanyExternalPayRefund();
+                    // 复制同名同类型字段
+                    BeanUtils.copyProperties(dto, refund);
+                    // 单独处理金额(分转元)
+                    refund.setRefundFee(MoneyUtils.centToYuan(dto.getRefundFee()));
 
 
-                FsCompanyExternalPayRefund existRefund = refundMapper.selectByTransactionId(dto.getTransactionId());
-                if (existRefund == null) {
-                    refundMapper.insertRefund(refund);
-                } else {
-                    refund.setId(existRefund.getId());
-                    refundMapper.updateRefund(refund);
+                    FsCompanyExternalPayRefund existRefund = refundMapper.selectByTransactionId(dto.getTransactionId());
+                    if (existRefund == null) {
+                        refundMapper.insertRefund(refund);
+                    } else {
+                        refund.setId(existRefund.getId());
+                        refundMapper.updateRefund(refund);
+                    }
                 }
                 }
             }
             }
+            log.info("{}:同步完成,共处理 {} 条记录",qwCompany.getCorpName(), receiptList.size());
         }
         }
-        log.info("同步完成,共处理 {} 条记录", receiptList.size());
     }
     }
 
 
     @Override
     @Override

+ 5 - 5
fs-service/src/main/java/com/fs/qw/service/impl/WeWorkExternalPayService.java

@@ -10,14 +10,10 @@ import com.fs.qw.service.IQwCompanyService;
 import com.fs.qwApi.service.QwApiService;
 import com.fs.qwApi.service.QwApiService;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 /**
 /**
  * 企业微信对外收款服务(调用获取收款记录接口)
  * 企业微信对外收款服务(调用获取收款记录接口)
@@ -42,6 +38,10 @@ public class WeWorkExternalPayService {
     public List<ReceiptDto> fetchAllReceipts(Long beginTime, Long endTime, String payeeUserid,String corpId) {
     public List<ReceiptDto> fetchAllReceipts(Long beginTime, Long endTime, String payeeUserid,String corpId) {
         QwCompany qwCompany = iQwCompanyService.selectQwCompanyByCorpId(corpId);
         QwCompany qwCompany = iQwCompanyService.selectQwCompanyByCorpId(corpId);
         String openSecret = qwCompany.getOpenSecret();
         String openSecret = qwCompany.getOpenSecret();
+        if (StringUtils.isEmpty(openSecret)) {
+            log.error("企业:{}未配置openSecret,跳过拉取收款记录",qwCompany.getCorpName());
+            return Collections.emptyList();
+        }
 
 
         List<ReceiptDto> allReceipts = new ArrayList<>();
         List<ReceiptDto> allReceipts = new ArrayList<>();
         String cursor = null;
         String cursor = null;

+ 15 - 4
fs-service/src/main/resources/mapper/qw/FsCompanyExternalPayReceiptMapper.xml

@@ -22,13 +22,16 @@
         <result property="miniprogramInfo"   column="miniprogram_info"   />
         <result property="miniprogramInfo"   column="miniprogram_info"   />
         <result property="createTime"        column="create_time"        />
         <result property="createTime"        column="create_time"        />
         <result property="updateTime"        column="update_time"        />
         <result property="updateTime"        column="update_time"        />
+        <result property="corpId"            column="corp_id"            />
+        <result property="corpName"          column="corp_name"          />
     </resultMap>
     </resultMap>
 
 
     <sql id="selectFsCompanyExternalPayReceiptVo">
     <sql id="selectFsCompanyExternalPayReceiptVo">
         select id, transaction_id, trade_state, pay_time, out_trade_no,
         select id, transaction_id, trade_state, pay_time, out_trade_no,
                external_userid, total_fee, payee_userid, payment_type,
                external_userid, total_fee, payee_userid, payment_type,
                mch_id, remark, total_refund_fee, commodity_list,
                mch_id, remark, total_refund_fee, commodity_list,
-               contact_info, miniprogram_info, create_time, update_time
+               contact_info, miniprogram_info, create_time, update_time,
+               corp_id, corp_name
         from fs_company_external_pay_receipt
         from fs_company_external_pay_receipt
     </sql>
     </sql>
 
 
@@ -109,6 +112,8 @@
             <if test="commodityList != null">commodity_list,</if>
             <if test="commodityList != null">commodity_list,</if>
             <if test="contactInfo != null">contact_info,</if>
             <if test="contactInfo != null">contact_info,</if>
             <if test="miniprogramInfo != null">miniprogram_info,</if>
             <if test="miniprogramInfo != null">miniprogram_info,</if>
+            <if test="corpId != null">corp_id,</if>
+            <if test="corpName != null">corp_name,</if>
             create_time, update_time
             create_time, update_time
         </trim>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -126,24 +131,28 @@
             <if test="commodityList != null">#{commodityList},</if>
             <if test="commodityList != null">#{commodityList},</if>
             <if test="contactInfo != null">#{contactInfo},</if>
             <if test="contactInfo != null">#{contactInfo},</if>
             <if test="miniprogramInfo != null">#{miniprogramInfo},</if>
             <if test="miniprogramInfo != null">#{miniprogramInfo},</if>
+            <if test="corpId != null">#{corpId},</if>
+            <if test="corpName != null">#{corpName},</if>
             sysdate(), sysdate()
             sysdate(), sysdate()
         </trim>
         </trim>
     </insert>
     </insert>
 
 
-    <!-- 批量新增 -->
+    <!-- 批量新增(固定列,允许空值;若需完全跳过空字段,请循环调用单条动态插入) -->
     <insert id="insertBatchFsCompanyExternalPayReceipt" parameterType="list">
     <insert id="insertBatchFsCompanyExternalPayReceipt" parameterType="list">
         insert into fs_company_external_pay_receipt (
         insert into fs_company_external_pay_receipt (
         transaction_id, trade_state, pay_time, out_trade_no,
         transaction_id, trade_state, pay_time, out_trade_no,
         external_userid, total_fee, payee_userid, payment_type,
         external_userid, total_fee, payee_userid, payment_type,
         mch_id, remark, total_refund_fee, commodity_list,
         mch_id, remark, total_refund_fee, commodity_list,
-        contact_info, miniprogram_info, create_time, update_time
+        contact_info, miniprogram_info, corp_id, corp_name,
+        create_time, update_time
         ) values
         ) values
         <foreach collection="list" item="item" separator=",">
         <foreach collection="list" item="item" separator=",">
             (
             (
             #{item.transactionId}, #{item.tradeState}, #{item.payTime}, #{item.outTradeNo},
             #{item.transactionId}, #{item.tradeState}, #{item.payTime}, #{item.outTradeNo},
             #{item.externalUserid}, #{item.totalFee}, #{item.payeeUserid}, #{item.paymentType},
             #{item.externalUserid}, #{item.totalFee}, #{item.payeeUserid}, #{item.paymentType},
             #{item.mchId}, #{item.remark}, #{item.totalRefundFee}, #{item.commodityList},
             #{item.mchId}, #{item.remark}, #{item.totalRefundFee}, #{item.commodityList},
-            #{item.contactInfo}, #{item.miniprogramInfo}, sysdate(), sysdate()
+            #{item.contactInfo}, #{item.miniprogramInfo}, #{item.corpId}, #{item.corpName},
+            sysdate(), sysdate()
             )
             )
         </foreach>
         </foreach>
     </insert>
     </insert>
@@ -166,6 +175,8 @@
             <if test="commodityList != null">commodity_list = #{commodityList},</if>
             <if test="commodityList != null">commodity_list = #{commodityList},</if>
             <if test="contactInfo != null">contact_info = #{contactInfo},</if>
             <if test="contactInfo != null">contact_info = #{contactInfo},</if>
             <if test="miniprogramInfo != null">miniprogram_info = #{miniprogramInfo},</if>
             <if test="miniprogramInfo != null">miniprogram_info = #{miniprogramInfo},</if>
+            <if test="corpId != null">corp_id = #{corpId},</if>
+            <if test="corpName != null">corp_name = #{corpName},</if>
             update_time = sysdate()
             update_time = sysdate()
         </set>
         </set>
         where id = #{id}
         where id = #{id}

+ 44 - 12
fs-service/src/main/resources/mapper/qw/FsCompanyExternalPayRefundMapper.xml

@@ -19,25 +19,55 @@
         <result property="payTime"          column="pay_time"          />
         <result property="payTime"          column="pay_time"          />
         <result property="createTime"       column="create_time"       />
         <result property="createTime"       column="create_time"       />
         <result property="updateTime"       column="update_time"       />
         <result property="updateTime"       column="update_time"       />
+        <result property="corpId"           column="corp_id"           />
+        <result property="corpName"         column="corp_name"         />
     </resultMap>
     </resultMap>
 
 
     <sql id="Base_Column_List">
     <sql id="Base_Column_List">
-        id, transaction_id, out_trade_no, out_refund_no, refund_userid, refund_comment,
-        refund_reqtime, refund_status, refund_fee, external_userid, payee_userid,
-        payment_type, mch_id, pay_time, create_time, update_time
+        select id, transaction_id, out_trade_no, out_refund_no, refund_userid, refund_comment,
+               refund_reqtime, refund_status, refund_fee, external_userid, payee_userid,
+               payment_type, mch_id, pay_time, create_time, update_time, corp_id, corp_name
+        from fs_company_external_pay_refund
     </sql>
     </sql>
 
 
+    <!-- 动态插入:仅插入非 NULL 字段 -->
     <insert id="insertRefund" parameterType="com.fs.qw.domain.FsCompanyExternalPayRefund" useGeneratedKeys="true" keyProperty="id">
     <insert id="insertRefund" parameterType="com.fs.qw.domain.FsCompanyExternalPayRefund" useGeneratedKeys="true" keyProperty="id">
         insert into fs_company_external_pay_refund
         insert into fs_company_external_pay_refund
         <trim prefix="(" suffix=")" suffixOverrides=",">
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            transaction_id, out_trade_no, out_refund_no, refund_userid, refund_comment,
-            refund_reqtime, refund_status, refund_fee, external_userid, payee_userid,
-            payment_type, mch_id, pay_time, create_time, update_time
+            <if test="transactionId != null">transaction_id,</if>
+            <if test="outTradeNo != null">out_trade_no,</if>
+            <if test="outRefundNo != null">out_refund_no,</if>
+            <if test="refundUserid != null">refund_userid,</if>
+            <if test="refundComment != null">refund_comment,</if>
+            <if test="refundReqtime != null">refund_reqtime,</if>
+            <if test="refundStatus != null">refund_status,</if>
+            <if test="refundFee != null">refund_fee,</if>
+            <if test="externalUserid != null">external_userid,</if>
+            <if test="payeeUserid != null">payee_userid,</if>
+            <if test="paymentType != null">payment_type,</if>
+            <if test="mchId != null">mch_id,</if>
+            <if test="payTime != null">pay_time,</if>
+            <if test="corpId != null">corp_id,</if>
+            <if test="corpName != null">corp_name,</if>
+            create_time, update_time
         </trim>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            #{transactionId}, #{outTradeNo}, #{outRefundNo}, #{refundUserid}, #{refundComment},
-            #{refundReqtime}, #{refundStatus}, #{refundFee}, #{externalUserid}, #{payeeUserid},
-            #{paymentType}, #{mchId}, #{payTime}, sysdate(), sysdate()
+            <if test="transactionId != null">#{transactionId},</if>
+            <if test="outTradeNo != null">#{outTradeNo},</if>
+            <if test="outRefundNo != null">#{outRefundNo},</if>
+            <if test="refundUserid != null">#{refundUserid},</if>
+            <if test="refundComment != null">#{refundComment},</if>
+            <if test="refundReqtime != null">#{refundReqtime},</if>
+            <if test="refundStatus != null">#{refundStatus},</if>
+            <if test="refundFee != null">#{refundFee},</if>
+            <if test="externalUserid != null">#{externalUserid},</if>
+            <if test="payeeUserid != null">#{payeeUserid},</if>
+            <if test="paymentType != null">#{paymentType},</if>
+            <if test="mchId != null">#{mchId},</if>
+            <if test="payTime != null">#{payTime},</if>
+            <if test="corpId != null">#{corpId},</if>
+            <if test="corpName != null">#{corpName},</if>
+            sysdate(), sysdate()
         </trim>
         </trim>
     </insert>
     </insert>
 
 
@@ -56,21 +86,23 @@
             <if test="paymentType != null">payment_type = #{paymentType},</if>
             <if test="paymentType != null">payment_type = #{paymentType},</if>
             <if test="mchId != null">mch_id = #{mchId},</if>
             <if test="mchId != null">mch_id = #{mchId},</if>
             <if test="payTime != null">pay_time = #{payTime},</if>
             <if test="payTime != null">pay_time = #{payTime},</if>
+            <if test="corpId != null">corp_id = #{corpId},</if>
+            <if test="corpName != null">corp_name = #{corpName},</if>
             update_time = sysdate()
             update_time = sysdate()
         </set>
         </set>
         where id = #{id}
         where id = #{id}
     </update>
     </update>
 
 
     <select id="selectByTransactionId" resultMap="FsCompanyExternalPayRefundResult">
     <select id="selectByTransactionId" resultMap="FsCompanyExternalPayRefundResult">
-        select <include refid="Base_Column_List"/> from fs_company_external_pay_refund where transaction_id = #{transactionId}
+        <include refid="Base_Column_List"/> where transaction_id = #{transactionId}
     </select>
     </select>
 
 
     <select id="selectByOutRefundNo" resultMap="FsCompanyExternalPayRefundResult">
     <select id="selectByOutRefundNo" resultMap="FsCompanyExternalPayRefundResult">
-        select <include refid="Base_Column_List"/> from fs_company_external_pay_refund where out_refund_no = #{outRefundNo}
+        <include refid="Base_Column_List"/> where out_refund_no = #{outRefundNo}
     </select>
     </select>
 
 
     <select id="selectRefundList" parameterType="com.fs.qw.domain.FsCompanyExternalPayRefund" resultMap="FsCompanyExternalPayRefundResult">
     <select id="selectRefundList" parameterType="com.fs.qw.domain.FsCompanyExternalPayRefund" resultMap="FsCompanyExternalPayRefundResult">
-        select <include refid="Base_Column_List"/> from fs_company_external_pay_refund
+        <include refid="Base_Column_List"/>
         <where>
         <where>
             <if test="transactionId != null and transactionId != ''">and transaction_id = #{transactionId}</if>
             <if test="transactionId != null and transactionId != ''">and transaction_id = #{transactionId}</if>
             <if test="outTradeNo != null and outTradeNo != ''">and out_trade_no = #{outTradeNo}</if>
             <if test="outTradeNo != null and outTradeNo != ''">and out_trade_no = #{outTradeNo}</if>