无关风月
2025-04-30 4adb656ffd2c3660e07d224dd483e7479d48b46e
cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
@@ -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);
@@ -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){
@@ -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) {
@@ -735,19 +747,22 @@
            if (tPayHuimin.getStatus() == 3 && tPayHuimin.getRefundStatus() != 1) {
                return ResultUtil.error("不可重复退款");
            }
            if (tPayHuimin.getEndTime().before(new Date())) {
                // 已过期
                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次,不可退款");
            } else if (count > 0) {
                return ResultUtil.error("惠民卡已使用,不可退款");
            }
            if (tPayHuimin.getPaymentType() == 1) {
                Map<String, String> map = payMoneyUtil.wxRefund(tPayHuimin.getOrderNumber(), tPayHuimin.getCode(),
@@ -778,68 +793,7 @@
        }
    }
    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);
    }
    /**
     * 个人中心-我的惠民卡-查看详情
@@ -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);