From 9486766c806fe1d9e082b2fd02ea1cc558f1b443 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 08 五月 2025 09:21:57 +0800 Subject: [PATCH] bug修改 --- cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java | 162 +++++++++++++++++++---------------------------------- 1 files changed, 58 insertions(+), 104 deletions(-) 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 37ce23c..75b3aa0 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 @@ -52,7 +52,7 @@ */ @RestController @RequestMapping("/huimin") -@Api(tags = "惠民卡新增") +@Api(tags = "玩湃惠民卡新增") public class HuiminController { @Autowired @@ -87,13 +87,13 @@ /** - * 查看惠民卡详情 + * 查看玩湃惠民卡详情 */ @ResponseBody @PostMapping("/payHuiminCard") - @ApiOperation(value = "购买惠民卡") + @ApiOperation(value = "购买玩湃惠民卡") @ApiImplicitParams({ - @ApiImplicitParam(value = "惠民卡id", name = "id", dataType = "int", required = true), + @ApiImplicitParam(value = "玩湃惠民卡id", name = "id", dataType = "int", required = true), @ApiImplicitParam(value = "支付方式1微信2支付宝", name = "payType", dataType = "int", required = true), @ApiImplicitParam(value = "绑定学员ids多,个逗号拼接", name = "studentIds", dataType = "String", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -106,12 +106,12 @@ } THuiminCard huiminCard = huiminCardService.getById(id); if (huiminCard.getEndTime() != null && huiminCard.getEndTime().before(new Date())) { - return ResultUtil.error("该惠民卡已过期"); + return ResultUtil.error("该玩湃惠民卡已过期"); } if (huiminCard.getGrantCount() != null) { if (huiminCard.getGrantCount() <= payHuiminService.lambdaQuery().eq(TPayHuimin::getCardId, huiminCard.getId()) .eq(TPayHuimin::getStatus, 2).count()) { - return ResultUtil.error("该惠民卡已售完"); + return ResultUtil.error("该玩湃惠民卡已售完"); } } if (huiminCard.getLimitCount() != null) { @@ -119,7 +119,7 @@ .eq(TPayHuimin::getStatus, 2) .eq(TPayHuimin::getAppUserId, uid) .count()) { - return ResultUtil.error("该惠民卡购买次数已达上限"); + return ResultUtil.error("该玩湃惠民卡购买次数已达上限"); } } TPayHuimin tPayHuimin = new TPayHuimin(); @@ -159,11 +159,11 @@ BigDecimal bigDecimal = new BigDecimal(studentIds.split(",").length); switch (payType) { case 1: - return payMoneyUtil.weixinpay("购买惠民卡" + "-" + 0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(), + return payMoneyUtil.weixinpay("购买玩湃惠民卡" + "-" + 0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(), "/base/huimin/callBack/weixinPayHuiminCallback", "APP", ""); case 2: String string = tPayHuimin.getSalesMoney().toString(); - return payMoneyUtil.alipay(smid, "购买惠民卡", "购买惠民卡", "", tPayHuimin.getCode(), string, + return payMoneyUtil.alipay(smid, "购买玩湃惠民卡", "购买玩湃惠民卡", "", tPayHuimin.getCode(), string, "/base/huimin/callBack/aliPayHuiminCallback"); } @@ -176,13 +176,13 @@ /** - * 查看惠民卡详情 + * 查看玩湃惠民卡详情 */ @ResponseBody @PostMapping("/getHuiminCardDetail") - @ApiOperation(value = "查看惠民卡详情") + @ApiOperation(value = "查看玩湃惠民卡详情") @ApiImplicitParams({ - @ApiImplicitParam(value = "惠民卡id", name = "id", dataType = "int", required = true), + @ApiImplicitParam(value = "玩湃惠民卡id", name = "id", dataType = "int", required = true), @ApiImplicitParam(value = "门店id", name = "storeId", dataType = "int", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) @@ -252,11 +252,11 @@ } /** - * 惠民卡富文本内容-惠民卡列表 + * 玩湃惠民卡富文本内容-玩湃惠民卡列表 */ @ResponseBody @PostMapping("/getHuiminAgreementAndList") - @ApiOperation(value = "惠民卡富文本内容-惠民卡列表") + @ApiOperation(value = "玩湃惠民卡富文本内容-玩湃惠民卡列表") @ApiImplicitParams({ @ApiImplicitParam(value = "页码,首页1", name = "pageSize", dataType = "int", required = true), @ApiImplicitParam(value = "页条数", name = "pageNo", dataType = "int", required = true), @@ -275,7 +275,7 @@ List<THuiminCard> cardListNolimit = huiminCardService.getHuiminAgreementAndListNolimit(storeId); if (cardListNolimit.isEmpty()) { - // 没有配置惠民卡 展示富文本内容 + // 没有配置玩湃惠民卡 展示富文本内容 huiminAgreementVO.setShowType(1); } else { huiminAgreementVO.setShowType(2); @@ -326,6 +326,13 @@ huiminCardVO1.setHuiminName(huiminCard.getHuiMinName()); huiminCardVO1.setCover(huiminCard.getBuyCover()); huiminCardVO1.setIsBuy(1); + int count = huiminRecordService.list(new LambdaQueryWrapper<THuiminRecord>() + .eq(THuiminRecord::getPayId, payHuimin.getId())).size(); + if (count>0){ + huiminCardVOS.add(huiminCardVO1); + integers.add(payHuimin.getCardId()); + continue; + } String siteIds = ""; if (huiminCard.getUseScope() == 2) { siteIds = huiminCard.getUseIds(); @@ -388,7 +395,7 @@ if (tStudent!=null){ huiminCardVO1.setStudentName(tStudent.getName()); } - String temp = "{\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + payHuimin.getStudentId().split(",")[0] + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}"; + String temp = "{\"id\":"+payHuimin.getId() + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + payHuimin.getStudentId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}"; huiminCardVO1.setQrCode(temp); huiminCardVOS.add(huiminCardVO1); integers.add(payHuimin.getCardId()); @@ -425,14 +432,14 @@ int startIndex = (pageNo - 1) * pageSize; int endIndex = Math.min(startIndex + pageSize, huiminCardVOS.size()); -// 防止 startIndex 超过 huiminCardVOS.size() + // 防止 startIndex 超过 huiminCardVOS.size() if (startIndex > huiminCardVOS.size()) { startIndex = huiminCardVOS.size(); } List<HuiminCardVO> paginatedHuiminCardVOS = huiminCardVOS.subList(startIndex, endIndex); -// 将分页后的数据设置到 huiminAgreementVO 中 + // 将分页后的数据设置到 huiminAgreementVO 中 huiminAgreementVO.setCardList(paginatedHuiminCardVOS); -// 将分页后的数据设置到 huiminAgreementVO 中 + // 将分页后的数据设置到 huiminAgreementVO 中 huiminAgreementVO.setCardList(paginatedHuiminCardVOS); // huiminAgreementVO.setCardList(huiminCardVOS); return ResultUtil.success(huiminAgreementVO); @@ -443,13 +450,13 @@ } /** - * 惠民卡列表-根据惠民卡获取已购买绑定惠民卡的学员列表 + * 玩湃惠民卡列表-根据玩湃惠民卡获取已购买绑定玩湃惠民卡的学员列表 */ @ResponseBody @PostMapping("/getStudentListByCarId") - @ApiOperation(value = "惠民卡列表-根据惠民卡获取已购买绑定惠民卡的学员列表") + @ApiOperation(value = "玩湃惠民卡列表-根据玩湃惠民卡获取已购买绑定玩湃惠民卡的学员列表") @ApiImplicitParams({ - @ApiImplicitParam(value = "惠民卡id", name = "id", dataType = "int", required = true), + @ApiImplicitParam(value = "玩湃惠民卡id", name = "id", dataType = "int", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil<List<TStudent>> getStudentListByCarId(Integer id) { @@ -544,13 +551,13 @@ } /** - * 惠民卡列表-选择学员后返回对应的二维码生成规则和有效期结束时间 + * 玩湃惠民卡列表-选择学员后返回对应的二维码生成规则和有效期结束时间 */ @ResponseBody @PostMapping("/getQrCodeByStudentId") - @ApiOperation(value = "惠民卡列表-选择学员后返回对应的二维码生成规则和有效期结束时间") + @ApiOperation(value = "玩湃惠民卡列表-选择学员后返回对应的二维码生成规则和有效期结束时间") @ApiImplicitParams({ - @ApiImplicitParam(value = "惠民卡id", name = "cardId", dataType = "int", required = true), + @ApiImplicitParam(value = "玩湃惠民卡id", name = "cardId", dataType = "int", required = true), @ApiImplicitParam(value = "学员id", name = "studentId", dataType = "int", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) @@ -638,7 +645,7 @@ } } - String temp = "{\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + studentId + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}"; + String temp = "{\"id\":"+tPayHuimin.getId() + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tPayHuimin.getStudentId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}"; huiminCardStudentVO.setQrCode(temp); TStudent tStudent = tStudents.stream().filter(e -> e.getId().equals(studentId)).findFirst().orElse(null); if (tStudent!=null){ @@ -654,11 +661,11 @@ } /** - * 惠民卡富文本内容-惠民卡列表 + * 玩湃惠民卡富文本内容-玩湃惠民卡列表 */ @ResponseBody @PostMapping("/myHuiminCardList") - @ApiOperation(value = "个人中心-我的惠民卡") + @ApiOperation(value = "个人中心-我的玩湃惠民卡") @ApiImplicitParams({ @ApiImplicitParam(value = "页码,首页1", name = "pageSize", dataType = "int", required = true), @ApiImplicitParam(value = "页条数", name = "pageNo", dataType = "int", required = true), @@ -678,15 +685,20 @@ myHuiminCardVO.setEndTime(byId.getEndTime()); myHuiminCardVO.setSalesMoney(byId.getSalesMoney()); int count = huiminRecordService.count(new LambdaQueryWrapper<THuiminRecord>() - .eq(THuiminRecord::getHuiminCardId, myHuiminCardVO.getCardId())); + .eq(THuiminRecord::getPayId, byId.getId())); // 购卡7日内没有使用记录可退款。超过7日不管有没有使用记录都不能退款 if (new Date().after(DateUtil.addDay(myHuiminCardVO.getPaymentTime(), 7))) { // 超过七天不可退款 myHuiminCardVO.setIsRefund(0); - } else if (count >= 7) { + } else if (count > 0) { myHuiminCardVO.setIsRefund(0); } else { myHuiminCardVO.setIsRefund(1); + } + if (byId.getStatus()==4){ + // 退款中 + myHuiminCardVO.setIsRefund(2); + } THuiminCard huiminCard = list.stream().filter(e -> e.getId().equals(myHuiminCardVO.getCardId())).findFirst().orElse(null); if (null != huiminCard) { @@ -713,11 +725,11 @@ } /** - * 个人中心-我的惠民卡-退款 + * 个人中心-我的玩湃惠民卡-退款 */ @ResponseBody @PostMapping("/refund") - @ApiOperation(value = "个人中心-我的惠民卡-退款") + @ApiOperation(value = "个人中心-我的玩湃惠民卡-退款") @ApiImplicitParams({ @ApiImplicitParam(value = "支付记录id", name = "id", dataType = "int", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -735,19 +747,22 @@ if (tPayHuimin.getStatus() == 3 && tPayHuimin.getRefundStatus() != 1) { return ResultUtil.error("不可重复退款"); } + if (tPayHuimin.getEndTime().before(new Date())) { // 已过期 - return ResultUtil.error("惠民卡已过期,不可退款"); + return ResultUtil.error("玩湃惠民卡已过期,不可退款"); } - int count = huiminRecordService.count(new LambdaQueryWrapper<THuiminRecord>() - .eq(THuiminRecord::getHuiminCardId, tPayHuimin.getCardId())); + tPayHuimin.setStatus(4); + payHuiminService.updateById(tPayHuimin); + int count = huiminRecordService.list(new LambdaQueryWrapper<THuiminRecord>() + .eq(THuiminRecord::getPayId, tPayHuimin.getId())).size(); + // 购卡7日内没有使用记录可退款。超过7日不管有没有使用记录都不能退款 if (new Date().after(DateUtil.addDay(tPayHuimin.getPaymentTime(), 7))) { // 超过七天不可退款 - return ResultUtil.error("惠民卡购买超过七天,不可退款"); - } else if (count >= 7) { - // 使用记录大于等于7次不可退款 - return ResultUtil.error("惠民卡使用记录大于等于7次,不可退款"); + return ResultUtil.error("玩湃惠民卡购买超过七天,不可退款"); + } else if (count > 0) { + return ResultUtil.error("玩湃惠民卡已使用,不可退款"); } if (tPayHuimin.getPaymentType() == 1) { Map<String, String> map = payMoneyUtil.wxRefund(tPayHuimin.getOrderNumber(), tPayHuimin.getCode(), @@ -778,75 +793,14 @@ } } - public static void main(String[] args) { -// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); -// LocalDateTime localDateTime = LocalDateTime.now().plusDays(365); -// // 将LocalDateTime转换为Date类型 -// Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); -// String format = simpleDateFormat.format(date); -// System.err.println(format); -// String storeIds = "1001,1002"; -// JSONArray jsonArray = JSONArray.parseArray(Arrays.toString(storeIds.split(","))); -// System.err.println(jsonArray); -// -// // 获取当前日期 -// LocalDate today = LocalDate.now(); -// -// // 获取当前日期是周几 -// DayOfWeek dayOfWeek = today.getDayOfWeek(); -// -// // 输出当前是周几,使用中文显示 -// System.out.println("今天是: " + dayOfWeek.getValue()); - Date start = new Date(); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - System.err.println(simpleDateFormat.format(start)); - start.setTime(start.getTime() + 30 * 1000); - System.err.println(simpleDateFormat.format(start)); -// String temp = "[{\"days\":[{\"value\":\"1\",\"label\":\"星期一\",\"checked\":true},{\"value\":\"2\",\"label\":\"星期二\",\"checked\":true},{\"value\":\"3\",\"label\":\"星期三\",\"checked\":true},{\"value\":\"4\",\"label\":\"星期四\",\"checked\":true},{\"value\":\"5\",\"label\":\"星期五\",\"checked\":true},{\"value\":\"6\",\"label\":\"星期六\",\"checked\":false},{\"value\":\"7\",\"label\":\"星期日\",\"checked\":false}],\"startTime\":\"00:00\",\"endTime\":\"23:59\"}]"; -// // 可用时间 -// LocalDate today = LocalDate.now(); -// -// int week = today.getDayOfWeek().getValue(); -// -// JSONArray time = JSONArray.parseArray(temp); -// int i = 0; -// JSONArray jsonArray = new JSONArray(); -// -// StringBuilder startTime = new StringBuilder(); -// StringBuilder endTime = new StringBuilder(); -// -// String string = LocalDate.now().toString(); -// -// for (Object o : time) { -// JSONObject jsonObject = (JSONObject) o; -// for (Object days : jsonObject.getJSONArray("days")) { -// JSONObject jsonObject1 = (JSONObject) days; -// if (jsonObject1.getString("value").equals(String.valueOf(week))&&jsonObject1.getBoolean("checked")){ -// JSONObject jsonObject2 = new JSONObject(); -// String s1 = string+" "+jsonObject.getString("startTime")+":00"; -// String e1 = string+" "+jsonObject.getString("endTime")+":00"; -// // 转化为Date类型 -// Date start = DateUtil.parse(s1,"yyyy-MM-dd HH:mm:ss"); -// Date end = DateUtil.parse(e1,"yyyy-MM-dd HH:mm:ss"); -// jsonObject2.put("startTime",start.getTime()); -// jsonObject2.put("endTime",end.getTime()); -// jsonArray.add(jsonObject2); -// } -// -// -// } -// i++; -// } -// System.err.println(jsonArray); - } /** - * 个人中心-我的惠民卡-查看详情 + * 个人中心-我的玩湃惠民卡-查看详情 */ @ResponseBody @PostMapping("/myHuiminCardDetail") - @ApiOperation(value = "个人中心-我的惠民卡-查看详情") + @ApiOperation(value = "个人中心-我的玩湃惠民卡-查看详情") @ApiImplicitParams({ @ApiImplicitParam(value = "支付记录id", name = "id", dataType = "int", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") @@ -859,7 +813,7 @@ } TPayHuimin tPayHuimin = payHuiminService.getById(id); if (tPayHuimin == null) { - return ResultUtil.error("惠民卡不存在"); + return ResultUtil.error("玩湃惠民卡不存在"); } THuiminCard byId = huiminCardService.getById(tPayHuimin.getCardId()); MyHuiminCardDetailVO myHuiminCardDetailVO = new MyHuiminCardDetailVO(); @@ -928,7 +882,7 @@ } } - String temp = "{\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tPayHuimin.getStudentId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}"; + String temp = "{\"id\":"+tPayHuimin.getId() + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tPayHuimin.getStudentId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}"; myHuiminCardDetailVO.setQrCode(temp); myHuiminCardDetailVO.setCardId(tPayHuimin.getCardId()); myHuiminCardDetailVO.setHuiminCard(byId); -- Gitblit v1.7.1