From 457c4cd19b4ae4404c9dd1f5f0b80025c722abd2 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 03 四月 2025 11:15:17 +0800 Subject: [PATCH] 惠民卡代码 --- cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardDetailVO.java | 6 + cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java | 3 cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java | 7 + cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java | 9 +- cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminCallBack.java | 147 ++++++++++++++++++------------------ cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java | 30 +++---- cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java | 9 + cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java | 1 cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java | 3 cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java | 4 10 files changed, 115 insertions(+), 104 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java index c3b57d9..8aca9b6 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java @@ -262,7 +262,12 @@ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); vo.setBirthday(simpleDateFormat.format(sts.getBirthday())); vo.setStuName(sts.getName()); - vo.setStuAge(DateUtil.age(sts.getBirthday())); + if (sts.getBirthday()!=null){ + vo.setStuAge(DateUtil.age(sts.getBirthday())); + + }else{ + vo.setStuAge(18); + } vo.setStuHeight(sts.getHeight()); vo.setStuWeight(sts.getWeight()); vo.setIsNot(sts.getIsDefault()); diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminCallBack.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminCallBack.java index 5aea013..9d7f5f4 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminCallBack.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminCallBack.java @@ -13,6 +13,7 @@ import com.dsh.activity.model.response.HuiminCardVO; import com.dsh.activity.service.*; +import com.dsh.activity.util.PayMoneyUtil; import com.dsh.activity.util.ResultUtil; import com.dsh.activity.util.TokenUtil; import com.dsh.activity.util.UUIDUtil; @@ -43,7 +44,7 @@ * @date 2023/6/24 11:27 */ @RestController -@RequestMapping("/huimin/callBack") +@RequestMapping("/base/huimin/callBack") public class HuiminCallBack { @Autowired @@ -64,8 +65,8 @@ private SiteClient siteClient; @Resource private StoreClient storeClient; -// @Resource -// private PayMoneyUtil payMoneyUtil; + @Resource + private PayMoneyUtil payMoneyUtil; @Autowired @@ -78,60 +79,60 @@ */ @PostMapping("/aliPayHuiminCallback") public void aliPayHuiminCallback(HttpServletRequest request, HttpServletResponse response) { -// try { -// System.err.println("==========回调"); -// Map<String, String> map = payMoneyUtil.alipayCallback(request); -// if (null != map) { -// String out_trade_no = map.get("out_trade_no"); -// String transaction_id = map.get("transaction_id"); -// TPayHuimin one = payHuiminService.getOne(new LambdaQueryWrapper<TPayHuimin>().eq(TPayHuimin::getCode, out_trade_no)); -// if (one!=null){ -// if (one.getStatus()==2){ -// PrintWriter out = response.getWriter(); -// out.write("success"); -// out.flush(); -// out.close(); -// }else{ -// one.setOrderNumber(transaction_id); -// one.setStatus(2); -// one.setPaymentTime(new Date()); -// payHuiminService.updateById(one); -// } -// } -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } + try { + System.err.println("==========回调"); + Map<String, String> map = payMoneyUtil.alipayCallback(request); + if (null != map) { + String out_trade_no = map.get("out_trade_no"); + String transaction_id = map.get("transaction_id"); + TPayHuimin one = payHuiminService.getOne(new LambdaQueryWrapper<TPayHuimin>().eq(TPayHuimin::getCode, out_trade_no)); + if (one!=null){ + if (one.getStatus()==2){ + PrintWriter out = response.getWriter(); + out.write("success"); + out.flush(); + out.close(); + }else{ + one.setOrderNumber(transaction_id); + one.setStatus(2); + one.setPaymentTime(new Date()); + payHuiminService.updateById(one); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } } /** * 惠民卡微信支付回调接口 */ @PostMapping("/weixinPayHuiminCallback") public void weixinPayHuiminCallback(HttpServletRequest request, HttpServletResponse response) { -// try { -// Map<String, String> map = payMoneyUtil.weixinpayCallback(request); -// if (null != map) { -// String out_trade_no = map.get("out_trade_no"); -// String transaction_id = map.get("transaction_id"); -// String result = map.get("result"); -// TPayHuimin one = payHuiminService.getOne(new LambdaQueryWrapper<TPayHuimin>().eq(TPayHuimin::getCode, out_trade_no)); -// if (one!=null){ -// if (one.getStatus()==2){ -// PrintWriter out = response.getWriter(); -// out.write(result); -// out.flush(); -// out.close(); -// }else{ -// one.setOrderNumber(transaction_id); -// one.setStatus(2); -// one.setPaymentTime(new Date()); -// payHuiminService.updateById(one); -// } -// } -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } + try { + Map<String, String> map = payMoneyUtil.weixinpayCallback(request); + if (null != map) { + String out_trade_no = map.get("out_trade_no"); + String transaction_id = map.get("transaction_id"); + String result = map.get("result"); + TPayHuimin one = payHuiminService.getOne(new LambdaQueryWrapper<TPayHuimin>().eq(TPayHuimin::getCode, out_trade_no)); + if (one!=null){ + if (one.getStatus()==2){ + PrintWriter out = response.getWriter(); + out.write(result); + out.flush(); + out.close(); + }else{ + one.setOrderNumber(transaction_id); + one.setStatus(2); + one.setPaymentTime(new Date()); + payHuiminService.updateById(one); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } } /** * 惠民卡微信退款回调 @@ -141,27 +142,27 @@ @ResponseBody @PostMapping("/wxRefundHuiminCallback") public void wxRefundHuiminCallback(HttpServletRequest request, HttpServletResponse response){ -// Map<String, String> map = payMoneyUtil.wxRefundCallback(request); -// if(null != map){ -// String refund_id = map.get("refund_id"); -// String out_refund_no = map.get("out_refund_no"); -// String result = map.get("result"); -// TPayHuimin one = payHuiminService.getOne(new LambdaQueryWrapper<TPayHuimin>() -// .eq(TPayHuimin::getCode, out_refund_no)); -// one.setRefundStatus(2); -// one.setRefundTime(new Date()); -// one.setStatus(3); -// one.setRefundNumber(refund_id); -// payHuiminService.updateById(one); -// PrintWriter out = null; -// try { -// out = response.getWriter(); -// } catch (IOException e) { -// throw new RuntimeException(e); -// } -// out.println(result); -// out.flush(); -// out.close(); -// } + Map<String, String> map = payMoneyUtil.wxRefundCallback(request); + if(null != map){ + String refund_id = map.get("refund_id"); + String out_refund_no = map.get("out_refund_no"); + String result = map.get("result"); + TPayHuimin one = payHuiminService.getOne(new LambdaQueryWrapper<TPayHuimin>() + .eq(TPayHuimin::getCode, out_refund_no)); + one.setRefundStatus(2); + one.setRefundTime(new Date()); + one.setStatus(3); + one.setRefundNumber(refund_id); + payHuiminService.updateById(one); + PrintWriter out = null; + try { + out = response.getWriter(); + } catch (IOException e) { + throw new RuntimeException(e); + } + out.println(result); + out.flush(); + out.close(); + } } } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java index 663def8..13f5e8c 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java @@ -83,18 +83,7 @@ private TokenUtil tokenUtil; private String smid = "2088330203191220";//平台支付宝商户号 - public static void main(String[] args) { - Date date = new Date(); - date.setMonth(11); - date.setDate(31); - date.setHours(23); - date.setMinutes(59); - date.setSeconds(59); - System.err.println(date); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - System.err.println(simpleDateFormat.format(date)); - } /** * 查看惠民卡详情 */ @@ -145,13 +134,15 @@ tPayHuimin.setCardId(huiminCard.getId()); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); tPayHuimin.setCode(sdf.format(new Date()) + UUIDUtil.getNumberRandom(5)); + System.err.println("支付数据"+tPayHuimin); + payHuiminService.save(tPayHuimin); switch (payType){ case 1: return payMoneyUtil.weixinpay("购买惠民卡"+"-"+0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(), - "/huimin/callBack/weixinPayHuiminCallback", "APP", ""); + "/base/huimin/callBack/weixinPayHuiminCallback", "APP", ""); case 2: return payMoneyUtil.alipay(smid,"购买惠民卡", "购买惠民卡", "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(), - "/huimin/callBack/aliPayHuiminCallback"); + "/base/huimin/callBack/aliPayHuiminCallback"); } } catch (Exception e) { @@ -315,6 +306,8 @@ List<MyHuiminCardVO> cardList = huiminCardService.getMyHuiminCardList(pageNo,pageSize,uid); List<THuiminCard> list = huiminCardService.list(); for (MyHuiminCardVO myHuiminCardVO : cardList) { + TPayHuimin byId = payHuiminService.getById(myHuiminCardVO.getId()); + myHuiminCardVO.setSalesMoney(byId.getSalesMoney()); if (myHuiminCardVO.getEndTime().before(new Date())){ // 已过期 myHuiminCardVO.setIsExpire(1); @@ -372,7 +365,7 @@ } if (tPayHuimin.getPaymentType()==1){ Map<String, String> map = payMoneyUtil.wxRefund(tPayHuimin.getOrderNumber(), tPayHuimin.getCode(), - tPayHuimin.getSalesMoney().toString(), tPayHuimin.getSalesMoney().toString(), "/base/worldCup/wxRefundWorldCupCallback"); + tPayHuimin.getSalesMoney().toString(), tPayHuimin.getSalesMoney().toString(), "/base/huimin/callBack/wxRefundHuiminCallback"); if(!"SUCCESS".equals(map.get("return_code"))){ System.err.println("-------------微信退款失败---------"); System.err.println(map.get("return_msg")); @@ -420,11 +413,12 @@ } THuiminCard byId = huiminCardService.getById(tPayHuimin.getCardId()); MyHuiminCardDetailVO myHuiminCardDetailVO = new MyHuiminCardDetailVO(); -// myHuiminCardDetailVO.setQrCode(); + String storeIds = byId.getStoreIds(); + String temp ="{\"storeIds\":\"" +storeIds+"\","+"\"useWeeks:\"\""+byId.getUseWeeks()+"\","+"\"useTimes:\""+byId.getUseTimes()+"\","+"\"unUseTimes:\""+byId.getUnUseTimes()+"\"}"; + myHuiminCardDetailVO.setQrCode(temp); myHuiminCardDetailVO.setCardId(tPayHuimin.getCardId()); - if (byId!=null){ - myHuiminCardDetailVO.setIntroduce(byId.getIntroduce()); - } + myHuiminCardDetailVO.setHuiminCard(byId); + myHuiminCardDetailVO.setIntroduce(byId.getIntroduce()); myHuiminCardDetailVO.setEndTime(tPayHuimin.getEndTime()); // 查询绑定人员列表 List<TStudent> studentByIds = studentClient.getStudentByIds(tPayHuimin.getStudentId()); diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java index c4b5485..64ac795 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/entity/THuiminCard.java @@ -118,14 +118,14 @@ /** *可使用时间段,时分秒,多个逗号分隔 */ - @ApiModelProperty(value = "可使用时间段,时分秒,多个逗号分隔") + @ApiModelProperty(value = "可使用时间段,时分秒,多个逗号分隔,跨周分号分隔") @TableField("useTimes") private String useTimes; /** *不可用时间段,yyyy-MM-dd HH:mm:ss,多个逗号分隔 */ @TableField("unUseTimes") - @ApiModelProperty(value = "可用时间段,yyyy-MM-dd HH:mm:ss,多个逗号分隔") + @ApiModelProperty(value = "不可用时间段,yyyy-MM-dd HH:mm:ss,多个逗号分隔") private String unUseTimes; /** *使用范围1门店2场地 diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardDetailVO.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardDetailVO.java index a0332bd..dfcebb9 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardDetailVO.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardDetailVO.java @@ -1,5 +1,6 @@ package com.dsh.activity.model.response; +import com.dsh.activity.entity.THuiminCard; import com.dsh.activity.entity.TStudent; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; @@ -16,7 +17,7 @@ @NoArgsConstructor @ApiModel(value = "我的惠民卡详情VO") public class MyHuiminCardDetailVO { - @ApiModelProperty("二维码") + @ApiModelProperty("二维码生成规则") private String qrCode; @ApiModelProperty("惠民卡id") private Integer cardId; @@ -27,7 +28,8 @@ private Date endTime; @ApiModelProperty("绑定人员列表") private List<TStudent> studentList; - + @ApiModelProperty("惠民卡") + private THuiminCard huiminCard; } diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java index 7849a18..ab297a5 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/model/response/MyHuiminCardVO.java @@ -8,6 +8,7 @@ import lombok.Data; import lombok.NoArgsConstructor; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -36,6 +37,8 @@ private Date paymentTime; @ApiModelProperty("绑定人员列表") private List<TStudent> studentList; + @ApiModelProperty("金额") + private BigDecimal salesMoney; @ApiModelProperty("绑定学员ids 前端忽略") private String studentId; diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java b/cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java index 65fc4d2..abc7fb4 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/util/PayMoneyUtil.java @@ -70,7 +70,8 @@ private String alipay_root_cert_path = "C:/cert/alipay/user/alipay_root_cert_path.crt";//支付宝CA根证书文件路径 - private String certPath = "/usr/playpai/cert/weixin/apiclient_cert.p12";//微信证书 +// private String certPath = "/usr/playpai/cert/weixin/apiclient_cert.p12";//微信证书 + private String certPath = "D:/apiclient_cert.p12";//微信证书 public ResultUtil confirm(String smid,String code, String outTradeNo, String amount) { AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java b/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java index a01a29e..bda3eb5 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/controller/ParticipantController.java @@ -78,16 +78,15 @@ @ApiOperation(value = "获取参赛人员列表", tags = {"APP-赛事活动列表", "我的二维码", "人员管理", "APP-社区世界杯"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), - @ApiImplicitParam(value = "isPre(1过滤)", name = "是否过滤未实名", required = true, dataType = "int") }) - public ResultUtil<List<ParticipantVo>> queryParticipantList(Integer isPre) { + public ResultUtil<List<ParticipantVo>> queryParticipantList() { try { Integer uid = tokenUtil.getUserIdFormRedis(); if (null == uid) { return ResultUtil.tokenErr(); } List<ParticipantVo> participantVos = participantService.queryParticipantList(uid); - if (isPre != null) { +// if (isPre != null) { List<ParticipantVo> filteredParticipants = new ArrayList<>(); for (ParticipantVo participant : participantVos) { @@ -96,9 +95,9 @@ } } return ResultUtil.success(filteredParticipants); - } +// } - return ResultUtil.success(participantVos); +// return ResultUtil.success(participantVos); } catch (Exception e) { e.printStackTrace(); return ResultUtil.runErr(); diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java index d56c271..888ccea 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java @@ -119,8 +119,13 @@ participantVo.setId(participant.getId()); participantVo.setName(participant.getName()); participantVo.setIdcard(participant.getIdcard()); - Integer age = Integer.valueOf(sdf_year.format(new Date())) - Integer.valueOf(sdf_year.format(participant.getBirthday())); - participantVo.setAge(age); + if (null != participant.getBirthday()){ + Integer age = Integer.valueOf(sdf_year.format(new Date())) - Integer.valueOf(sdf_year.format(participant.getBirthday())); + participantVo.setAge(age); + }else{ + participantVo.setAge(18); + + } Student student = null; if(ToolUtil.isNotEmpty(participant.getPhone())){ student = studentClient.queryStudentByPhone(participant.getPhone()); diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java index 6cd50e0..a76a0ca 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/THuiminCardController.java @@ -34,6 +34,7 @@ */ @RequestMapping("/tHuiminCard_add") public String tHuiminCardAdd() { + return PREFIX + "tHuiminCard_add.html"; } -- Gitblit v1.7.1