@@ -1,7 +1,10 @@ | |||
package com.qtzl.alterSales.dao.repo.jpa.primary; | |||
import com.qtzl.alterSales.dao.entity.primary.WechatPayApplyResultLog; | |||
import com.qtzl.alterSales.manager.vo.FiftyServiceFeeVo; | |||
import com.qtzl.alterSales.manager.vo.WechatPayApplyLogVo; | |||
import org.springframework.data.domain.Page; | |||
import org.springframework.data.domain.PageRequest; | |||
import org.springframework.data.jpa.repository.JpaRepository; | |||
import org.springframework.data.jpa.repository.Query; | |||
@@ -32,4 +35,11 @@ public interface WechatPayApplyResultLogRepo extends JpaRepository<WechatPayAppl | |||
" FROM WechatPayApplyResultLog log LEFT JOIN WechatPayApplyLog apply ON log.outTradeNo = apply.outTradeNo " + | |||
" WHERE apply.plateNumber = ?1 AND log.tradeState = 'SUCCESS' ORDER BY log.insertTime DESC") | |||
List<WechatPayApplyLogVo> findByPlateNumber(String plateNumber); | |||
@Query("SELECT new com.qtzl.alterSales.manager.vo.FiftyServiceFeeVo(log.id,log.outTradeNo, log.plateNumber, apply.transactionId, log.totalFee, apply.returnCode, apply.resultCode, apply.tradeState,apply.timeEnd, apply.returnMsg, apply.errCode,apply.errCodeDes, apply.bankType,log. returnCode, log.returnMsg, log.resultCode,log.errCode, log.errCodeDes,log.insertTime) " + | |||
" FROM WechatPayApplyLog log LEFT JOIN WechatPayApplyResultLog apply ON log.outTradeNo = apply.outTradeNo " + | |||
" WHERE log.plateNumber = ?1 ORDER BY log.insertTime DESC") | |||
Page<FiftyServiceFeeVo> findByPlateNumberServiceFee(String plateNumber, PageRequest pageRequest ); | |||
} |
@@ -0,0 +1,74 @@ | |||
package com.qtzl.alterSales.manager.handler; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import com.google.common.collect.Lists; | |||
import com.qtzl.alterSales.manager.abstracts.AbstractAfterSalesManager; | |||
import com.qtzl.alterSales.manager.model.protocol.UcServiceError; | |||
import com.qtzl.alterSales.manager.model.protocol.sales.FiftyServiceFeeRequest; | |||
import com.qtzl.alterSales.manager.model.protocol.sales.FiftyServiceFeeResponse; | |||
import com.qtzl.alterSales.manager.service.AfterSalesCmd; | |||
import com.qtzl.alterSales.manager.service.WechatPayApplyResultLogService; | |||
import com.qtzl.alterSales.manager.vo.FiftyServiceFeeVo; | |||
import com.txffp.api.core.manager.comm.annotation.ApiHandler; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.springframework.data.domain.Page; | |||
import org.springframework.stereotype.Service; | |||
import javax.annotation.Resource; | |||
import java.util.List; | |||
import java.util.stream.Collectors; | |||
@Service | |||
@ApiHandler | |||
public class FiftyServiceFeeHandler extends AbstractAfterSalesManager<FiftyServiceFeeRequest> { | |||
@Resource | |||
private WechatPayApplyResultLogService wechatPayApplyResultLogService; | |||
public FiftyServiceFeeHandler() { | |||
super(AfterSalesCmd.QUERYFIFTYSERVICEFEEPAGE, FiftyServiceFeeRequest.class); | |||
} | |||
@Override | |||
public String handleInternal(String filename, FiftyServiceFeeRequest request) throws ServiceHandleException { | |||
try { | |||
if (StringUtils.isEmpty(request.getPlateNumber())) { | |||
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("请指定车牌号查询"); | |||
} | |||
logger.info("选装-售后-根据车牌号获取50元服务费分页查询,请求参数:{}", request.toJson(true)); | |||
final Page<FiftyServiceFeeVo> fiftyServiceFeeVos =wechatPayApplyResultLogService.findByPlateNumberServiceFee(request.getPlateNumber(),request.getPageNo(),request.getPageSize()); | |||
logger.info("选装-售后-根据车牌号获取50元服务费分页查询,返回参数:{}", fiftyServiceFeeVos.getContent().toString()); | |||
return toResponse(fiftyServiceFeeVos, request).toJson(); | |||
} catch (Exception e) { | |||
if (e instanceof ServiceHandleException) { | |||
throw e; | |||
} | |||
logger.error("选装-获取50元服务费分页查询失败:{}", e.getMessage()); | |||
throw UcServiceError.BUSINESS_VALIDATE_ERR.toHandleException("获取50元服务费失败"); | |||
} | |||
} | |||
private FiftyServiceFeeResponse toResponse(Page<FiftyServiceFeeVo> page, FiftyServiceFeeRequest request) { | |||
final FiftyServiceFeeResponse response = new FiftyServiceFeeResponse(); | |||
if (request.getPageNo()<=1){ | |||
response.setCurrentPage(1); | |||
}else { | |||
response.setCurrentPage(request.getPageNo()); | |||
} | |||
response.setPageSize(request.getPageSize()); | |||
response.setPageCount(page.getTotalPages()); | |||
response.setTotalCount(page.getTotalElements()); | |||
if (isEmpty(page.getContent())) { | |||
response.setData(Lists.newArrayList()); | |||
return response; | |||
} | |||
List<FiftyServiceFeeVo> formVoList = page.getContent().stream().collect(Collectors.toList()); | |||
response.setData(formVoList); | |||
return response; | |||
} | |||
} |
@@ -0,0 +1,20 @@ | |||
package com.qtzl.alterSales.manager.model.protocol.sales; | |||
import com.qtzl.alterSales.manager.model.protocol.AbstractAfterSalesPageRequest; | |||
import com.qtzl.alterSales.manager.service.AfterSalesCmd; | |||
import com.txffp.api.core.manager.comm.annotation.Api; | |||
@Api(cmdClazz = AfterSalesCmd.class, cmd = "QUERYFIFTYSERVICEFEEPAGE") | |||
public class FiftyServiceFeeRequest extends AbstractAfterSalesPageRequest<FiftyServiceFeeResponse> { | |||
private String plateNumber; | |||
public String getPlateNumber() { | |||
return plateNumber; | |||
} | |||
public void setPlateNumber(String plateNumber) { | |||
this.plateNumber = plateNumber; | |||
} | |||
} |
@@ -0,0 +1,7 @@ | |||
package com.qtzl.alterSales.manager.model.protocol.sales; | |||
import com.qtzl.alterSales.manager.model.protocol.AbstractAfterSalesPageResponse; | |||
import com.qtzl.alterSales.manager.vo.FiftyServiceFeeVo; | |||
public class FiftyServiceFeeResponse extends AbstractAfterSalesPageResponse<FiftyServiceFeeVo> { | |||
} |
@@ -32,6 +32,7 @@ public enum AfterSalesCmd implements ApiCmd { | |||
PAYORDERREL("九州ETC小程序-根据证件号、证件类型查询已补缴的流水", UcServiceType.AFTERSALES), | |||
QUERYDEVICESTATUS("根据卡签查询是否在黑", UcServiceType.AFTERSALES), | |||
QUERYBLACKRECORD("查询状态名单变更记录", UcServiceType.AFTERSALES), | |||
QUERYFIFTYSERVICEFEEPAGE("50元服务费分页查询", UcServiceType.AFTERSALES), | |||
; | |||
private String value; |
@@ -1,7 +1,9 @@ | |||
package com.qtzl.alterSales.manager.service; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import com.qtzl.alterSales.manager.vo.FiftyServiceFeeVo; | |||
import com.qtzl.alterSales.manager.vo.WechatPayApplyLogVo; | |||
import org.springframework.data.domain.Page; | |||
/*** | |||
* <p> | |||
@@ -20,4 +22,12 @@ public interface WechatPayApplyResultLogService { | |||
*/ | |||
WechatPayApplyLogVo findByPlateNumber(String plateNumber) throws ServiceHandleException; | |||
/** | |||
* 根据车牌查询50元服务费信息 | |||
* @param plateNumber | |||
* @return | |||
*/ | |||
Page<FiftyServiceFeeVo> findByPlateNumberServiceFee(String plateNumber, Integer pageNo, Integer pageSize); | |||
} |
@@ -3,8 +3,11 @@ package com.qtzl.alterSales.manager.service; | |||
import cn.com.taiji.common.manager.net.http.ServiceHandleException; | |||
import com.qtzl.alterSales.dao.repo.jpa.primary.WechatPayApplyResultLogRepo; | |||
import com.qtzl.alterSales.manager.model.protocol.UcServiceError; | |||
import com.qtzl.alterSales.manager.vo.FiftyServiceFeeVo; | |||
import com.qtzl.alterSales.manager.vo.WechatPayApplyLogVo; | |||
import org.apache.commons.lang3.StringUtils; | |||
import org.springframework.data.domain.Page; | |||
import org.springframework.data.domain.PageRequest; | |||
import org.springframework.stereotype.Service; | |||
import javax.annotation.Resource; | |||
@@ -31,4 +34,15 @@ public class WechatPayApplyResultLogServiceImpl implements WechatPayApplyResultL | |||
.findFirst() | |||
.orElse(new WechatPayApplyLogVo()); | |||
} | |||
@Override | |||
public Page<FiftyServiceFeeVo> findByPlateNumberServiceFee(String plateNumber, Integer pageNo, Integer pageSize) { | |||
if (pageNo<=1){ | |||
pageNo=0; | |||
}else { | |||
pageNo=pageNo-1; | |||
} | |||
PageRequest pageRequest = PageRequest.of(pageNo, pageSize); | |||
return wechatPayApplyResultLogRepo.findByPlateNumberServiceFee(plateNumber,pageRequest); | |||
} | |||
} |
@@ -0,0 +1,231 @@ | |||
package com.qtzl.alterSales.manager.vo; | |||
import cn.com.taiji.common.model.BaseModel; | |||
import com.alibaba.fastjson2.annotation.JSONField; | |||
import java.time.LocalDateTime; | |||
public class FiftyServiceFeeVo extends BaseModel { | |||
private String id; | |||
/*** 商户号*/ | |||
private String outTradeNo; | |||
/*** 车牌号*/ | |||
private String plateNumber; | |||
/*** 微信支付订单号*/ | |||
private String transactionId; | |||
/*** 扣款金额*/ | |||
private Long totalFee; | |||
/*** 返回状态码*/ | |||
private String returnCode; | |||
/*** 业务结果*/ | |||
private String resultCode; | |||
/*** 交易状态*/ | |||
private String tradeState; | |||
/*** 支付完成时间*/ | |||
private String timeEnd; | |||
/*** 返回信息*/ | |||
private String returnMsg; | |||
/*** 错误代码*/ | |||
private String errCode; | |||
/*** 错误代码描述*/ | |||
private String errCodeDes; | |||
/*** 付款银行*/ | |||
private String bankType; | |||
/*** 微信请款返回状态码*/ | |||
private String wxReturnCode; | |||
/*** 微信请款返回信息*/ | |||
private String wxReturnMsg; | |||
/*** 微信请款业务结果*/ | |||
private String wxResultCode; | |||
/*** 微信请款错误代码*/ | |||
private String wxErrCode; | |||
/*** 微信请款错误代码描述*/ | |||
private String wxErrCodeDes; | |||
/*** 创建时间*/ | |||
@JSONField(format = "yyyy-MM-dd HH:mm:ss") | |||
private LocalDateTime insertTime; | |||
public FiftyServiceFeeVo() { | |||
} | |||
public FiftyServiceFeeVo(String id,String outTradeNo, String plateNumber, String transactionId, | |||
Long totalFee, String returnCode, String resultCode, | |||
String tradeState, String timeEnd, String returnMsg, | |||
String errCode, String errCodeDes, String bankType, | |||
String wxReturnCode, String wxReturnMsg, String wxResultCode, | |||
String wxErrCode, String wxErrCodeDes, | |||
LocalDateTime insertTime) { | |||
this.id = id; | |||
this.outTradeNo = outTradeNo; | |||
this.plateNumber = plateNumber; | |||
this.transactionId = transactionId; | |||
this.totalFee = totalFee; | |||
this.returnCode = returnCode; | |||
this.resultCode = resultCode; | |||
this.tradeState = tradeState; | |||
this.timeEnd = timeEnd; | |||
this.returnMsg = returnMsg; | |||
this.errCode = errCode; | |||
this.errCodeDes = errCodeDes; | |||
this.bankType = bankType; | |||
this.wxReturnCode = wxReturnCode; | |||
this.wxReturnMsg = wxReturnMsg; | |||
this.wxResultCode = wxResultCode; | |||
this.wxErrCode = wxErrCode; | |||
this.wxErrCodeDes = wxErrCodeDes; | |||
this.insertTime = insertTime; | |||
} | |||
public String getId() { | |||
return id; | |||
} | |||
public void setId(String id) { | |||
this.id = id; | |||
} | |||
public String getOutTradeNo() { | |||
return outTradeNo; | |||
} | |||
public void setOutTradeNo(String outTradeNo) { | |||
this.outTradeNo = outTradeNo; | |||
} | |||
public String getPlateNumber() { | |||
return plateNumber; | |||
} | |||
public void setPlateNumber(String plateNumber) { | |||
this.plateNumber = plateNumber; | |||
} | |||
public String getTransactionId() { | |||
return transactionId; | |||
} | |||
public void setTransactionId(String transactionId) { | |||
this.transactionId = transactionId; | |||
} | |||
public Long getTotalFee() { | |||
return totalFee; | |||
} | |||
public void setTotalFee(Long totalFee) { | |||
this.totalFee = totalFee; | |||
} | |||
public String getReturnCode() { | |||
return returnCode; | |||
} | |||
public void setReturnCode(String returnCode) { | |||
this.returnCode = returnCode; | |||
} | |||
public String getResultCode() { | |||
return resultCode; | |||
} | |||
public void setResultCode(String resultCode) { | |||
this.resultCode = resultCode; | |||
} | |||
public String getTradeState() { | |||
return tradeState; | |||
} | |||
public void setTradeState(String tradeState) { | |||
this.tradeState = tradeState; | |||
} | |||
public String getTimeEnd() { | |||
return timeEnd; | |||
} | |||
public void setTimeEnd(String timeEnd) { | |||
this.timeEnd = timeEnd; | |||
} | |||
public String getReturnMsg() { | |||
return returnMsg; | |||
} | |||
public void setReturnMsg(String returnMsg) { | |||
this.returnMsg = returnMsg; | |||
} | |||
public String getErrCode() { | |||
return errCode; | |||
} | |||
public void setErrCode(String errCode) { | |||
this.errCode = errCode; | |||
} | |||
public String getErrCodeDes() { | |||
return errCodeDes; | |||
} | |||
public void setErrCodeDes(String errCodeDes) { | |||
this.errCodeDes = errCodeDes; | |||
} | |||
public String getBankType() { | |||
return bankType; | |||
} | |||
public void setBankType(String bankType) { | |||
this.bankType = bankType; | |||
} | |||
public String getWxReturnCode() { | |||
return wxReturnCode; | |||
} | |||
public void setWxReturnCode(String wxReturnCode) { | |||
this.wxReturnCode = wxReturnCode; | |||
} | |||
public String getWxReturnMsg() { | |||
return wxReturnMsg; | |||
} | |||
public void setWxReturnMsg(String wxReturnMsg) { | |||
this.wxReturnMsg = wxReturnMsg; | |||
} | |||
public String getWxResultCode() { | |||
return wxResultCode; | |||
} | |||
public void setWxResultCode(String wxResultCode) { | |||
this.wxResultCode = wxResultCode; | |||
} | |||
public String getWxErrCode() { | |||
return wxErrCode; | |||
} | |||
public void setWxErrCode(String wxErrCode) { | |||
this.wxErrCode = wxErrCode; | |||
} | |||
public String getWxErrCodeDes() { | |||
return wxErrCodeDes; | |||
} | |||
public void setWxErrCodeDes(String wxErrCodeDes) { | |||
this.wxErrCodeDes = wxErrCodeDes; | |||
} | |||
public LocalDateTime getInsertTime() { | |||
return insertTime; | |||
} | |||
public void setInsertTime(LocalDateTime insertTime) { | |||
this.insertTime = insertTime; | |||
} | |||
} |