mitao
2025-11-03 f3228ef06ffc53fdbe3c51b58ed24e5f5686457f
Merge remote-tracking branch 'origin/2.0' into 2.0
8个文件已修改
284 ■■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ExchangeDetailsResponse.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OssUploadUtil.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/ExchangeDetailsResponse.java
@@ -9,6 +9,10 @@
@Data
public class ExchangeDetailsResponse {
    @ApiModelProperty(value = "2.0新增字段二维码类型 1订场 2散客 3门票 4惠民卡")
    private Integer codeType;
    @ApiModelProperty(value = "2.0新增字段数据id")
    private Integer dataId;
    @ApiModelProperty(value = "记录id")
    private Long detailsId;
@@ -25,6 +29,7 @@
    @ApiModelProperty(value = "兑换方式(1=积分,2=积分+现金 3=现金 4=会员赠送 当该字段为4时切goodType=3门票时 展示的二维码内容增加一个vipDetail:当前数据id)")
    private Integer exchangeType;
    @ApiModelProperty(value = "有效期开始时间")
    private String startTime;
cloud-server-activity/src/main/java/com/dsh/activity/controller/HuiminController.java
@@ -398,7 +398,9 @@
                                        jsonArray.add(jsonObject2);
                                    }
                                }
                            }else{
                            }
                        }
                        if (jsonArray.isEmpty()){
                                // 返回过期的二维码 保证开门失败即可
                                JSONObject jsonObject3 = new JSONObject();
                                Date date1 = new Date();
@@ -407,11 +409,11 @@
                                jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                                jsonArray.add(jsonObject3);
                            }
                        }
                    }
                }
                else{
                    if (jsonArray.isEmpty()){
                    // 返回过期的二维码 保证开门失败即可
                    JSONObject jsonObject3 = new JSONObject();
                    Date date1 = new Date();
@@ -420,19 +422,20 @@
                    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 + "}";
                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + tStudent.getId() + "\"," + "\"time\":" + jsonArray.toJSONString() + ",\"type\":" + 2 + ",\"codeType\":"+4+"\"dataId\":"+payHuimin.getId()+"}";
                        huiminCardVO1.setQrCode(temp);
                    }else{
                        huiminCardVO1.setStudentName("");
                        String temp = "{\"id\":"+payHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + 0 + "\"," + "\"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()+"}";
                        huiminCardVO1.setQrCode(temp);
                    }
                    huiminCardVOS.add(huiminCardVO1);
@@ -568,7 +571,9 @@
                                            jsonArray.add(jsonObject2);
                                        }
                                    }
                                }else{
                                }
                            }
                            if (jsonArray.isEmpty()){
                                    // 返回过期的二维码 保证开门失败即可
                                    JSONObject jsonObject3 = new JSONObject();
                                    Date date1 = new Date();
@@ -579,16 +584,17 @@
                                    jsonArray.add(jsonObject3);
                                }
                            }
                        }
                    }else{
                        if (jsonArray.isEmpty()){
                        // 返回过期的二维码 保证开门失败即可
                        JSONObject jsonObject = new JSONObject();
                            JSONObject jsonObject3 = 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));
                            jsonObject3.put("end_time", simpleDateFormat1.format( date1));
                            jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                        jsonArray.add(jsonObject);
                            jsonArray.add(jsonObject3);
                        }
                    }
                    if (!jsonArray.isEmpty()) {
                        // 将学员加入
@@ -698,7 +704,9 @@
                                        jsonArray.add(jsonObject2);
                                    }
                                }
                            }else{
                            }
                        }
                        if (jsonArray.isEmpty()){
                                // 返回过期的二维码 保证开门失败即可
                                JSONObject jsonObject3 = new JSONObject();
                                Date date1 = new Date();
@@ -709,25 +717,26 @@
                                jsonArray.add(jsonObject3);
                            }
                        }
                    }
                }else{
                    if (jsonArray.isEmpty()){
                    // 返回过期的二维码 保证开门失败即可
                    JSONObject jsonObject = new JSONObject();
                        JSONObject jsonObject3 = 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));
                        jsonObject3.put("end_time", simpleDateFormat1.format( date1));
                        jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                    jsonArray.add(jsonObject);
                        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()+"}";
                    huiminCardStudentVO.setQrCode(temp);
                }else{
                    huiminCardStudentVO.setStudentName("");
                    String temp = "{\"id\":"+tPayHuimin.getId()  + ","+"\"sid\":" + sid.toJSONString() + "," + "\"rid\":" + rid + "," + "\"uid\":\"" + 0 + "\"," + "\"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()+"}";
                    huiminCardStudentVO.setQrCode(temp);
                }
@@ -963,7 +972,9 @@
                                    jsonArray.add(jsonObject2);
                                }
                            }
                        }else{
                        }
                    }
                    if (jsonArray.isEmpty()){
                            // 返回过期的二维码 保证开门失败即可
                            JSONObject jsonObject3 = new JSONObject();
                            Date date1 = new Date();
@@ -974,19 +985,20 @@
                            jsonArray.add(jsonObject3);
                        }
                    }
                }
            }else{
                if (jsonArray.isEmpty()){
                // 返回过期的二维码 保证开门失败即可
                JSONObject jsonObject = new JSONObject();
                    JSONObject jsonObject3 = 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));
                    jsonObject3.put("end_time", simpleDateFormat1.format( date1));
                    jsonObject3.put("start_time", simpleDateFormat1.format( date1));
                jsonArray.add(jsonObject);
                    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()+"}";
            myHuiminCardDetailVO.setQrCode(temp);
            myHuiminCardDetailVO.setCardId(tPayHuimin.getCardId());
            myHuiminCardDetailVO.setHuiminCard(byId);
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -95,11 +95,13 @@
    public void changeState(@RequestBody CoachChangeStateVO dto) {
        pmdsService.changeState(dto);
    }
    @ResponseBody
    @PostMapping("/base/pointMerchars/goodsList")
    public List<PointsMerchandise> goodsList() {
        return pmdsService.list();
    }
    /**
     * 根据id查询
     */
@@ -396,13 +398,13 @@
    @PostMapping("/base/pointMerchars/getCommoditys")
    public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request) {
        PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo();
        List<PointsMerchandise> list = new ArrayList<>();
        String provinceCode = "";
        String cityCode = "";
        if (ToolUtil.isEmpty(request.getLon()) && ToolUtil.isEmpty(request.getLat())) {
            return pointMerchandiseVo;
        }
        }else{
        try {
            Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat());
            provinceCode = geocode.get("provinceCode");
@@ -410,6 +412,8 @@
        } catch (Exception e) {
            e.printStackTrace();
        }
        }
        list = pmdsService.list(new QueryWrapper<PointsMerchandise>()
                .eq("state", 1)
@@ -418,6 +422,27 @@
                .ge("endTime", new Date())
                .eq("status", 1)
        );
        if (request.getShopId()!=null){
            List<Integer> storeId = new ArrayList<>();
            storeId.add(request.getShopId());
            List<Store> stores = storeClient.queryStoreByIds(storeId);
            Store store = stores.get(0);
            provinceCode = store.getProvinceCode();
            cityCode = store.getCityCode();
            List<Integer> pointsMerchandiseIds = pmdstoService.lambdaQuery().eq(PointsMerchandiseStore::getStoreId, request.getShopId()).list()
                    .stream().map(PointsMerchandiseStore::getPointsMerchandiseId)
                    .collect(Collectors.toList());
            if (pointsMerchandiseIds.isEmpty()){
                pointMerchandiseVo.setMerchandises(list);
                return pointMerchandiseVo;
            }else{
                List<PointsMerchandise> pointsMerchandiseList = pmdsService.lambdaQuery().in(PointsMerchandise::getId, pointsMerchandiseIds).list();
                list.addAll(pointsMerchandiseList);
                List<PointsMerchandise> listAll = list.stream().distinct().collect(Collectors.toList());
                list = listAll;
            }
        }
        if (list.size() > 0) {
            Iterator<PointsMerchandise> iterator = list.iterator();
            while (iterator.hasNext()) {
@@ -834,7 +859,6 @@
    private ICouponService couponService;
    @ResponseBody
    @PostMapping("/base/pointMerchars/getDetailsOfExchange")
    public ExchangeDetailsVo getIntegralExchangeDetails(@RequestBody Integer appUserId) throws ParseException {
@@ -885,6 +909,8 @@
                detailsResponse.setUseStatus(pointsMerchandise.getStatus() == 1 ? 2 : 1);
                detailsResponse.setGoodType(merchandise.getType());
                if (merchandise.getType() == 3) {
                    detailsResponse.setCodeType(3);
                    detailsResponse.setDataId(pointsMerchandise.getPointsMerchandiseId());
                    detailsResponse.setCardType(merchandise.getCardType());
                    List<Integer> sids = new ArrayList<>();
                    detailsResponse.setUserId(appUserId);
@@ -1078,6 +1104,7 @@
                detailsResponse.setEndTime(simpleDateFormat.format(vipDetail.getEndTime()));
                detailsResponse.setUseStatus(vipDetail.getStatus()==1?2:1);
                detailsResponse.setGoodType(3);
            detailsResponse.setCardType(3);
                // 表明是会员赠送的门票
                detailsResponse.setExchangeType(4);
                // 全国通用
@@ -1510,6 +1537,7 @@
        upmseService.save(merchandise);
        return merchandise.getId();
    }
    @PostMapping("/base/pointMerchars/saveDetailsUserPointMercaseList")
    public Boolean saveDetailsUserPointMercaseList(@RequestBody List<UserPointsMerchandise> merchandises) {
        for (UserPointsMerchandise merchandise : merchandises) {
@@ -1910,7 +1938,6 @@
        }
        return storeVos;
    }
    @ResponseBody
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/ExchangeDetailsResponse.java
@@ -10,6 +10,10 @@
@Data
public class ExchangeDetailsResponse {
    @ApiModelProperty(value = "2.0新增字段二维码类型 1订场 2散客 3门票 4惠民卡")
    private Integer codeType;
    @ApiModelProperty(value = "2.0新增字段数据id")
    private Integer dataId;
    @ApiModelProperty(value = "记录id")
    private Long detailsId;
@@ -25,6 +29,8 @@
    @ApiModelProperty(value = "兑换方式(1=积分,2=积分+现金 3=现金 4=会员赠送 当该字段为4时 展示的二维码内容增加一个vipDetail:当前数据id)")
    private Integer exchangeType;
    @ApiModelProperty(value = "有效期开始时间")
    private String startTime;
cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/OssUploadUtil.java
@@ -11,10 +11,14 @@
import java.util.UUID;
public class OssUploadUtil {
    // LTAI5tKLeAE1B5n2mvTZ5yy6
    // zradDLTBGdzq26tYz9RUCUh0sPmfhh
    //OSS图片访问域名
    public static String oss_domain = "https://we-park-life.oss-cn-beijing.aliyuncs.com/";
    public static String accessKeyId = "LTAI47eyqWWhBPXM";
    public static String accessKeySecret = "orsYX78NvgXS9KbN7wCwRja1wkUwPc";
//    public static String accessKeyId = "LTAI5tE3ownRhJ7eXsuW7Vn7";
//    public static String accessKeySecret = "Crgi0OhtDRuJafIeyT3JQL9v0P4EgH";
    public static String accessKeyId = "LTAI5tKLeAE1B5n2mvTZ5yy6";
    public static String accessKeySecret = "zradDLTBGdzq26tYz9RUCUh0sPmfhh";
    public static String bucketName="we-park-life";
    public static String endpoint = "oss-cn-beijing.aliyuncs.com";
    
cloud-server-other/src/main/java/com/dsh/other/controller/CodeCallBackController.java
@@ -21,18 +21,20 @@
@RestController
@RequestMapping("/base/code")
public class CodeCallBackController {
    // 进场二维码新增参数codeType 1=订场 2=散客,3=门票,玩湃惠民卡codeType=4
     /**
     * 硬件开门后回调 是否可进场检查接口 sid门店id rid场地id
     */
    @PostMapping("/verify")
    public ResultUtil verify(Integer codeType, Integer rid, Integer sid) {
    public ResultUtil verify(Integer codeType,Integer dataId, Integer rid, Integer sid) {
        System.err.println("硬件开门后回调 校验是否可入场");
        System.err.println("codeType:"+codeType);
        System.err.println("dataId:"+dataId);
        System.err.println("rid:"+rid);
        System.err.println("sid:"+sid);
        Date date = new Date();
        // codeType二维码类型 1=订场 2=散客 散客需要校验能否进场
        // codeType二维码类型1=订场 2=散客,3=门票,玩湃惠民卡codeType=4 234需要校验能否进场
        if (codeType==1){
            return ResultUtil.success(true);
        }
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -363,10 +363,12 @@
    })
    public ResultUtil reservationSite(ReservationSite reservationSite) {
        try {
            Integer uid = tokenUtil.getUserIdFormRedis();
            if (null == uid) {
                return ResultUtil.tokenErr();
            }
//            Integer uid = tokenUtil.getUserIdFormRedis();
//            if (null == uid) {
//                return ResultUtil.tokenErr();
//            }
            Integer uid = 201;
            return siteService.reservationSite(uid, reservationSite);
        } catch (Exception e) {
            e.printStackTrace();
@@ -634,6 +636,7 @@
            HashMap<String, Object> map = new HashMap<>();
            System.err.println("预约id"+id);
            SiteBooking siteBooking = siteBookingService.getById(id);
            Integer targetAudience = siteBooking.getTargetAudience();
            System.err.println("预约"+siteBooking);
            Integer storeId = siteBooking.getStoreId();
            Store byId1 = service.getById(storeId);
@@ -644,6 +647,10 @@
            map.put("siteType", siteType.getName());
            map.put("shopName", byId1.getName());
            map.put("shopAddress", byId1.getAddress());
            // 进场二维码新增参数codeType 1=订场 2=散客,3=门票,玩湃惠民卡codeType=4
            map.put("codeType", targetAudience);
            map.put("dataId", siteBooking.getId());
            System.err.println("订场类型:"+targetAudience);
            map.put("name", site.getName());
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -90,6 +90,7 @@
    private ISiteService siteService;
    /**
     * 获取场地列表
     *
@@ -137,7 +138,6 @@
            querySiteInfoVo.setTargetAudience(3);
        }
        querySiteInfoVo.setTargetAudience(3);
        querySiteInfoVo.setId(site.getId());
        querySiteInfoVo.setTypeName(site.getTypeName());
        querySiteInfoVo.setName(site.getName());
@@ -817,17 +817,39 @@
        List<QueryMySiteVo> queryMySiteVos = this.baseMapper.queryMySite(uid, status, pageNo, pageSize);
        for (QueryMySiteVo queryMySiteVo : queryMySiteVos) {
            SiteBooking siteBooking = siteBookingService.getById(queryMySiteVo.getId());
            Site site = this.getById(siteBooking.getSiteId());
            String[] split = siteBooking.getTimes().split(";");
            if (site != null) {
                if (queryMySiteVo.getIsHalf() == 1) {
                    queryMySiteVo.setPlayPaiCoin((int) (site.getPlayPaiCoinOne() * split.length));
            // 所选时间段 所需总计金额
            BigDecimal money = BigDecimal.ZERO;
            BigDecimal playCoin = BigDecimal.ZERO;
            for (String s : split) {
                } else {
                    queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
                String day = s.split(" ")[0];
                String time = s.split(" ")[1];
                String bookingStart = day + " " + time.split("-")[0];
                String bookingEnd = day + " " + time.split("-")[1];
                List<QuerySiteTimes> querySiteTimes = querySiteTimes(siteBooking.getId(), day, siteBooking.getHalfName(), siteBooking.getNextName(), siteBooking.getTargetAudience());
                for (QuerySiteTimes querySiteTime : querySiteTimes) {
                    String timePriceStart = day + " " + querySiteTime.getTime().split("-")[0];
                    String timePriceEnd = day + " " + querySiteTime.getTime().split("-")[1];
//                    if (!isTimePeriodsIntersect(timePriceStart, timePriceEnd, bookingStart, bookingEnd)) {
//                        // 时间不相交
//                    } else if (querySiteTime.getSelectable() == 0) {
//                        if (querySiteTime.getIsReserve() == 1) {
//                            return ResultUtil.error("【" + s + "】" +
//                                    "时间段已被使用");
//                        } else {
//                            return ResultUtil.error("【" + s + "】" +
//                                    "时间段散客人数已满");
//                        }
//                    }
                    if (querySiteTime.getTime().equals(time)) {
                        money = money.add(querySiteTime.getCashPrice());
                        playCoin = playCoin.add(querySiteTime.getCoinPrice());
                        break;
                }
            }
            }
            queryMySiteVo.setPlayPaiCoin(playCoin.setScale(0, RoundingMode.DOWN).intValue());
        }
        return queryMySiteVos;
    }
@@ -967,23 +989,34 @@
        Site site = this.getById(siteBooking.getSiteId());
        AppUser appUser = appUserClient.queryAppUser(uid);
        String[] split = siteBooking.getTimes().split(";");
        Double payMoney = 0D;
        if (payType == 3) {
//            payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
            if (appUser.getPlayPaiCoins().compareTo(payMoney.intValue()) < 0) {
                return ResultUtil.error("玩湃币不足");
        // 所选时间段 所需总计金额
        BigDecimal money = BigDecimal.ZERO;
        BigDecimal playCoin = BigDecimal.ZERO;
        for (String s : split) {
            String day = s.split(" ")[0];
            String time = s.split(" ")[1];
            String bookingStart = day + " " + time.split("-")[0];
            String bookingEnd = day + " " + time.split("-")[1];
            List<QuerySiteTimes> querySiteTimes = querySiteTimes(siteBooking.getId(), day, siteBooking.getHalfName(), siteBooking.getNextName(), siteBooking.getTargetAudience());
            for (QuerySiteTimes querySiteTime : querySiteTimes) {
                String timePriceStart = day + " " + querySiteTime.getTime().split("-")[0];
                String timePriceEnd = day + " " + querySiteTime.getTime().split("-")[1];
                if (!isTimePeriodsIntersect(timePriceStart, timePriceEnd, bookingStart, bookingEnd)) {
                    // 时间不相交
                } else if (querySiteTime.getSelectable() == 0) {
                    if (querySiteTime.getIsReserve() == 1) {
                        return ResultUtil.error("【" + s + "】" +
                                "时间段已被使用");
                    } else {
                        return ResultUtil.error("【" + s + "】" +
                                "时间段散客人数已满");
            }
            if (siteBooking.getIsHalf() == 2) {
                payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
            } else {
                payMoney = new BigDecimal(site.getPlayPaiCoinOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
            }
        } else {
            if (siteBooking.getIsHalf() == 2) {
                payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
            } else {
                payMoney = new BigDecimal(site.getCashPriceOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                if (querySiteTime.getTime().equals(time)) {
                    money = money.add(querySiteTime.getCashPrice());
                    playCoin = playCoin.add(querySiteTime.getCoinPrice());
                    break;
                }
            }
        }
@@ -997,12 +1030,12 @@
                JSONObject jsonObject = JSON.parseObject(coupon.getContent());
                Double num1 = jsonObject.getDouble("conditionalAmount");
                Double num2 = jsonObject.getDouble("deductionAmount");
                payMoney = new BigDecimal(payMoney).subtract(new BigDecimal(num2)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                money = money.subtract(new BigDecimal(num2)).setScale(2, RoundingMode.HALF_EVEN);
            }
            if (coupon.getType() == 2) {//代金券
                JSONObject jsonObject = JSON.parseObject(coupon.getContent());
                Double num1 = jsonObject.getDouble("conditionalAmount");
                payMoney = new BigDecimal(payMoney).subtract(new BigDecimal(num1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                money = money.subtract(new BigDecimal(num1)).setScale(2, RoundingMode.HALF_EVEN);
            }
            userCoupon.setStatus(2);
            userCouponClient.updateUserCoupon(userCoupon);
@@ -1016,19 +1049,19 @@
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        siteBooking.setOrderNo(sdf.format(new Date()) + UUIDUtil.getNumberRandom(3));
        siteBooking.setPayType(payType);
        siteBooking.setPayMoney(payMoney);
        siteBooking.setPayMoney(money.doubleValue());
        if (payType == 3) {
            siteBooking.setUserCouponId(null);
        }
        siteBookingService.updateById(siteBooking);
        if (payType == 1) {//微信支付
            return weChatPaymentSite(payMoney, siteBooking);
            return weChatPaymentSite(money.doubleValue(), siteBooking);
        }
        if (payType == 2) {//支付宝支付
            return aliPaymentSite(payMoney, siteBooking);
            return aliPaymentSite(money.doubleValue(), siteBooking);
        }
        if (payType == 3) {//玩湃币支付
            return playPaiCoinPaymentSite(appUser, payMoney, siteBooking);
            return playPaiCoinPaymentSite(appUser, playCoin.doubleValue(), siteBooking);
        }
        return ResultUtil.success();
    }
@@ -1050,22 +1083,35 @@
        Site site = this.getById(siteBooking.getSiteId());
        String[] split = siteBooking.getTimes().split(";");
        Map<String, Double> map = new HashMap<>();
        Double payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
        if (siteBooking.getIsHalf() == 2) {
            payMoney = new BigDecimal(site.getPlayPaiCoin()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
        // 所选时间段 所需总计金额
        BigDecimal money = BigDecimal.ZERO;
        BigDecimal playCoin = BigDecimal.ZERO;
        for (String s : split) {
            String day = s.split(" ")[0];
            String time = s.split(" ")[1];
            String bookingStart = day + " " + time.split("-")[0];
            String bookingEnd = day + " " + time.split("-")[1];
            List<QuerySiteTimes> querySiteTimes = querySiteTimes(siteBooking.getId(), day, siteBooking.getHalfName(), siteBooking.getNextName(), siteBooking.getTargetAudience());
            for (QuerySiteTimes querySiteTime : querySiteTimes) {
                String timePriceStart = day + " " + querySiteTime.getTime().split("-")[0];
                String timePriceEnd = day + " " + querySiteTime.getTime().split("-")[1];
                if (!isTimePeriodsIntersect(timePriceStart, timePriceEnd, bookingStart, bookingEnd)) {
                    // 时间不相交
                } else if (querySiteTime.getSelectable() == 0) {
                    if (querySiteTime.getIsReserve() == 1) {
                        return ResultUtil.error("【" + s + "】" +
                                "时间段已被使用");
        } else {
            payMoney = new BigDecimal(site.getPlayPaiCoinOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                        return ResultUtil.error("【" + s + "】" +
                                "时间段散客人数已满");
        }
        map.put("playPaiCoin", payMoney);
        payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
        if (siteBooking.getIsHalf() == 2) {
            payMoney = new BigDecimal(site.getCashPrice()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
        } else {
            payMoney = new BigDecimal(site.getCashPriceOne()).multiply(new BigDecimal(split.length)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                }
                if (querySiteTime.getTime().equals(time)) {
                    money = money.add(querySiteTime.getCashPrice());
                    playCoin = playCoin.add(querySiteTime.getCoinPrice());
                    break;
                }
            }
        }
        //校验优惠券
@@ -1078,15 +1124,24 @@
                JSONObject jsonObject = JSON.parseObject(coupon.getContent());
                Double num1 = jsonObject.getDouble("conditionalAmount");
                Double num2 = jsonObject.getDouble("deductionAmount");
                payMoney = new BigDecimal(payMoney).subtract(new BigDecimal(num2)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                money = money.subtract(new BigDecimal(num2)).setScale(2, RoundingMode.HALF_EVEN);
            }
            if (coupon.getType() == 2) {//代金券
                JSONObject jsonObject = JSON.parseObject(coupon.getContent());
                Double num1 = jsonObject.getDouble("conditionalAmount");
                payMoney = new BigDecimal(payMoney).subtract(new BigDecimal(num1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                money = money.subtract(new BigDecimal(num1)).setScale(2, RoundingMode.HALF_EVEN);
            }
        }
        map.put("cash", payMoney);
        switch (siteBooking.getPayType()){
            case 1:
                map.put("cash", money.doubleValue());
                break;
            case 2:
                map.put("cash", money.doubleValue());
                break;
            case 3:
                map.put("cash", playCoin.doubleValue());
        }
        return ResultUtil.success(map);
    }