Merge branch 'wq' of SH-Arbitrate/Arbitrate-Backend into dev

This commit was merged in pull request #350.
This commit is contained in:
2024-05-06 18:08:20 +08:00
committed by Gitea
8 changed files with 137 additions and 85 deletions
@@ -75,10 +75,10 @@ public class CasePaymentController {
// @PreAuthorize("@ss.hasPermi('paymentManagement:list:payconfirm')")
@PutMapping("/confirm")
public AjaxResult confirmPayment(@Validated @RequestBody BatchCaseApplication batchCaseApplication) {
if(CollectionUtil.isEmpty(batchCaseApplication.getIds())){
if(CollectionUtil.isEmpty(batchCaseApplication.getIds()) || batchCaseApplication.getAgreeOrNotCheck()==null){
return AjaxResult.error("参数校验失败");
}
return paymentService.confirmPayment(batchCaseApplication.getIds());
return paymentService.confirmPayment(batchCaseApplication);
}
/**
* 缴费列表查询
@@ -69,7 +69,10 @@ public class ArbitrateRecord extends BaseEntity {
* 部门长确认裁决书驳回
*/
private String deptorReject;
/**
* 缴费确认驳回原因
*/
private String payRejectReason;
@@ -426,4 +426,6 @@ public class CaseApplication extends BaseEntity {
* 登录用户名
*/
private String userName;
// 缴费确认驳回原因
private String payRejectReason;
}
@@ -2,6 +2,7 @@ package com.ruoyi.wisdomarbitrate.service;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.dto.PayRequest;
import com.ruoyi.wisdomarbitrate.domain.BatchCaseApplication;
import com.ruoyi.wisdomarbitrate.domain.CaseApplication;
import com.ruoyi.wisdomarbitrate.domain.dto.CaseConfirmPayDTO;
import com.ruoyi.wisdomarbitrate.domain.dto.CasePayDTO;
@@ -14,7 +15,7 @@ public interface ICasePaymentService {
*/
AjaxResult casePay(CasePayDTO casePayDTO);
AjaxResult confirmPayment( List<Long> ids);
AjaxResult confirmPayment(BatchCaseApplication batchCaseApplication);
/**
* 确认缴费
@@ -1721,6 +1721,9 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
caseApplicationselect.setRespondentName(respondentName.toString());
caseApplicationselect.setCaseAffiliates(caseAffiliatListeselect);
caseApplicationselect.setArbitrateRecord(arbitrateRecordselect);
if(arbitrateRecordselect!=null){
caseApplicationselect.setPayRejectReason(arbitrateRecordselect.getPayRejectReason());
}
}
return caseApplicationselect;
@@ -2268,13 +2271,15 @@ public class CaseApplicationServiceImpl implements ICaseApplicationService {
caseAffiliate.setCaseAppliId(caseApplication.getId());
List<CaseAffiliate> caseAffiliatListeselect = caseAffiliateMapper.selectCaseAffiliate(caseAffiliate);
if (caseAffiliatListeselect != null) {
caseAffiliatListeselect=new ArrayList<>(caseAffiliatListeselect.stream().collect(Collectors.toMap(CaseAffiliate::getContactTelphone ,Function.identity(), (k1, k2) -> k1)).values());
// caseAffiliatListeselect=new ArrayList<>(caseAffiliatListeselect.stream().collect(Collectors.toMap(CaseAffiliate::getContactTelphone ,Function.identity(), (k1, k2) -> k1)).values());
for (int i = 0; i < caseAffiliatListeselect.size(); i++) {
CaseAffiliate caseAffiliateselect = caseAffiliatListeselect.get(i);
int identityType = caseAffiliateselect.getIdentityType();
if (identityType == 1) {
if (identityType == 1 && StrUtil.isNotEmpty(caseAffiliateselect.getApplicationOrganId())) {
caseApplicationselect.setApplicantName(caseAffiliateselect.getApplicationOrganName());
}else {
caseApplicationselect.setApplicantName(caseAffiliateselect.getName());
}
}
@@ -2,6 +2,7 @@ package com.ruoyi.wisdomarbitrate.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.ElegentPay;
import com.ruoyi.common.constant.CaseApplicationConstants;
import com.ruoyi.common.constant.HttpStatus;
@@ -44,6 +45,8 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
private CaseAttachMapper caseAttachMapper;
@Autowired
private SmsRecordMapper smsRecordMapper;
@Autowired
private ArbitrateRecordMapper arbitrateRecordMapper;
@Autowired
public CasePaymentServiceImpl(ElegentPay elegentPay
@@ -111,11 +114,33 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
@Override
@Transactional
public AjaxResult confirmPayment( List<Long> ids) {
for (Long id : ids) {
public AjaxResult confirmPayment( BatchCaseApplication batchCaseApplication) {
for (Long id : batchCaseApplication.getIds()) {
CaseApplication caseApplication = new CaseApplication();
caseApplication.setId(id);
caseApplication.setCaseStatus(CaseApplicationConstants.CASE_CROSSEXAMI);
if(batchCaseApplication.getAgreeOrNotCheck().equals(1)){
// 同意,更新案件状态为案件质证
caseApplication.setCaseStatus(CaseApplicationConstants.CASE_CROSSEXAMI);
}else {
if(StrUtil.isEmpty(batchCaseApplication.getCaseCheckReject())){
return AjaxResult.error("请填写拒绝理由");
}
// 拒绝,更新案件状态为待缴费
caseApplication.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT);
ArbitrateRecord arbitrateRecordsel = new ArbitrateRecord();
arbitrateRecordsel.setCaseAppliId(id);
ArbitrateRecord arbitrateRecordnew = arbitrateRecordMapper.selectArbitrateRecord(arbitrateRecordsel);
if(arbitrateRecordnew!=null){
arbitrateRecordnew.setPayRejectReason(batchCaseApplication.getCaseCheckReject());
arbitrateRecordMapper.updataArbitrateRecord(arbitrateRecordnew);
}else {
arbitrateRecordsel.setPayRejectReason(batchCaseApplication.getCaseCheckReject());
arbitrateRecordMapper.insertArbitrateRecord(arbitrateRecordsel);
}
}
caseApplicationMapper.submitCaseApplication(caseApplication);
//发送短信通知
SmsUtils.SendSmsRequest request = new SmsUtils.SendSmsRequest();
@@ -134,12 +159,8 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
String caseName = "仲裁"; //这里案件名称表里未定义,暂时写死
String caseNum = caseApplication1.getCaseNum();
if (identityType == 1) { //申请人
request.setPhone(affiliate.getContactTelphone());
request.setTemplateId("1928003"); //传入申请人模板id
// 这个值,要看你的模板中是否预留了占位符,如果没有则不需要设置
// 模板id:1928003 普通短信 案件受理通知
String name = affiliate.getName();
request.setTemplateParamSet(new String[]{name, caseName, caseNum});
request.setPhone(affiliate.getContactTelphone());
Boolean aBoolean = SmsUtils.sendSms(request);
//保存短信发送记录
SmsSendRecord smsSendRecord = new SmsSendRecord();
@@ -147,8 +168,18 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
smsSendRecord.setCaseNum(caseNum);
smsSendRecord.setPhone(request.getPhone());
smsSendRecord.setSendTime(new Date());
String content = "尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理。";
smsSendRecord.setSendContent(content);
if(batchCaseApplication.getAgreeOrNotCheck().equals(1)){
// 同意
request.setTemplateId("1928003"); //案件受理通知
request.setTemplateParamSet(new String[]{name, caseName, caseNum});
smsSendRecord.setSendContent("尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理。");
}else {
//拒绝 2074402,尊敬的{1}用户,您的{2}案件,确认缴费未通过,理由为{3},请知晓,如非本人操作,请忽略本短信
request.setTemplateId("2074402"); //确认缴费不通过通知
request.setTemplateParamSet(new String[]{name, caseNum,batchCaseApplication.getCaseCheckReject()});
smsSendRecord.setSendContent("尊敬的" + name + "用户,您的" + caseNum + "案件,确认缴费未通过,理由为" + batchCaseApplication.getCaseCheckReject() + ",请知晓,如非本人操作,请忽略本短信。");
}
smsSendRecord.setCreateBy(getUsername());
if (aBoolean) {
smsSendRecord.setSendStatus(1);
@@ -157,28 +188,30 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
}
smsRecordMapper.saveSmsSendRecord(smsSendRecord);
} else { //被申请人
if(batchCaseApplication.getAgreeOrNotCheck().equals(1)) {
request.setPhone(affiliate.getContactTelphone());
request.setTemplateId("1952840");
// 1952840 尊敬的{1}用户,您的{2}案件{3}已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信
String name = affiliate.getName();
request.setTemplateParamSet(new String[]{name, caseName, caseNum});
Boolean aBoolean = SmsUtils.sendSms(request);
//保存短信发送记录
SmsSendRecord smsSendRecord = new SmsSendRecord();
smsSendRecord.setCaseId(caseApplication.getId());
smsSendRecord.setCaseNum(caseNum);
smsSendRecord.setPhone(request.getPhone());
smsSendRecord.setSendTime(new Date());
String content = "尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信";
smsSendRecord.setSendContent(content);
smsSendRecord.setCreateBy(getUsername());
if (aBoolean) {
smsSendRecord.setSendStatus(1);
} else {
smsSendRecord.setSendStatus(0);
request.setPhone(affiliate.getContactTelphone());
request.setTemplateId("1952840");
// 1952840 尊敬的{1}用户,您的{2}案件{3}已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信
String name = affiliate.getName();
request.setTemplateParamSet(new String[]{name, caseName, caseNum});
Boolean aBoolean = SmsUtils.sendSms(request);
//保存短信发送记录
SmsSendRecord smsSendRecord = new SmsSendRecord();
smsSendRecord.setCaseId(caseApplication.getId());
smsSendRecord.setCaseNum(caseNum);
smsSendRecord.setPhone(request.getPhone());
smsSendRecord.setSendTime(new Date());
String content = "尊敬的" + name + "用户,您的" + caseName + "案件" + caseNum + "已成功受理,请点击链接:https://miniapp-3gpama6l759911ef-1321289474.tcloudbaseapp.com/jump-mp.html 选择是否应诉。如非本人操作,请忽略本短信";
smsSendRecord.setSendContent(content);
smsSendRecord.setCreateBy(getUsername());
if (aBoolean) {
smsSendRecord.setSendStatus(1);
} else {
smsSendRecord.setSendStatus(0);
}
smsRecordMapper.saveSmsSendRecord(smsSendRecord);
}
smsRecordMapper.saveSmsSendRecord(smsSendRecord);
}
}
//更改记录表里的支付状态和支付时间
@@ -188,7 +221,11 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
casePaymentRecord.setUpdateTime(new Date());
casePaymentRecordMapper.update(casePaymentRecord);
// 新增日志
CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CASE_CROSSEXAMI, "");
if(batchCaseApplication.getAgreeOrNotCheck().equals(1)) {
CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.CASE_CROSSEXAMI, "");
}else {
CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT, "拒绝原因:"+batchCaseApplication.getCaseCheckReject());
}
}
}
@@ -282,43 +319,45 @@ public class CasePaymentServiceImpl implements ICasePaymentService {
caseApplicationsel.setBatchNumber(Integer.parseInt(batchNumber));
caseApplicationsel.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT);
List<CaseApplication> caseApplications = caseApplicationMapper.listCaseApplicationByBatchNumber(caseApplicationsel);
List<Long> caseIds = caseApplications.stream().map(CaseApplication::getId).collect(Collectors.toList());
if(caseApplications!=null&&caseApplications.size()>0){
if (payDTO.getPayType() != null) {
payDTO.setCaseIds(caseIds);
// 修改支付方式
CaseConfirmPayDTO caseConfirmPayDTO = new CaseConfirmPayDTO();
BeanUtils.copyProperties(payDTO, caseConfirmPayDTO);
caseApplicationMapper.updatePayType(caseConfirmPayDTO);
}
for (Long caseId : caseIds) {
if (CollectionUtil.isNotEmpty(payDTO.getPayOrderList())) {
for (CaseAttach caseAttach : payDTO.getPayOrderList()) {
caseAttach.setCaseAppliId(caseId);
caseAttachMapper.updateCaseAttach(caseAttach);
}
}
// 修改节点状态
//根据案件id查询案件信息
CaseApplication caseApplication = new CaseApplication();
caseApplication.setId(caseId);
CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM);
//修改案件状态
int i = caseApplicationMapper.submitCaseApplication(caseApplication1);
if (i > 0) {
// 修改支付状态
CasePaymentRecord paymentRecord = new CasePaymentRecord();
paymentRecord.setPayType(payDTO.getPayType());
paymentRecord.setCaseId(caseId);
paymentRecord.setPaymentStatus(1);
casePaymentRecordMapper.saveRecord(paymentRecord);
// 新增日志
CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT_CONFIRM, "");
}
if(CollectionUtil.isNotEmpty(caseApplications)){
List<Long> caseIds = caseApplications.stream().map(CaseApplication::getId).collect(Collectors.toList());
}
// if (payDTO.getPayType() != null) {
// payDTO.setCaseIds(caseIds);
// // 修改支付方式
// CaseConfirmPayDTO caseConfirmPayDTO = new CaseConfirmPayDTO();
// BeanUtils.copyProperties(payDTO, caseConfirmPayDTO);
// caseApplicationMapper.updatePayType(caseConfirmPayDTO);
// }
// for (Long caseId : caseIds) {
// if (CollectionUtil.isNotEmpty(payDTO.getPayOrderList())) {
// for (CaseAttach caseAttach : payDTO.getPayOrderList()) {
// caseAttach.setCaseAppliId(caseId);
// caseAttachMapper.updateCaseAttach(caseAttach);
// }
// }
//
// // 修改节点状态
// //根据案件id查询案件信息
// CaseApplication caseApplication = new CaseApplication();
// caseApplication.setId(caseId);
// CaseApplication caseApplication1 = caseApplicationMapper.selectCaseApplication(caseApplication);
// caseApplication1.setCaseStatus(CaseApplicationConstants.PENDING_PAYMENT_CONFIRM);
// //修改案件状态
// int i = caseApplicationMapper.submitCaseApplication(caseApplication1);
// if (i > 0) {
// // 修改支付状态
// CasePaymentRecord paymentRecord = new CasePaymentRecord();
// paymentRecord.setPayType(payDTO.getPayType());
// paymentRecord.setCaseId(caseId);
// paymentRecord.setPaymentStatus(1);
// casePaymentRecordMapper.saveRecord(paymentRecord);
// // 新增日志
// CaseLogUtils.insertCaseLog(caseApplication.getId(), CaseApplicationConstants.PENDING_PAYMENT_CONFIRM, "");
// }
//
// }
}else{
throw new ServiceException("这个批号没有批量缴费的案件");
@@ -18,6 +18,7 @@
<result property="caseFacts" column="case_facts" />
<result property="respondentOpinion" column="respondent_opinion" />
<result property="applicantOpinion" column="applicant_opinion" />
<result property="payRejectReason" column="pay_reject_reason" />
</resultMap>
@@ -34,6 +35,7 @@
<if test="checkOpinion != null and checkOpinion != ''">check_opinion,</if>
<if test="caseCheckReject != null and caseCheckReject != ''">case_check_reject,</if>
<if test="arbitrateReject != null and arbitrateReject != ''">arbitrate_reject,</if>
<if test="payRejectReason != null and payRejectReason != ''">pay_reject_reason,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
case_focus,
case_facts,
@@ -51,6 +53,7 @@
<if test="checkOpinion != null and checkOpinion != ''">#{checkOpinion},</if>
<if test="caseCheckReject != null and caseCheckReject != ''">#{caseCheckReject},</if>
<if test="arbitrateReject != null and arbitrateReject != ''">#{arbitrateReject},</if>
<if test="payRejectReason != null and payRejectReason != ''">#{payRejectReason},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
#{caseFocus},
#{caseFacts},
@@ -81,6 +84,7 @@
<if test="caseCheckReject != null and caseCheckReject != ''">case_check_reject = #{caseCheckReject},</if>
<if test="arbitrateReject != null and arbitrateReject != ''">arbitrate_reject = #{arbitrateReject},</if>
<if test="deptorReject != null and deptorReject != ''">deptor_reject = #{deptorReject},</if>
<if test="payRejectReason != null and payRejectReason != ''">pay_reject_reason = #{payRejectReason},</if>
update_time = sysdate()
</set>
where id = #{id}
@@ -90,7 +94,7 @@
<select id="selectArbitrateRecord" parameterType="ArbitrateRecord" resultMap="ArbitrateRecordResult">
SELECT a.id ,a.case_appli_id ,a.eviden_determi ,a.fact_determi ,a.case_sketch ,a.arbitrate_think ,a.ruling_follows ,
a.verifica_opinion ,a.check_opinion,a.annex_id,a.case_focus,a.case_facts,a.respondent_opinion,a.applicant_opinion,
a.case_check_reject ,a.arbitrate_reject,a.deptor_reject
a.case_check_reject ,a.arbitrate_reject,a.deptor_reject,a.pay_reject_reason
from arbitrate_record a
<where>
<if test="caseAppliId != null ">
@@ -37,20 +37,17 @@
</resultMap>
<select id="selectCaseAffiliate" parameterType="CaseAffiliate" resultMap="CaseAffiliateResult">
select c.id,
c.case_appli_id, c.identity_type,c.application_organ_id,c.application_organ_name,c.name,c.identity_num,c.contact_telphone,
c.contact_address,c.work_address,c.work_telphone ,c.name_agent,c.identity_num_agent,c.contact_telphone_agent,
c.comp_legal_person,c.comp_legalper_post,c.respon_sex ,c.respon_birth,
c.residen_affili,appli_agent_title,
c.contact_address_agent,c.email, c.send_email,c.track_num,c.applicant_agent_user_id,c.agent_email
select c.*
from case_affiliate c
WHERE
<where>
<if test="caseAppliId != null ">
AND c.case_appli_id = #{caseAppliId}
</if>
</where>
<if test="caseAppliId != null ">
AND c.case_appli_id = #{caseAppliId}
</if>
</select>
<select id="selectCaseAffiliateByCaseIds" resultMap="CaseAffiliateResult">
@@ -62,13 +59,14 @@
c.contact_address_agent,c.email, c.send_email,c.track_num,c.applicant_agent_user_id,c.agent_email
from case_affiliate c
WHERE
<where>
<if test="ids != null ">
and case_appli_id in
case_appli_id in
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="selectCaseAffiliateByIdentityType" resultMap="CaseAffiliateResult">
select c.*