nickchange
2023-11-24 18b58aaf9bd99cadd0e7f80fe5d80586f2f4831a
11.24
17个文件已修改
2个文件已添加
361 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuSessionDetailsVo.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/entity/QueryStoreList.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/util/GeodesyUtil.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuSessionDetailsVo.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/model/StuSessionDetailsVo.java
@@ -15,4 +15,13 @@
    @ApiModelProperty(value = "课时有效期")
    private String periodOfValidity;
    @ApiModelProperty(value = "总学时数")
    private Integer totalNums;
    @ApiModelProperty(value = "已扣学时数")
    private Integer deductedNums;
    @ApiModelProperty(value = "剩余学时数")
    private Integer remainingNums;
}
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
@@ -140,12 +140,31 @@
        List<SiteBooking> siteBookings = stClient.wanpaiGoldSiteBookingList(appUserId);
        if (siteBookings.size() > 0 ){
            for (SiteBooking booking : siteBookings) {
                RechargesDetail consumeDetail = new RechargesDetail();
                consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
                consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
                consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
                consumeDetail.setRecordId(2);
                details.add(consumeDetail);
                if (booking.getStatus()!=5) {
                    RechargesDetail consumeDetail = new RechargesDetail();
                    consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
                    consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
                    consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
                    consumeDetail.setRecordId(2);
                    details.add(consumeDetail);
                }else {
                    RechargesDetail consumeDetail1 = new RechargesDetail();
                    consumeDetail1.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg());
                    consumeDetail1.setConsumeTime(simpleDateFormat.format(booking.getCancelTime()));
                    consumeDetail1.setConsumeAmount("+" + booking.getPayMoney());
                    consumeDetail1.setRecordId(1);
                    details.add(consumeDetail1);
                    RechargesDetail consumeDetail = new RechargesDetail();
                    consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
                    consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
                    consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
                    consumeDetail.setRecordId(2);
                    details.add(consumeDetail);
                }
            }
        }
        //    4.智慧球场
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -933,7 +933,7 @@
                RechargeCentVo vo = new RechargeCentVo();
                Double money = (Double) stringObjectMap.get("money");
                vo.setAmount(BigDecimal.valueOf(money) );
                if (tAppUser.getIsVip() == 1){
                if (tAppUser.getIsVip() == 1&&tAppUser.getVipEndTime().after(new Date())){
                    vo.setWpGold((Integer) stringObjectMap.get("MemberCoins"));
                }else {
                    vo.setWpGold((Integer) stringObjectMap.get("usersCoins"));
@@ -1585,7 +1585,7 @@
            UserIntegralChanges userIntegralChanges = new UserIntegralChanges();
            userIntegralChanges.setAppUserId(appUserId);
            userIntegralChanges.setOldIntegral(appUser.getIntegral());
            userIntegralChanges.setType(5);
            userIntegralChanges.setType(2);
            appUser.setIntegral(null == appUser.getIntegral() ? points : appUser.getIntegral() - points);
            userIntegralChanges.setNewIntegral(appUser.getIntegral());
            userIntegralChanges.setInsertTime(new Date());
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -24,10 +24,7 @@
import com.dsh.activity.model.response.GoodsInfoOneVo;
import com.dsh.activity.model.response.StoreVos;
import com.dsh.activity.service.*;
import com.dsh.activity.util.GDMapGeocodingUtil;
import com.dsh.activity.util.StrUtils;
import com.dsh.activity.util.TokenUtil;
import com.dsh.activity.util.ToolUtil;
import com.dsh.activity.util.*;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -279,6 +276,11 @@
    }
    @Resource
    private StoreClient storeClient;
    @Autowired
    private PointsMerchandiseStoreService pointsMerchandiseStoreService;
    @ResponseBody
    @PostMapping("/base/pointMerchars/convertGoods")
    public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception {
@@ -289,15 +291,36 @@
        String cityCode = geocode.get("cityCode");
        List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
//        if(null != geocode) {
            List<Store> stores = storeClient.queryStoreList(new QueryStoreList(provinceCode, cityCode));
            Store s = null;
            Double d = 0D;
            for (Store store : stores) {
                Map<String, Double> distance = GeodesyUtil.getDistance(location.getLon() + "," + location.getLat(), store.getLon() + "," + store.getLat());
                Double wgs84 = distance.get("WGS84");
                if (s == null || d > wgs84) {
                    s = store;
                    d = wgs84;
                }
            }
//        }
//        List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
        List<Integer> cIds = new ArrayList<>();
        for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
            cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
//        for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
//            cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
//        }
        List<PointsMerchandiseStore> storesids =pointsMerchandiseStoreService.list(new QueryWrapper<PointsMerchandiseStore>().eq("storeId",s.getId()));
        for (PointsMerchandiseStore storesid : storesids) {
            cIds.add(storesid.getPointsMerchandiseId());
        }
//        if (cIds.size()>0) {
            List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>()
            List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>().in("id",cIds)
                    .eq("state", 1)
                    .eq("shelves", 1)
                    .gt("endTime", new Date()).last("ORDER BY sort desc,insertTime desc"));
cloud-server-activity/src/main/java/com/dsh/activity/entity/QueryStoreList.java
New file
@@ -0,0 +1,22 @@
package com.dsh.activity.entity;
import lombok.Data;
/**
 * @author zhibing.pu
 * @date 2023/6/28 9:08
 */
@Data
public class QueryStoreList {
    private String provinceCode;
    private String cityCode;
    public QueryStoreList() {
    }
    public QueryStoreList(String provinceCode, String cityCode) {
        this.provinceCode = provinceCode;
        this.cityCode = cityCode;
    }
}
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/other/StoreClient.java
@@ -1,5 +1,6 @@
package com.dsh.activity.feignclient.other;
import com.dsh.activity.entity.QueryStoreList;
import com.dsh.activity.feignclient.other.model.Store;
import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse;
import com.dsh.activity.feignclient.other.model.StoreInfoDto;
@@ -14,6 +15,9 @@
    /**
     * 获取根据门店id 获取店长信息
     */
    @PostMapping("/store/queryStoreList")
    List<Store> queryStoreList(QueryStoreList queryStoreList);
    @RequestMapping(value = "/getStoreInfo")
    public StoreInfoDto getStoreInfo(@RequestBody Integer id);
cloud-server-activity/src/main/java/com/dsh/activity/util/GeodesyUtil.java
New file
@@ -0,0 +1,63 @@
package com.dsh.activity.util;
import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GeodeticCurve;
import org.gavaghan.geodesy.GlobalCoordinates;
import java.util.HashMap;
import java.util.Map;
/**
 * 计算两个金纬度坐标之间的直线距离
 */
public class GeodesyUtil {
    /**
     * 获取直线距离
     * @param fromLonLat
     * @param toLonLat
     * @return
     */
    public static Map<String, Double> getDistance(String fromLonLat, String toLonLat){
        String[] from = fromLonLat.split(",");
        String[] to = toLonLat.split(",");
        GlobalCoordinates source = new GlobalCoordinates(Double.valueOf(from[1]), Double.valueOf(from[0]));
        GlobalCoordinates target = new GlobalCoordinates(Double.valueOf(to[1]), Double.valueOf(to[0]));
        double Sphere = getDistanceMeter(source, target, Ellipsoid.Sphere);
        double WGS84 = getDistanceMeter(source, target, Ellipsoid.WGS84);
        double GRS80 = getDistanceMeter(source, target, Ellipsoid.GRS80);
        double GRS67 = getDistanceMeter(source, target, Ellipsoid.GRS67);
        double ANS = getDistanceMeter(source, target, Ellipsoid.ANS);
        double WGS72 = getDistanceMeter(source, target, Ellipsoid.WGS72);
        double Clarke1858 = getDistanceMeter(source, target, Ellipsoid.Clarke1858);
        double Clarke1880 = getDistanceMeter(source, target, Ellipsoid.Clarke1880);
//        System.out.println("Sphere坐标系计算结果:"+Sphere + "米");
//        System.out.println("WGS84坐标系计算结果:"+WGS84 + "米");
//        System.out.println("GRS80坐标系计算结果:"+GRS80 + "米");
//        System.out.println("GRS67坐标系计算结果:"+GRS67 + "米");
//        System.out.println("ANS坐标系计算结果:"+ANS + "米");
//        System.out.println("WGS72坐标系计算结果:"+WGS72 + "米");
//        System.out.println("Clarke1858坐标系计算结果:"+Clarke1858 + "米");
//        System.out.println("Clarke1880坐标系计算结果:"+Clarke1880 + "米");
        Map<String, Double> map = new HashMap<>();
        map.put("Sphere", Sphere);
        map.put("WGS84", WGS84);
        map.put("GRS80", GRS80);
        map.put("GRS67", GRS67);
        map.put("ANS", ANS);
        map.put("WGS72", WGS72);
        map.put("Clarke1858", Clarke1858);
        map.put("Clarke1880", Clarke1880);
        return map;
    }
    private static double getDistanceMeter(GlobalCoordinates gpsFrom, GlobalCoordinates gpsTo, Ellipsoid ellipsoid){
        //创建GeodeticCalculator,调用计算方法,传入坐标系、经纬度用于计算距离
        GeodeticCurve geoCurve = new GeodeticCalculator().calculateGeodeticCurve(ellipsoid, gpsFrom, gpsTo);
        return geoCurve.getEllipsoidalDistance();
    }
}
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/CompetitionServiceImpl.java
@@ -229,7 +229,19 @@
        String[] split = paymentCompetitionVo.getIds().split(";");
        Competition competition = this.getById(paymentCompetitionVo.getId());
        int competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("competitionId", paymentCompetitionVo.getId()));
        List<PaymentCompetition> list = paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>().eq("competitionId", paymentCompetitionVo.getId()).ne("payStatus", 3));
        List<Long> pays = new ArrayList<>();
        for (PaymentCompetition paymentCompetition : list) {
            pays.add(paymentCompetition.getId());
        }
        int competitionId = 0;
        if (!pays.isEmpty()) {
            competitionId =   userCompetitionService.count(new QueryWrapper<UserCompetition>().in("paymentCompetitionId", pays));
        }
//        int competitionId = userCompetitionService.count(new QueryWrapper<UserCompetition>().eq("competitionId", paymentCompetitionVo.getId()));
        if ((competitionId+split.length)>competition.getApplicantsNumber()){
            return ResultUtil.error("报名人数超过最大限制");
        }
cloud-server-competition/src/main/java/com/dsh/competition/service/impl/PaymentCompetitionServiceImpl.java
@@ -272,7 +272,7 @@
            paymentCompetition.setAppUserId(null);
            this.updateById(paymentCompetition);
            competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
//            competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
            competitionService.updateById(competition);
        }
        if(paymentCompetition.getPayType() == 3){//玩湃币支付
@@ -286,7 +286,7 @@
            paymentCompetition.setAppUserId(null);
            this.updateById(paymentCompetition);
            competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
//            competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
            competitionService.updateById(competition);
        }
        if(paymentCompetition.getPayType() == 4){//课程支付
@@ -307,7 +307,7 @@
            paymentCompetition.setAppUserId(null);
            this.updateById(paymentCompetition);
            competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
//            competition.setApplicantsNumber(competition.getApplicantsNumber() - 1);
            competitionService.updateById(competition);
        }
        return ResultUtil.success();
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -596,16 +596,45 @@
            List<Integer> collect = byUserId.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
            List<TCoursePackage> list = tcpService.list(new QueryWrapper<TCoursePackage>()
                    .in("id", collect));
            list.forEach(vo -> {
            byUserId.forEach(vo -> {
                StuSessionDetailsVo detVo = new StuSessionDetailsVo();
                if (vo.getType()!=2) {
                    detVo.setSessionid(vo.getId());
                    detVo.setSessionName(vo.getName());
                    String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + "");
                    detVo.setPeriodOfValidity(afterDayDate);
                    detVo.setSessionid(vo.getCoursePackageId());
                TCoursePackage byId = coursePackageService.getById(vo.getCoursePackageId());
                detVo.setSessionName(byId.getName());
//                    String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + "");
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
                String format1 = simpleDateFormat.format(vo.getUseTime());
                detVo.setPeriodOfValidity(format1);
                detVo.setTotalNums(vo.getTotalClassHours());
                    detVo.setDeductedNums(vo.getTotalClassHours()-vo.getLaveClassHours());
                    detVo.setRemainingNums(vo.getLaveClassHours());
                    detailsVos.add(detVo);
                }
            });
//            list.forEach(vo -> {
//                StuSessionDetailsVo detVo = new StuSessionDetailsVo();
//                if (vo.getType()!=2) {
//                    detVo.setSessionid(vo.getId());
//                    detVo.setSessionName(vo.getName());
//                    String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + "");
//                    detVo.setPeriodOfValidity(afterDayDate);
//
//                    detVo.setTotalNums(ToolUtil.isEmpty(tCoursePackagePayment.getTotalCourseNums()) ? 0 : tCoursePackagePayment.getTotalCourseNums());
//                    detVo.setDeductedNums(ToolUtil.isEmpty(tCoursePackagePayment.getDeductionNums()) ? 0 : tCoursePackagePayment.getDeductionNums());
//                    detVo.setRemainingNums(ToolUtil.isEmpty(tCoursePackagePayment.getResidueNums())? 0 : tCoursePackagePayment.getResidueNums());
//
//                    detailsVos.add(detVo);
//                }
//            });
        }
        return detailsVos;
    }
@@ -1084,6 +1113,9 @@
        }
    }
@Autowired
private TOrderService orderService;
    /**
     * 已报名课程详情
@@ -1105,7 +1137,14 @@
            if(null == appUserId){
                return ResultUtil.tokenErr();
            }
            return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId));
            CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId,lon,lat);
            if (orderId!=null){
                TOrder byId = orderService.getById(orderId);
                courseDetailsResponse.setAmount(byId.getPrice());
            }
            return ResultUtil.success(courseDetailsResponse);
        }catch (Exception e){
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
@@ -2213,14 +2252,14 @@
                            .eq(CoursePackageScheduling::getCoursePackageId, tCoursePackage.getId())
                            .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
                    );
                    if(list3.size()==0){
                    if(list3.isEmpty()){
                        detailsListVo.setType(2);
                        objects.add(detailsListVo);
                        continue;
                    }
                    //排课的ids
                    List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
                    if(collect2.size()==0){
                    if(collect2.isEmpty()){
                        collect2.add(-1l);
                    }
cloud-server-course/src/main/java/com/dsh/course/feignclient/model/StuSessionDetailsVo.java
@@ -14,5 +14,13 @@
    @ApiModelProperty(value = "课时有效期")
    private String periodOfValidity;
    @ApiModelProperty(value = "总学时数")
    private Integer totalNums;
    @ApiModelProperty(value = "已扣学时数")
    private Integer deductedNums;
    @ApiModelProperty(value = "剩余学时数")
    private Integer remainingNums;
}
cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java
@@ -55,7 +55,6 @@
    private Integer chooseHours;
    @ApiModelProperty("课时套餐")
    private List<CoursePackagePaymentConfigVo> list;
    @ApiModelProperty("门店地址")
    private String storeAddress;
    @ApiModelProperty("门店名称")
cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java
@@ -76,7 +76,7 @@
     * @param appUserId
     * @return
     */
    CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId);
    CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId,String lon,String lat);
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
@@ -56,6 +56,8 @@
//            map.put("registered", count);
            int count1 = coursePackageStudentService.count(new QueryWrapper<CoursePackageStudent>().eq("coursePackageSchedulingId", id).eq("reservationStatus", 1));
            int count2 = coursePackageStudentService.count(new QueryWrapper<CoursePackageStudent>().eq("coursePackageSchedulingId", id).eq("reservationStatus", 0));
            map.put("registered", count2);
            map.put("actualArrival", count1);
            map.put("nonArrival", count - count1);
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageDiscountServiceImpl.java
@@ -75,6 +75,9 @@
            if (tCoursePackageDiscounts.size() > 0) {
                for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
                    TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
                    if (coursePackage.getState()==2){
                        continue;
                    }
//                    判断预约人数是否已满
//                    Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
//                    Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
@@ -209,6 +212,10 @@
            if (tCoursePackageDiscounts.size() > 0) {
                for (TCoursePackageDiscount tCoursePackageDiscount : tCoursePackageDiscounts) {
                    TCoursePackage coursePackage = tcpMapper.selectById(tCoursePackageDiscount.getCoursePackageId());
                    if (coursePackage.getState()==2){
                        continue;
                    }
//                    判断预约人数是否已满
                    Integer maxSubscribeNumber = coursePackage.getMaxSubscribeNumber();
                    Integer integer = tcppMapper.selectCount(new QueryWrapper<TCoursePackagePayment>()
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -498,8 +498,10 @@
    @Autowired
    private  TCoursePackageDiscountService coursePackageDiscountService;
    @Resource StoreClient storeClient;
    @Override
    public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId) {
    public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId,String lon,String lat) {
        AppUser appUser = appuClient.queryAppUser(appUserId);
        CourseDetailsResponse response = new CourseDetailsResponse();
        TCoursePackagePayment tCoursePackagePayment = this.baseMapper.selectById(coursePayId);
@@ -518,17 +520,17 @@
                response.setTime(new SimpleDateFormat("yyyy.MM.dd").format(coursePackage.getStartTime()) + "-" + new SimpleDateFormat("yyyy.MM.dd").format(coursePackage.getEndTime()));
            }
//            Store store = storeClient.queryStoreById(coursePackage.getStoreId());
//            response.setStoreName(store.getName());
//            response.setStoreCoverDrawing(store.getCoverDrawing());
//            response.setStoreAddress(store.getAddress());
//            response.setLon(store.getLon());
//            response.setLat(store.getLat());
//            if(ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)){
//                Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat());
//                double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
//                response.setDistance(wgs84);
//            }
            Store store = storeClient.queryStoreById(coursePackage.getStoreId());
            response.setStoreName(store.getName());
            if(ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)){
                Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat());
                double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                response.setDistance(wgs84);
            }
            response.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1166,6 +1166,10 @@
            }else {
                if (coursePackagePaymentServiceOne.getPayStatus()==1){
                    isContinue = 1;
                }
//                coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours());
//                coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
//                coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
@@ -1203,11 +1207,11 @@
        }
        //新的订单添加
        if (paymentCourseVo.getOrderId()==null) {
            TOrder order = new TOrder();
            order.setIsPay(1);
            order.setPayType(2);
            order.setPayType(1);
            order.setAppUserId(uid);
            order.setPrice(paymentPrice);
            order.setCode(code);
@@ -1245,12 +1249,17 @@
                            Thread.sleep(wait);
                            List<TCoursePackagePayment> list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("state", 1).eq("code", code).eq("payType", 2));
                            TCoursePackagePayment one = list.get(0);
                            List<TOrder> list1 = orderService.list(new QueryWrapper<TOrder>().eq("code", code).eq("payType", 1));
                            TOrder order = list1.get(0);
                            AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code);
                            if(one.getPayStatus() == 2){
                            if(order.getIsPay() == 2){
                                break;
                            }
                            if( one.getPayStatus() == 1){
                            if(order.getIsPay() == 1){
                                /**
                                 * WAIT_BUYER_PAY(交易创建,等待买家付款)、
                                 * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
@@ -1276,6 +1285,14 @@
                                    }
                                    coursePackagePaymentService.updateBatchById(list);
                                    for (TOrder tOrder : list1) {
                                        tOrder.setIsPay(2);
                                        tOrder.setOrderNum(tradeNo);
                                    }
                                    orderService.updateBatchById(list1);
                                    for (String s1 : split) {
@@ -1348,7 +1365,7 @@
                                    userCouponClient.sendUserCoupon(new SendCouponReq(uid,coursePackagePaymentConfig.getCouponIds()));
                                    for (TCoursePackagePayment coursePackagePayment : list) {
                                        addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentCourseVo.getPrice());
                                        addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentPrice);
                                    }
                                    moneyOut(tradeNo,tradeNo);
@@ -1483,6 +1500,9 @@
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
        List<Long> pays = new ArrayList<>();
        TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId());
@@ -1561,6 +1581,8 @@
                    courseCounsumService.save(courseCounsum1);
                }
                pays.add(coursePackagePayment.getId());
            }else{
                coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
                if (coursePackagePaymentServiceOne.getOriginalPrice()!=null) {
@@ -1618,10 +1640,34 @@
                }
                pays.add(coursePackagePaymentServiceOne.getId());
            }
        }
        if (paymentCourseVo.getOrderId()==null) {
            TOrder order = new TOrder();
            order.setIsPay(1);
            order.setPayType(2);
            order.setAppUserId(appUser.getId());
            order.setPrice(paymentPrice);
            order.setCode(code);
            String paysStr = pays.stream()
                    .map(String::valueOf)
                    .collect(Collectors.joining(","));
            order.setPaysId(paysStr);
            orderService.save(order);
        }
        Integer playPaiCoins = appUser.getPlayPaiCoins();
        appUser.setPlayPaiCoins(playPaiCoins - paymentPrice.intValue());
        appUserClient.updateAppUser(appUser);
cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java
@@ -93,7 +93,7 @@
    /**
     * 零时任务
     */
    @Scheduled(cron = "0 0 0 * * *")
    @Scheduled(cron = "0 0 23 * * *")
    public void zeroTask(){
        //定时添加排课数据
//        coursePackageSchedulingService.taskAddData();
cloud-server-other/src/main/java/com/dsh/other/service/impl/SiteServiceImpl.java
@@ -635,9 +635,11 @@
            String[] split = siteBooking.getTimes().split(";");
            if(site!=null){
                if (queryMySiteVo.getIsHalf()==1) {
                    queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
                }else {
                    queryMySiteVo.setPlayPaiCoin((int) (site.getPlayPaiCoinOne() * split.length));
                }else {
                    queryMySiteVo.setPlayPaiCoin(site.getPlayPaiCoin() * split.length);
                }
            }
        }