刘帅
2026-09-08 572df690f72ed4a077d934823f261dec39b3cc7d
cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.activity.entity.*;
import com.dsh.activity.enums.HuiminCardPaymentTypeEnum;
import com.dsh.activity.feignclient.account.AppUserClient;
import com.dsh.activity.feignclient.account.CityClient;
import com.dsh.activity.feignclient.account.StoreStaffClient;
@@ -281,6 +282,7 @@
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
            SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            HuiminAgreementVO huiminAgreementVO = new HuiminAgreementVO();
            List<THuiminCard> cardList = huiminCardService.getHuiminAgreementAndList(pageNo, pageSize, storeId);
            List<THuiminCard> list = huiminCardService.list();
@@ -388,17 +390,39 @@
                                Date start = DateUtil.parse(s1, "yyyy-MM-dd HH:mm:ss");
                                Date end = DateUtil.parse(e1, "yyyy-MM-dd HH:mm:ss");
                                if (new Date().after(start) && new Date().before(end)) {
//                                    jsonObject2.put("start_time", start.getTime() / 1000);
//
                                    Date date1 = new Date();
                                    jsonObject2.put("start_time", date1.getTime() / 1000);
                                    jsonObject2.put("start_time", date1.getTime()/ 1000);
                                    date1.setTime(date1.getTime() + 30 * 1000);
                                    if (start.before(end)) {
                                        jsonObject2.put("end_time", date1.getTime() / 1000);
                                        jsonObject2.put("end_time", date1.getTime()/ 1000);
                                        jsonArray.add(jsonObject2);
                                    }
                                }
                            }
                        }
                        if (jsonArray.isEmpty()){
                            // 返回过期的二维码 保证开门失败即可
                            JSONObject jsonObject3 = new JSONObject();
                            Date date1 = new Date();
                            date1.setTime(date1.getTime() - 300 * 1000);
                            jsonObject3.put("end_time", date1.getTime()/ 1000);
                            jsonObject3.put("start_time", date1.getTime()/ 1000);
                            jsonArray.add(jsonObject3);
                        }
                    }
                }
                else{
                    if (jsonArray.isEmpty()){
                        // 返回过期的二维码 保证开门失败即可
                        JSONObject jsonObject3 = new JSONObject();
                        Date date1 = new Date();
                        date1.setTime(date1.getTime() - 300 * 1000);
                        jsonObject3.put("end_time", date1.getTime()/ 1000);
                        jsonObject3.put("start_time", date1.getTime()/ 1000);
                        jsonArray.add(jsonObject3);
                    }
                }
                if (!jsonArray.isEmpty()) {
@@ -406,13 +430,15 @@
                    TStudent tStudent = tStudents.stream().filter(e -> e.getId().equals(Integer.valueOf(payHuimin.getStudentId().split(",")[0]))).findFirst().orElse(null);
                    if (tStudent!=null){
                        huiminCardVO1.setStudentName(tStudent.getName());
                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
//                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + ",\"codeType\":"+4+"\"dataId\":"+payHuimin.getId()+"}";
                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 +"}";
                        huiminCardVO1.setQrCode(temp);
                    }else{
                        huiminCardVO1.setStudentName("");
                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
//                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + 0 + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + ",\"codeType\":"+4+"\"dataId\":"+payHuimin.getId()+"}";
                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + 0 + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 +"}";
                        huiminCardVO1.setQrCode(temp);
                    }
                    huiminCardVOS.add(huiminCardVO1);
@@ -483,6 +509,7 @@
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
            SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            List<TPayHuimin> payHuimins = payHuiminService.list(new LambdaQueryWrapper<TPayHuimin>()
                    .eq(TPayHuimin::getAppUserId, uid)
                    .eq(TPayHuimin::getCardId, id)
@@ -538,17 +565,38 @@
                                    Date start = DateUtil.parse(s1, "yyyy-MM-dd HH:mm:ss");
                                    Date end = DateUtil.parse(e1, "yyyy-MM-dd HH:mm:ss");
                                    if (new Date().after(start) && new Date().before(end)) {
//                                    jsonObject2.put("start_time", start.getTime() / 1000);
//
                                        Date date1 = new Date();
                                        jsonObject2.put("start_time", date1.getTime() / 1000);
                                        jsonObject2.put("start_time", date1.getTime()/ 1000);
                                        date1.setTime(date1.getTime() + 30 * 1000);
                                        if (start.before(end)) {
                                            jsonObject2.put("end_time", date1.getTime() / 1000);
                                            jsonObject2.put("end_time", date1.getTime()/ 1000);
                                            jsonArray.add(jsonObject2);
                                        }
                                    }
                                }
                            }
                            if (jsonArray.isEmpty()){
                                // 返回过期的二维码 保证开门失败即可
                                JSONObject jsonObject3 = new JSONObject();
                                Date date1 = new Date();
                                date1.setTime(date1.getTime() - 300 * 1000);
                                jsonObject3.put("end_time", date1.getTime()/ 1000);
                                jsonObject3.put("start_time", date1.getTime()/ 1000);
                                jsonArray.add(jsonObject3);
                            }
                        }
                    }else{
                        if (jsonArray.isEmpty()){
                            // 返回过期的二维码 保证开门失败即可
                            JSONObject jsonObject3 = new JSONObject();
                            Date date1 = new Date();
                            date1.setTime(date1.getTime() - 300 * 1000);
                            jsonObject3.put("end_time", date1.getTime()/ 1000);
                            jsonObject3.put("start_time", date1.getTime()/ 1000);
                            jsonArray.add(jsonObject3);
                        }
                    }
                    if (!jsonArray.isEmpty()) {
@@ -585,6 +633,7 @@
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
            SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            List<TStudent> tStudents = studentClient.queryStudentList(uid);
            List<TPayHuimin> payHuimins = payHuiminService.list(new LambdaQueryWrapper<TPayHuimin>()
@@ -646,30 +695,53 @@
                                // 转化为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("start_time", start.getTime() / 1000);
                                start.setTime(start.getTime() + 30 * 1000);
                                if (new Date().after(start) && new Date().before(end)) {
//                                    jsonObject2.put("start_time", start.getTime() / 1000);
//
                                    Date date1 = new Date();
                                    jsonObject2.put("start_time", date1.getTime() / 1000);
                                    jsonObject2.put("start_time", date1.getTime()/ 1000);
                                    date1.setTime(date1.getTime() + 30 * 1000);
                                    if (start.before(end)) {
                                        jsonObject2.put("end_time", date1.getTime() / 1000);
                                        jsonObject2.put("end_time", date1.getTime()/ 1000);
                                        jsonArray.add(jsonObject2);
                                    }
                                }
                            }
                        }
                        if (jsonArray.isEmpty()){
                            // 返回过期的二维码 保证开门失败即可
                            JSONObject jsonObject3 = new JSONObject();
                            Date date1 = new Date();
                            date1.setTime(date1.getTime() - 300 * 1000);
                            jsonObject3.put("end_time", date1.getTime()/ 1000);
                            jsonObject3.put("start_time", date1.getTime()/ 1000);
                            jsonArray.add(jsonObject3);
                        }
                    }
                }else{
                    if (jsonArray.isEmpty()){
                        // 返回过期的二维码 保证开门失败即可
                        JSONObject jsonObject3 = new JSONObject();
                        Date date1 = new Date();
                        date1.setTime(date1.getTime() - 300 * 1000);
                        jsonObject3.put("end_time", date1.getTime()/ 1000);
                        jsonObject3.put("start_time", date1.getTime()/ 1000);
                        jsonArray.add(jsonObject3);
                    }
                }
                TStudent tStudent = tStudents.stream().filter(e -> e.getId().equals(studentId)).findFirst().orElse(null);
                if (tStudent!=null){
                    huiminCardStudentVO.setStudentName(tStudent.getName());
                    String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
//                    String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + ",\"codeType\":"+4+"\"dataId\":"+tPayHuimin.getId()+"}";
                    String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 +"}";
                    huiminCardStudentVO.setQrCode(temp);
                }else{
                    huiminCardStudentVO.setStudentName("");
                    String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
//                    String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + 0 + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + ",\"codeType\":"+4+"\"dataId\":"+tPayHuimin.getId()+"}";
                    String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + 0 + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 +"}";
                    huiminCardStudentVO.setQrCode(temp);
                }
@@ -763,14 +835,11 @@
                return ResultUtil.tokenErr();
            }
            TPayHuimin tPayHuimin = payHuiminService.getById(id);
            if (tPayHuimin.getPaymentType()==3){
                // 后台录入直接退款
                tPayHuimin.setStatus(3);
                payHuiminService.updateById(tPayHuimin);
                return ResultUtil.success();
            }
            if (tPayHuimin == null) {
                return ResultUtil.error("订单不存在");
            }
            if (HuiminCardPaymentTypeEnum.isGift(tPayHuimin.getPaymentType())){
                return ResultUtil.error("赠送惠民卡不允许退款");
            }
            if (tPayHuimin.getStatus() == 3 && tPayHuimin.getRefundStatus() != 1) {
                return ResultUtil.error("不可重复退款");
@@ -842,6 +911,7 @@
            if (tPayHuimin == null) {
                return ResultUtil.error("玩湃惠民卡不存在");
            }
            SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            THuiminCard byId = huiminCardService.getById(tPayHuimin.getCardId());
            MyHuiminCardDetailVO myHuiminCardDetailVO = new MyHuiminCardDetailVO();
            List<TStudent> studentByIds1 = studentClient.getStudentByIds(tPayHuimin.getStudentId());
@@ -892,24 +962,46 @@
                            // 转化为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("start_time", start.getTime() / 1000);
                            start.setTime(start.getTime() + 30 * 1000);
                            if (new Date().after(start) && new Date().before(end)) {
//                                    jsonObject2.put("start_time", start.getTime() / 1000);
//
                                Date date1 = new Date();
                                jsonObject2.put("start_time", date1.getTime() / 1000);
                                jsonObject2.put("start_time", date1.getTime()/ 1000);
                                date1.setTime(date1.getTime() + 30 * 1000);
                                if (start.before(end)) {
                                    jsonObject2.put("end_time", date1.getTime() / 1000);
                                    jsonObject2.put("end_time", date1.getTime()/ 1000);
                                    jsonArray.add(jsonObject2);
                                }
                            }
                        }
                    }
                    if (jsonArray.isEmpty()){
                        // 返回过期的二维码 保证开门失败即可
                        JSONObject jsonObject3 = new JSONObject();
                        Date date1 = new Date();
                        date1.setTime(date1.getTime() - 300 * 1000);
                        jsonObject3.put("end_time", date1.getTime()/ 1000);
                        jsonObject3.put("start_time", date1.getTime()/ 1000);
                        jsonArray.add(jsonObject3);
                    }
                }
            }else{
                if (jsonArray.isEmpty()){
                    // 返回过期的二维码 保证开门失败即可
                    JSONObject jsonObject3 = new JSONObject();
                    Date date1 = new Date();
                    date1.setTime(date1.getTime() - 300 * 1000);
                    jsonObject3.put("end_time", date1.getTime()/ 1000);
                    jsonObject3.put("start_time", date1.getTime()/ 1000);
                    jsonArray.add(jsonObject3);
                }
            }
            String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tPayHuimin.getStudentId().split(",")[0] + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
//            String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tPayHuimin.getStudentId().split(",")[0] + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + ",\"codeType\":"+4+"\"dataId\":"+tPayHuimin.getId()+"}";
            String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tPayHuimin.getStudentId().split(",")[0] + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 +"}";
            myHuiminCardDetailVO.setQrCode(temp);
            myHuiminCardDetailVO.setCardId(tPayHuimin.getCardId());
            myHuiminCardDetailVO.setHuiminCard(byId);
@@ -925,6 +1017,7 @@
        }
    }
    /**
     * 获取添加人员、选择人员说明文案
     */