From cad9305c4cbffe978370f4c39bfde63b248619c7 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期六, 25 十一月 2023 10:05:28 +0800 Subject: [PATCH] 11.25 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java | 71 +++++++++++++---------- cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js | 2 cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java | 90 ++++++++++++++++++++++++++++++ 3 files changed, 131 insertions(+), 32 deletions(-) diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java index 9bdf0b2..71b3fc3 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java @@ -13,7 +13,9 @@ import com.dsh.competition.feignclient.account.AppUserClient; import com.dsh.competition.feignclient.account.model.AppUser; import com.dsh.competition.feignclient.course.CoursePackagePaymentClient; +import com.dsh.competition.feignclient.course.model.PaymentDeductionClassHour; import com.dsh.competition.feignclient.model.*; +import com.dsh.competition.feignclient.other.StoreClient; import com.dsh.competition.model.*; import com.dsh.competition.service.CompetitionService; import com.dsh.competition.service.IParticipantService; @@ -722,12 +724,100 @@ } } + @Resource + private StoreClient storeClient; + + @Autowired + private UserCompetitionService userCompetitionService; + + @PostMapping("/base/competition/cancel") public void cancel(@RequestBody Integer id){ try { Competition byId = cttService.getById(id); byId.setStatus(4); cttService.updateById(byId); + List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().eq("competitionId", byId.getId()).eq("payStatus", 2)); + for (PaymentCompetition pay : list) { + PaymentCompetition paymentCompetition = pay; + + String code = paymentCompetition.getCode(); + Double amount = paymentCompetition.getAmount(); + Competition competition = competitionService.getById(paymentCompetition.getCompetitionId()); + + + String payOrderNo = paymentCompetition.getPayOrderNo(); + if(paymentCompetition.getPayType() == 1){//微信支付 + Map<String, String> map = payMoneyUtil.wxRefund(payOrderNo, code, amount.toString(), amount.toString(), "/base/competition/weChatCancelPaymentCompetitionCallback"); + String return_code = map.get("return_code"); + if(!"SUCCESS".equals(return_code)){ +// return ResultUtil.error(map.get("return_msg")); + continue; + } + String refund_id = map.get("refund_id"); + paymentCompetition.setRefundOrderNo(refund_id); + paymentCompetitionService.updateById(paymentCompetition); + + storeClient.addBackRecord(paymentCompetition.getAmount()+"_"+paymentCompetition.getAppUserId()); + + + } + if(paymentCompetition.getPayType() == 2){//支付宝支付 + Map<String, String> map = payMoneyUtil.aliRefund(payOrderNo, amount.toString()); + String return_code = map.get("code"); + if(!"10000".equals(return_code)){ +// return ResultUtil.error(map.get("msg")); + continue; + } + String refund_id = map.get("trade_no"); + paymentCompetition.setRefundOrderNo(refund_id); + paymentCompetition.setRefundTime(new Date()); + paymentCompetition.setPayStatus(3); + paymentCompetition.setAppUserId(null); + paymentCompetitionService.updateById(paymentCompetition); + +// competition.setApplicantsNumber(competition.getApplicantsNumber() - 1); + competitionService.updateById(competition); + } + if(paymentCompetition.getPayType() == 3){//玩湃币支付 + AppUser appUser = appUserClient.queryAppUser(paymentCompetition.getAppUserId()); + appUser.setPlayPaiCoins(appUser.getPlayPaiCoins() + amount.intValue()); + appUserClient.updateAppUser(appUser); + + paymentCompetition.setRefundOrderNo(""); + paymentCompetition.setRefundTime(new Date()); + paymentCompetition.setPayStatus(3); + paymentCompetition.setAppUserId(null); + paymentCompetitionService.updateById(paymentCompetition); + +// competition.setApplicantsNumber(competition.getApplicantsNumber() - 1); + competitionService.updateById(competition); + } + if(paymentCompetition.getPayType() == 4){//课程支付 + List<UserCompetition> list1 = userCompetitionService.list(new QueryWrapper<UserCompetition>().eq("paymentCompetitionId", paymentCompetition.getId())); + for (UserCompetition userCompetition : list1) { +// Participant participant = participantService.getById(userCompetition.getId()); +// Student student = studentClient.queryStudentByPhone(participant.getPhone()); + PaymentDeductionClassHour paymentDeductionClassHour = new PaymentDeductionClassHour(); + paymentDeductionClassHour.setId(userCompetition.getParticipantId()); + paymentDeductionClassHour.setClassHour(competition.getClassPrice()); + paymentDeductionClassHour.setCode(code); + coursePackagePaymentClient.rollbackPaymentDeductionClassHour(paymentDeductionClassHour); + } + + paymentCompetition.setRefundOrderNo(""); + paymentCompetition.setRefundTime(new Date()); + paymentCompetition.setPayStatus(3); + paymentCompetition.setAppUserId(null); + paymentCompetitionService.updateById(paymentCompetition); + +// competition.setApplicantsNumber(competition.getApplicantsNumber() - 1); + competitionService.updateById(competition); + } + + + } + }catch (Exception e){ e.printStackTrace(); } diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java index b5f9feb..7b37e15 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java @@ -278,35 +278,41 @@ ListQuery listQuery = new ListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,eventName,time,state,registerCondition,ids); Page<Competition> competitions = competitionClient.list(listQuery); List<Competition> records = new ArrayList<>(); - for (Competition competition : competitions.getRecords()) { - // 当前时间小于开始时间 - if (competition.getStartTime().after(new Date())){ - competition.setStatus(1); - } - if (competition.getStartTime().before(new Date())){ - if (competition.getEndTime().after(new Date())){ - competition.setStatus(2); - }else{ - competition.setStatus(3); - } - } - if (competition.getStatus()!=state && state != null){ - }else{ - records.add(competition); - } - for (TStore tStore : list) { - String[] split = competition.getStoreId().split(","); - for (String s : split) { - if(s.equals(String.valueOf(tStore.getId()))){ - if (competition.getStoreName()==null){ - competition.setStoreName(tStore.getName()); - }else { - competition.setStoreName(competition.getStoreName()+","+tStore.getName()); - } - } - } - } - } +// for (Competition competition : competitions.getRecords()) { +//// if (competition.getStatus()==4){ +//// continue; +//// } +// +// // 当前时间小于开始时间 +// if (competition.getStartTime().after(new Date())){ +// competition.setStatus(1); +// } +// if (competition.getStartTime().before(new Date())){ +// +// +// if (competition.getEndTime().after(new Date())){ +// competition.setStatus(2); +// }else{ +// competition.setStatus(3); +// } +// } +// if (competition.getStatus()!=state && state != null){ +// }else{ +// records.add(competition); +// } +// for (TStore tStore : list) { +// String[] split = competition.getStoreId().split(","); +// for (String s : split) { +// if(s.equals(String.valueOf(tStore.getId()))){ +// if (competition.getStoreName()==null){ +// competition.setStoreName(tStore.getName()); +// }else { +// competition.setStoreName(competition.getStoreName()+","+tStore.getName()); +// } +// } +// } +// } +// } competitions.setRecords(records); System.err.println(competitions.getRecords()); return super.packForBT(competitions); @@ -393,9 +399,9 @@ @RequestMapping(value = "/cancel") - public Object cancel(Integer id) { + public Object cancel(Integer TCompetitionId) { try { - competitionClient.cancel(id); + competitionClient.cancel(TCompetitionId); return SUCCESS_TIP; }catch (Exception e){ e.printStackTrace(); @@ -446,4 +452,7 @@ } + + + } diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js index 5ffd00f..c7dea08 100644 --- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js +++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetition.js @@ -166,7 +166,7 @@ confirmButtonText: language==1?"删除":(language==2?'Delete':'Hapus'), closeOnConfirm: true }, function () { - var ajax = new $ax(Feng.ctxPath + "/TCompetition/delete", function (data) { + var ajax = new $ax(Feng.ctxPath + "/tCompetition/cancel", function (data) { if(language==1){ swal("删除成功", "您已经成功删除了" + nickname + "。", "success"); }else if(language==2){ -- Gitblit v1.7.1