无关风月
3 天以前 b27efc697f2f81e0d0f247a2708e58af52a5df9b
cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
@@ -28,6 +28,7 @@
import com.dsh.activity.model.response.*;
import com.dsh.activity.service.*;
import com.dsh.activity.util.*;
import com.dsh.activity.util.wx.WxV3PayConfig;
import com.google.gson.Gson;
import io.swagger.annotations.*;
import io.swagger.models.auth.In;
@@ -84,6 +85,7 @@
    @Autowired
    private TokenUtil tokenUtil;
    private String smid = "2088330203191220";//平台支付宝商户号
    /**
@@ -157,10 +159,20 @@
            System.err.println("支付数据" + tPayHuimin);
            payHuiminService.save(tPayHuimin);
            BigDecimal bigDecimal = new BigDecimal(studentIds.split(",").length);
            if (tPayHuimin.getSalesMoney().compareTo(BigDecimal.ZERO)==0){
                // 零元购
                tPayHuimin.setStatus(2);
                tPayHuimin.setPaymentTime(new Date());
                payHuiminService.updateById(tPayHuimin);
                return ResultUtil.success();
            }
            switch (payType) {
                case 1:
                    return payMoneyUtil.weixinpay("购买玩湃惠民卡" + "-" + 0, "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(),
                    // todo 惠民卡收入属于平台商户 定死
                    return payMoneyUtil.weixinpay("购买玩湃惠民卡", "", tPayHuimin.getCode(), tPayHuimin.getSalesMoney().toString(),
                            "/base/huimin/callBack/weixinPayHuiminCallback", "APP", "");
//                return payMoneyUtil.weixinpayV3("1720719391","购买玩湃惠民卡",tPayHuimin.getCode(),
//                        "/base/huimin/callBack/weixinPayHuiminCallback1",tPayHuimin.getSalesMoney().toString());
                case 2:
                    String string = tPayHuimin.getSalesMoney().toString();
                    return payMoneyUtil.alipay(smid, "购买玩湃惠民卡", "购买玩湃惠民卡", "", tPayHuimin.getCode(), string,
@@ -269,6 +281,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();
@@ -376,27 +389,52 @@
                                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", simpleDateFormat1.format( date1));
                                    date1.setTime(date1.getTime() + 30 * 1000);
                                    if (start.before(end)) {
                                        jsonObject2.put("end_time", date1.getTime() / 1000);
                                        jsonObject2.put("end_time", simpleDateFormat1.format( date1));
                                        jsonArray.add(jsonObject2);
                                    }
                                }
                            }else{
                                // 返回过期的二维码 保证开门失败即可
                                JSONObject jsonObject3 = new JSONObject();
                                Date date1 = new Date();
                                date1.setTime(date1.getTime() - 300 * 1000);
                                jsonObject3.put("end_time", simpleDateFormat1.format( date1));
                                jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                                jsonArray.add(jsonObject3);
                            }
                        }
                    }
                }
                else{
                    // 返回过期的二维码 保证开门失败即可
                    JSONObject jsonObject3 = new JSONObject();
                    Date date1 = new Date();
                    date1.setTime(date1.getTime() - 300 * 1000);
                    jsonObject3.put("end_time", simpleDateFormat1.format( date1));
                    jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                    jsonArray.add(jsonObject3);
                }
                if (!jsonArray.isEmpty()) {
                    huiminCardVO1.setEndTime(simpleDateFormat.format(payHuimin.getEndTime()));
                    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 + "}";
                        huiminCardVO1.setQrCode(temp);
                    }else{
                        huiminCardVO1.setStudentName("");
                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + 0 + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
                        huiminCardVO1.setQrCode(temp);
                    }
                    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());
@@ -465,6 +503,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)
@@ -520,18 +559,36 @@
                                    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", simpleDateFormat1.format( date1));
                                        date1.setTime(date1.getTime() + 30 * 1000);
                                        if (start.before(end)) {
                                            jsonObject2.put("end_time", date1.getTime() / 1000);
                                            jsonObject2.put("end_time", simpleDateFormat1.format( date1));
                                            jsonArray.add(jsonObject2);
                                        }
                                    }
                                }else{
                                    // 返回过期的二维码 保证开门失败即可
                                    JSONObject jsonObject3 = new JSONObject();
                                    Date date1 = new Date();
                                    date1.setTime(date1.getTime() - 300 * 1000);
                                    jsonObject3.put("end_time", simpleDateFormat1.format( date1));
                                    jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                                    jsonArray.add(jsonObject3);
                                }
                            }
                        }
                    }else{
                        // 返回过期的二维码 保证开门失败即可
                        JSONObject jsonObject = new JSONObject();
                        Date date1 = new Date();
                        date1.setTime(date1.getTime() - 300 * 1000);
                        jsonObject.put("end_time", simpleDateFormat1.format( date1));
                        jsonObject.put("start_time", simpleDateFormat1.format( date1));
                        jsonArray.add(jsonObject);
                    }
                    if (!jsonArray.isEmpty()) {
                        // 将学员加入
@@ -567,6 +624,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>()
@@ -628,29 +686,51 @@
                                // 转化为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", simpleDateFormat1.format( date1));
                                    date1.setTime(date1.getTime() + 30 * 1000);
                                    if (start.before(end)) {
                                        jsonObject2.put("end_time", date1.getTime() / 1000);
                                        jsonObject2.put("end_time", simpleDateFormat1.format( date1));
                                        jsonArray.add(jsonObject2);
                                    }
                                }
                            }else{
                                // 返回过期的二维码 保证开门失败即可
                                JSONObject jsonObject3 = new JSONObject();
                                Date date1 = new Date();
                                date1.setTime(date1.getTime() - 300 * 1000);
                                jsonObject3.put("end_time", simpleDateFormat1.format( date1));
                                jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                                jsonArray.add(jsonObject3);
                            }
                        }
                    }
                }
                }else{
                    // 返回过期的二维码 保证开门失败即可
                    JSONObject jsonObject = new JSONObject();
                    Date date1 = new Date();
                    date1.setTime(date1.getTime() - 300 * 1000);
                    jsonObject.put("end_time", simpleDateFormat1.format( date1));
                    jsonObject.put("start_time", simpleDateFormat1.format( date1));
                String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tPayHuimin.getStudentId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
                huiminCardStudentVO.setQrCode(temp);
                    jsonArray.add(jsonObject);
                }
                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 + "}";
                    huiminCardStudentVO.setQrCode(temp);
                }else{
                    huiminCardStudentVO.setStudentName("");
                    String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + 0 + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
                    huiminCardStudentVO.setQrCode(temp);
                }
            }
@@ -741,6 +821,12 @@
                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("订单不存在");
            }
@@ -752,7 +838,6 @@
                // 已过期
                return ResultUtil.error("玩湃惠民卡已过期,不可退款");
            }
            tPayHuimin.setStatus(4);
            payHuiminService.updateById(tPayHuimin);
            int count = huiminRecordService.list(new LambdaQueryWrapper<THuiminRecord>()
                    .eq(THuiminRecord::getPayId, tPayHuimin.getId())).size();
@@ -815,6 +900,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());
@@ -865,24 +951,42 @@
                            // 转化为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", simpleDateFormat1.format( date1));
                                date1.setTime(date1.getTime() + 30 * 1000);
                                if (start.before(end)) {
                                    jsonObject2.put("end_time", date1.getTime() / 1000);
                                    jsonObject2.put("end_time", simpleDateFormat1.format( date1));
                                    jsonArray.add(jsonObject2);
                                }
                            }
                        }else{
                            // 返回过期的二维码 保证开门失败即可
                            JSONObject jsonObject3 = new JSONObject();
                            Date date1 = new Date();
                            date1.setTime(date1.getTime() - 300 * 1000);
                            jsonObject3.put("end_time", simpleDateFormat1.format( date1));
                            jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                            jsonArray.add(jsonObject3);
                        }
                    }
                }
            }else{
                // 返回过期的二维码 保证开门失败即可
                JSONObject jsonObject = new JSONObject();
                Date date1 = new Date();
                date1.setTime(date1.getTime() - 300 * 1000);
                jsonObject.put("end_time", simpleDateFormat1.format( date1));
                jsonObject.put("start_time", simpleDateFormat1.format( date1));
                jsonArray.add(jsonObject);
            }
            String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"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().split(",")[0] + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + "}";
            myHuiminCardDetailVO.setQrCode(temp);
            myHuiminCardDetailVO.setCardId(tPayHuimin.getCardId());
            myHuiminCardDetailVO.setHuiminCard(byId);