批量缴费接口开发
This commit is contained in:
+9
-1
@@ -6,7 +6,6 @@ import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
|
|||||||
import com.ruoyi.wisdomarbitrate.service.ICasePaymentService;
|
import com.ruoyi.wisdomarbitrate.service.ICasePaymentService;
|
||||||
import com.ruoyi.wisdomarbitrate.domain.dto.CasePayDTO;
|
import com.ruoyi.wisdomarbitrate.domain.dto.CasePayDTO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@@ -52,4 +51,13 @@ public class CasePaymentController {
|
|||||||
public AjaxResult confirmPayment(@Validated @RequestBody CaseApplication caseApplication) {
|
public AjaxResult confirmPayment(@Validated @RequestBody CaseApplication caseApplication) {
|
||||||
return paymentService.confirmPayment(caseApplication);
|
return paymentService.confirmPayment(caseApplication);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 缴费列表查询
|
||||||
|
* @param casePayDTO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/list")
|
||||||
|
public AjaxResult casePayList(CasePayDTO casePayDTO) {
|
||||||
|
return paymentService.casePayList(casePayDTO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.ruoyi.wisdomarbitrate.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CaseApplicationPay {
|
||||||
|
/** 案件编号 */
|
||||||
|
private String caseNum;
|
||||||
|
/** 案件标的 */
|
||||||
|
private BigDecimal caseSubjectAmount;
|
||||||
|
/** 仲裁应缴费用 */
|
||||||
|
private BigDecimal feePayable;
|
||||||
|
/** 案件状态 */
|
||||||
|
private Integer caseStatus;
|
||||||
|
/**申请人 */
|
||||||
|
private String caseAppName;
|
||||||
|
/**被申请人 */
|
||||||
|
private String caseResName;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -13,7 +13,7 @@ public class CasePayDTO {
|
|||||||
/**
|
/**
|
||||||
* 案件id
|
* 案件id
|
||||||
*/
|
*/
|
||||||
private Long caseId;
|
private List<Long> caseIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单金额 单位:分
|
* 订单金额 单位:分
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.ruoyi.wisdomarbitrate.domain.vo;
|
||||||
|
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.CaseApplicationPay;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class CasePayListVO {
|
||||||
|
/**
|
||||||
|
* 订单总金额 单位:分
|
||||||
|
*/
|
||||||
|
private int totalFee;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案件总条数
|
||||||
|
*/
|
||||||
|
private int CaseTotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 案件订单列表
|
||||||
|
*/
|
||||||
|
private List<CaseApplicationPay> caseApplicationList;
|
||||||
|
}
|
||||||
@@ -20,4 +20,8 @@ public interface ICasePaymentService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult confirmPay(CaseConfirmPayDTO payDTO);
|
AjaxResult confirmPay(CaseConfirmPayDTO payDTO);
|
||||||
|
|
||||||
|
|
||||||
|
AjaxResult casePayList(CasePayDTO casePayDTO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+61
-11
@@ -11,7 +11,9 @@ import com.ruoyi.common.exception.ServiceException;
|
|||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.wisdomarbitrate.domain.*;
|
import com.ruoyi.wisdomarbitrate.domain.*;
|
||||||
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
|
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
|
||||||
|
import com.ruoyi.wisdomarbitrate.domain.vo.CasePayListVO;
|
||||||
import com.ruoyi.wisdomarbitrate.mapper.*;
|
import com.ruoyi.wisdomarbitrate.mapper.*;
|
||||||
|
import com.ruoyi.wisdomarbitrate.service.ICaseApplicationService;
|
||||||
import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
|
import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
|
||||||
import com.ruoyi.common.utils.SmsUtils;
|
import com.ruoyi.common.utils.SmsUtils;
|
||||||
import com.ruoyi.dto.PayRequest;
|
import com.ruoyi.dto.PayRequest;
|
||||||
@@ -22,6 +24,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -42,12 +46,15 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
|
|||||||
public CasePaymentServiceImpl(ElegentPay elegentPay
|
public CasePaymentServiceImpl(ElegentPay elegentPay
|
||||||
, CaseApplicationMapper caseApplicationMapper
|
, CaseApplicationMapper caseApplicationMapper
|
||||||
, CasePaymentRecordMapper casePaymentRecordMapper
|
, CasePaymentRecordMapper casePaymentRecordMapper
|
||||||
, CaseAffiliateMapper caseAffiliateMapper) {
|
, CaseAffiliateMapper caseAffiliateMapper
|
||||||
|
) {
|
||||||
this.elegentPay = elegentPay;
|
this.elegentPay = elegentPay;
|
||||||
this.caseApplicationMapper = caseApplicationMapper;
|
this.caseApplicationMapper = caseApplicationMapper;
|
||||||
this.casePaymentRecordMapper = casePaymentRecordMapper;
|
this.casePaymentRecordMapper = casePaymentRecordMapper;
|
||||||
this.caseAffiliateMapper = caseAffiliateMapper;
|
this.caseAffiliateMapper = caseAffiliateMapper;
|
||||||
}
|
}
|
||||||
|
@Autowired
|
||||||
|
private ICaseApplicationService caseApplicationService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
@@ -60,16 +67,22 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
|
|||||||
if (response.getCode_url() == null) {
|
if (response.getCode_url() == null) {
|
||||||
return AjaxResult.error();
|
return AjaxResult.error();
|
||||||
}
|
}
|
||||||
//缴费记录表里新增数据
|
List<Long> caseIds = casePayDTO.getCaseIds();
|
||||||
CasePaymentRecord casePaymentRecord = new CasePaymentRecord();
|
if (CollectionUtil.isEmpty(caseIds)) {
|
||||||
casePaymentRecord.setCaseId(casePayDTO.getCaseId());
|
|
||||||
casePaymentRecord.setOrderNumber(payRequest.getOrderSn());
|
|
||||||
casePaymentRecord.setPaymentStatus(0);
|
|
||||||
casePaymentRecord.setCreateTime(new Date());
|
|
||||||
int count = casePaymentRecordMapper.saveRecord(casePaymentRecord);
|
|
||||||
if (count < 1) {
|
|
||||||
return AjaxResult.error("请检查参数是否有误");
|
return AjaxResult.error("请检查参数是否有误");
|
||||||
}
|
}
|
||||||
|
for (Long caseId : caseIds) {
|
||||||
|
//缴费记录表里新增数据
|
||||||
|
CasePaymentRecord casePaymentRecord = new CasePaymentRecord();
|
||||||
|
casePaymentRecord.setCaseId(caseId);
|
||||||
|
casePaymentRecord.setOrderNumber(payRequest.getOrderSn());
|
||||||
|
casePaymentRecord.setPaymentStatus(0);
|
||||||
|
casePaymentRecord.setCreateTime(new Date());
|
||||||
|
int count = casePaymentRecordMapper.saveRecord(casePaymentRecord);
|
||||||
|
if (count < 1) {
|
||||||
|
return AjaxResult.error("请检查参数是否有误");
|
||||||
|
}
|
||||||
|
}
|
||||||
return AjaxResult.success(response);
|
return AjaxResult.success(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,9 +164,9 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
|
|||||||
String content = "尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信";
|
String content = "尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信";
|
||||||
smsSendRecord.setSendContent(content);
|
smsSendRecord.setSendContent(content);
|
||||||
smsSendRecord.setCreateBy(getUsername());
|
smsSendRecord.setCreateBy(getUsername());
|
||||||
if (aBoolean){
|
if (aBoolean) {
|
||||||
smsSendRecord.setSendStatus(1);
|
smsSendRecord.setSendStatus(1);
|
||||||
}else {
|
} else {
|
||||||
smsSendRecord.setSendStatus(0);
|
smsSendRecord.setSendStatus(0);
|
||||||
}
|
}
|
||||||
smsRecordMapper.saveSmsSendRecord(smsSendRecord);
|
smsRecordMapper.saveSmsSendRecord(smsSendRecord);
|
||||||
@@ -211,5 +224,42 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
|
|||||||
return AjaxResult.success("确认缴费失败");
|
return AjaxResult.success("确认缴费失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AjaxResult casePayList(CasePayDTO casePayDTO) {
|
||||||
|
//参数校验
|
||||||
|
List<Long> caseIds = casePayDTO.getCaseIds();
|
||||||
|
if (caseIds == null || caseIds.size() == 0) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
BigDecimal totalCost = new BigDecimal(0);
|
||||||
|
BigDecimal sum =totalCost;
|
||||||
|
CasePayListVO listVO = new CasePayListVO();
|
||||||
|
listVO.setCaseTotal(caseIds.size());
|
||||||
|
List<CaseApplicationPay> caseApplicationList =new ArrayList<>();
|
||||||
|
for (Long caseId : caseIds) {
|
||||||
|
CaseApplication caseApplication = new CaseApplication();
|
||||||
|
CaseApplicationPay caseApplicationPay = new CaseApplicationPay();
|
||||||
|
caseApplication.setId(caseId);
|
||||||
|
CaseApplication caseApplication1 = caseApplicationService.selectCaseApplication(caseApplication);
|
||||||
|
BigDecimal feePayable = caseApplication1.getFeePayable();
|
||||||
|
feePayable = feePayable.multiply(new BigDecimal(100));
|
||||||
|
sum = sum.add(feePayable);
|
||||||
|
listVO.setTotalFee(sum.intValue());
|
||||||
|
caseApplicationPay.setCaseAppName(caseApplication1.getApplicantName());
|
||||||
|
caseApplicationPay.setCaseResName(caseApplication1.getRespondentName());
|
||||||
|
caseApplicationPay.setCaseNum(caseApplication1.getCaseNum());
|
||||||
|
caseApplicationPay.setCaseStatus(caseApplication1.getCaseStatus());
|
||||||
|
caseApplicationPay.setCaseSubjectAmount(caseApplication1.getCaseSubjectAmount());
|
||||||
|
caseApplicationPay.setFeePayable(caseApplication1.getFeePayable());
|
||||||
|
caseApplicationList.add(caseApplicationPay);
|
||||||
|
listVO.setCaseApplicationList(caseApplicationList);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sum.compareTo(BigDecimal.ZERO) == 0) {
|
||||||
|
return AjaxResult.error("没有可支付的费用");
|
||||||
|
}
|
||||||
|
return AjaxResult.success(listVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -419,7 +419,7 @@ public class DeptIdentifyServiceImpl implements IDeptIdentifyService {
|
|||||||
String prefix = "/profile";
|
String prefix = "/profile";
|
||||||
int startIndex = fileName.indexOf(prefix);
|
int startIndex = fileName.indexOf(prefix);
|
||||||
startIndex += prefix.length();
|
startIndex += prefix.length();
|
||||||
String annexPath = "home/ruoyi/uploadPath" + fileName.substring(startIndex);
|
String annexPath = "uploadPath" + fileName.substring(startIndex);
|
||||||
templateManage.setTemOrigPath(annexPath);
|
templateManage.setTemOrigPath(annexPath);
|
||||||
String format = getFileExtension(fileName);
|
String format = getFileExtension(fileName);
|
||||||
templateManage.setTemFormat(format);
|
templateManage.setTemFormat(format);
|
||||||
|
|||||||
Reference in New Issue
Block a user