xinyb_
2022-02-17 6e94d52d0ce0c92c2169cdb19bc675ae08391a35
提交 | 用户 | age
d3ae0a 1 package com.yc.MaintenanceFee.service.impl;
X 2
3 import com.yc.MaintenanceFee.entiy.PayLog;
4 import com.yc.MaintenanceFee.service.PayLogService;
6e94d5 5 import com.yc.action.grid.GridUtils;
74e060 6 import com.yc.service.BaseService;
X 7 import org.springframework.jdbc.core.BeanPropertyRowMapper;
d3ae0a 8 import org.springframework.stereotype.Service;
6e94d5 9
X 10 import java.text.SimpleDateFormat;
d3ae0a 11
X 12 /**
13  * @USER: xinyb_
14  * @DATE: 2021-11-22 16:33
15  */
16 @Service
74e060 17 public class PayLogServiceImpl extends BaseService implements PayLogService {
d3ae0a 18
X 19     @Override
20     public int saveOrUpdatePayLog(PayLog payLog) {
21         try {
6e94d5 22             SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
74e060 23             String sql = "set nocount on ;  \n" +
6e94d5 24                     " declare @MerchantID varchar(50)=" + GridUtils.prossSqlParm(payLog.getMerchantID())+"" +
X 25                     ",@TrxType varchar(50)=" + GridUtils.prossSqlParm(payLog.getTrxType())+"" +
26                     ",@RefDoccode varchar(50)="+GridUtils.prossSqlParm(payLog.getRefDoccode())+"" +
27                     ",@Refformid int="+payLog.getRefformid()+"" +
28                     ",@Refformtype int="+payLog.getRefformtype()+"" +
29                     ",@Amount money="+payLog.getAmount()+"" +
30                     ",@BatchNo varchar(50)="+GridUtils.prossSqlParm(payLog.getBatchNo()+"")+"" +
31                     ",@VoucherNo varchar(50)="+GridUtils.prossSqlParm(payLog.getVoucherNo())+"" +
32                     ",@HostDate varchar(50)="+GridUtils.prossSqlParm(payLog.getHostDate())+"" +
33                     ",@HostTime varchar(50)="+GridUtils.prossSqlParm(payLog.getHostTime())+"" +
34                     ",@MerchantRemarks varchar(200)="+GridUtils.prossSqlParm(payLog.getMerchantRemarks())+"" +
35                     ",@PayType varchar(50)="+GridUtils.prossSqlParm(payLog.getPayType())+"" +
36                     ",@NotifyType varchar(50)="+GridUtils.prossSqlParm(payLog.getNotifyType())+"" +
37                     ",@ThirdOrderNo varchar(100)="+GridUtils.prossSqlParm(payLog.getThirdOrderNo())+"" +
38                     ",@Status varchar(50)="+GridUtils.prossSqlParm(payLog.getStatus())+"" +
39                     ",@InsertTime datetime ="+GridUtils.prossSqlParm(payLog.getInsertTime()==null?null:formatter.format(payLog.getInsertTime()))+" \n" ;
40
41             sql+="if not exists(select 1 from t150101Log where RefDoccode=@RefDoccode) \n";
42             sql+="  begin \n";
74e060 43             sql += "insert into t150101Log(MerchantID,TrxType,RefDoccode,Refformid,Refformtype,Amount,BatchNo,\n" +
X 44                     "VoucherNo,HostDate,HostTime,MerchantRemarks,PayType,NotifyType,ThirdOrderNo,Status,InsertTime)\n" +
6e94d5 45                     "values(@MerchantID,@TrxType,@RefDoccode,@Refformid,@Refformtype,@Amount,@BatchNo," +
X 46                     "@VoucherNo,@HostDate,@HostTime,@MerchantRemarks,@PayType,@NotifyType,@ThirdOrderNo,@Status,@InsertTime) \n"+
47                     " end \n";
74e060 48             sql+=" else \n";
6e94d5 49             sql+=" begin \n";
X 50             sql+="update a set a.MerchantRemarks=@MerchantRemarks,a.TrxType=@TrxType," +
51                     "a.PayType=@PayType,a.Status=@Status"+
52                     ",a.Amount=@Amount,a.ThirdOrderNo=@ThirdOrderNo,a.InsertTime=@InsertTime"+
53                     " from t150101Log a where a.RefDoccode=@RefDoccode \n";
74e060 54             sql += " end \n" +
X 55                     " select @@ROWCOUNT";
6e94d5 56             int count = super.jdbcTemplate.queryForObject(sql, Integer.class);
74e060 57             return count;
d3ae0a 58         } catch (Exception e) {
6e94d5 59             return  -1;
d3ae0a 60         }
X 61     }
62
63     @Override
64     public PayLog getPayLog(String docCode) {
65         try {
6e94d5 66             String sql = "set nocount on \n" +
X 67                     " select MerchantID,TrxType,RefDoccode,Refformid,Refformtype,Amount,BatchNo,\n" +
68                     " VoucherNo,HostDate,HostTime,MerchantRemarks,PayType,NotifyType,ThirdOrderNo,Status,InsertTime " +
69                     " from t150101Log where RefDoccode='" + docCode + "'";
74e060 70             return super.jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(PayLog.class));
d3ae0a 71         } catch (Exception e) {
X 72             throw null;
73         }
74     }
75
76     @Override
74e060 77     public int updateNotifyType(String doCode, Integer payDbId) {
d3ae0a 78         try {
74e060 79             String sql = "set nocount on ;\n" +
X 80                     " begin \n";
81             sql += " update a set a.NotifyType='" + payDbId + "' from t150101Log a where a.RefDoccode='" + doCode + "' ";
82             sql += " end \n";
83             sql += " select @@ROWCOUNT";
84             return super.jdbcTemplate.queryForObject(sql, Integer.class);
85         } catch (Exception e) {
d3ae0a 86             return 0;
X 87         }
88     }
89 }