修复app端加入玩湃中课程列表数据字段bug;使用福利的课时详情的记录bug
16个文件已修改
331 ■■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/ExploreWPController.java
@@ -110,14 +110,15 @@
    @PostMapping("/base/exploreWP/storeList")
    @ApiOperation(value = "联系客服-门店列表", tags = {"APP-探索玩湃"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "距离数值", name = "space", required = true, dataType = "int"),
            @ApiImplicitParam(value = "1=升序/2=降序", name = "space", required = true, dataType = "int"),
            @ApiImplicitParam(value = "城市code", name = "space", required = true, dataType = "string"),
            @ApiImplicitParam(value = "纬度", name = "latitude", required = true, dataType = "string"),
            @ApiImplicitParam(value = "经度", name = "longitude", required = true, dataType = "string"),
            @ApiImplicitParam(value = "搜索", name = "search", required = true, dataType = "string"),
    })
    public ResultUtil<List<StoreDetailList>> getStoreListCon(Integer space,String cityCode,String latitude,String longitude){
    public ResultUtil<List<StoreDetailList>> getStoreListCon(Integer space,String cityCode,String latitude,String longitude,String search){
        try {
            return ResultUtil.success(tsService.queryStoreList(space,cityCode,latitude,longitude));
            return ResultUtil.success(tsService.queryStoreList(space,cityCode,latitude,longitude,search));
        }catch (Exception e){
            return ResultUtil.runErr();
        }
cloud-server-account/src/main/java/com/dsh/account/feignclient/course/CoursePaymentClient.java
@@ -54,7 +54,7 @@
    public List<TCoursePackagePayment> getAmountPayRecord(@RequestBody BillingDataRequestVo appUserId);
    @PostMapping("/base/coursePack/obtainStudentClassDetails")
    List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId);
    List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId);
    @PostMapping("/base/coursePack/getCoursePackagePaymentOfCode")
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreInfo.java
@@ -14,7 +14,7 @@
    private String storeImg;
    @ApiModelProperty(value = "门店距离当前位置")
    private long distance;
    private String distance;
    @ApiModelProperty(value = "门店名称")
    private String storeName;
cloud-server-account/src/main/java/com/dsh/account/model/vo/sourceDetail/RecordTimeRequest.java
@@ -9,14 +9,8 @@
    @ApiModelProperty(value = "学员id", dataType = "int", required = true)
    private Integer stuId;
    @ApiModelProperty(value = "课包id", dataType = "int")
    private Integer lessonId;
    @ApiModelProperty(value = "开始时间 格式:yyyy-MM", dataType = "string")
    private String startTime;
    @ApiModelProperty(value = "结束时间 格式:yyyy-MM", dataType = "string")
    private String endTime;
    private String time;
    @ApiModelProperty(value = "类型:1增加 2扣减 ", dataType = "int")
    private Integer type;
cloud-server-account/src/main/java/com/dsh/account/service/TStudentService.java
@@ -94,7 +94,7 @@
     * @param cityCode 城市code
     * @return
     */
    List<StoreDetailList> queryStoreList(Integer space,String cityCode,String latitude,String longitude);
    List<StoreDetailList> queryStoreList(Integer space,String cityCode,String latitude,String longitude,String search);
    StoreDetailsVo getStoreDetail(Integer storeId);
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -498,6 +498,8 @@
        TAppUser appUser = this.getById(appUserId);
        benefirVo.setUserHeadImg(appUser.getHeadImg());
        benefirVo.setUserName(appUser.getName());
        benefirVo.setWpCoin(ToolUtil.isEmpty(appUser.getPlayPaiCoins()) ? 0 : appUser.getPlayPaiCoins());
        benefirVo.setUserIntegral(ToolUtil.isEmpty(appUser.getIntegral()) ? 0 : appUser.getIntegral());
        if (appUser.getIsVip() == 1){
            benefirVo.setIsMember("年度会员");
        }else {
@@ -757,26 +759,34 @@
            }
        }
        if (StringUtils.hasText(request.getSearch())){
            goods = goods.stream()
                    .filter(merchandise -> merchandise.getGoodName().contains(request.getSearch()))
                    .collect(Collectors.toList());
            if (goods.size() > 0 ){
                goods = goods.stream()
                        .filter(merchandise -> merchandise.getGoodName().contains(request.getSearch()))
                        .collect(Collectors.toList());
            }
        }
        if (null != request.getRank()){
            switch (request.getRank()){
                case 1:
                    goods = goods.stream()
                            .sorted(Comparator.comparing(Goods::getIntegral).reversed())
                            .collect(Collectors.toList());
                    if (goods.size() > 0 ){
                        goods = goods.stream()
                                .sorted(Comparator.comparing(Goods::getIntegral).reversed())
                                .collect(Collectors.toList());
                    }
                    break;
                case 2:
                    goods = goods.stream()
                            .sorted(Comparator.comparing(Goods::getIntegral))
                            .collect(Collectors.toList());
                    if (goods.size() > 0 ){
                        goods = goods.stream()
                                .sorted(Comparator.comparing(Goods::getIntegral))
                                .collect(Collectors.toList());
                    }
                    break;
                case 3:
                    goods = goods.stream()
                            .sorted(Comparator.comparing(Goods::getNums).reversed())
                            .collect(Collectors.toList());
                    if (goods.size() > 0 ){
                        goods = goods.stream()
                                .sorted(Comparator.comparing(Goods::getNums).reversed())
                                .collect(Collectors.toList());
                    }
                    break;
                default:
                    break;
@@ -784,9 +794,11 @@
        }
        if (null != request.getGoodsType()){
            goods = goods.stream()
                    .filter(merchandise -> merchandise.getGoodsType().equals(request.getGoodsType()))
                    .collect(Collectors.toList());
            if (goods.size() > 0 ){
                goods = goods.stream()
                        .filter(merchandise -> merchandise.getGoodsType().equals(request.getGoodsType()))
                        .collect(Collectors.toList());
            }
        }
        Pageable pageable = PageRequest.of(request.getPageNum() - 1, request.getPageSize());
        Page<Goods> page = getPage(goods, pageable);
cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java
@@ -36,10 +36,12 @@
import com.dsh.account.model.vo.sourceDetail.CouponStuAvailableVo;
import com.dsh.account.model.vo.sourceDetail.CourseDetailsOfContinuationResp;
import com.dsh.account.model.vo.sourceDetail.RecordTimeRequest;
import com.dsh.account.model.vo.userBenefitDetail.Goods;
import com.dsh.account.service.TStudentService;
import com.dsh.account.util.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -203,9 +205,9 @@
            getStuOfCoursesDetails.setStuId(stuId);
            getStuOfCoursesDetails.setAppUserId(userIdFormRedis);
            StuWithCoursesListVo stuOfCoursesDetails = couPayClient.getStuOfCoursesDetails(getStuOfCoursesDetails);
            insVo.setTotalNums(stuOfCoursesDetails.getTotalNums());
            insVo.setDeductedNums(stuOfCoursesDetails.getDeductedNums());
            insVo.setRemainingNums(stuOfCoursesDetails.getRemainingNums());
            insVo.setTotalNums(ToolUtil.isEmpty(stuOfCoursesDetails.getTotalNums()) ? 0 : stuOfCoursesDetails.getTotalNums());
            insVo.setDeductedNums(ToolUtil.isEmpty(stuOfCoursesDetails.getDeductedNums()) ? 0 : stuOfCoursesDetails.getDeductedNums());
            insVo.setRemainingNums(ToolUtil.isEmpty(stuOfCoursesDetails.getRemainingNums()) ? 0 : stuOfCoursesDetails.getRemainingNums());
            GetStudentCourse course = new GetStudentCourse();
            course.setCourseId(lessonId);
            course.setStuId(stuId);
@@ -220,9 +222,20 @@
    @Override
    public List<PurchaseRecordVo> queryDeduRecordDetails(RecordTimeRequest timeRequest,Integer appUserId) {
        List<PurchaseRecordVo> purchaseRecordVoList = new ArrayList<>();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date startTime = DateTimeHelper.getCurrentIdetMouthStart(timeRequest.getStartTime());
        Date endTime = DateTimeHelper.getCurrentIdeaMouthEnd(timeRequest.getEndTime());
        String time = timeRequest.getTime();
        Date monthStart = null;
        Date monthEnd = null;
        if (StringUtils.hasText(time)) {
            monthStart = DateTimeHelper.getCurrentIdetMouthStart(time);
            monthEnd = DateTimeHelper.getCurrentIdeaMouthEnd(time);
        } else {
            monthStart = DateTimeHelper.getCurrentMouthStart();
            monthEnd = DateTimeHelper.getCurrentMouthEnd();
        }
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
        Date startTime = DateTimeHelper.getCurrentIdetMouthStart(simpleDateFormat.format(monthStart));
        Date endTime = DateTimeHelper.getCurrentIdeaMouthEnd(simpleDateFormat.format(monthEnd));
        GetStuSourseList getStuSourseList = new GetStuSourseList();
        getStuSourseList.setStartTime(startTime);
        getStuSourseList.setEndTime(endTime);
@@ -595,65 +608,79 @@
        if (ToolUtil.isNotEmpty(tStudent)){
            recordVo.setStuId(tStudent.getId());
            recordVo.setStuName(tStudent.getName());
            List<RecordAppoint> recordAppoints = couPayClient.obtainStudentClassDetailsData(stuId);
            WeeksOfCourseRest courseRest = new WeeksOfCourseRest();
            courseRest.setAppUserId(appUserId);
            courseRest.setStuId(stuId);
            List<RecordAppoint> recordAppoints = couPayClient.obtainStudentClassDetailsData(courseRest);
            if (ToolUtil.isEmpty(appointStatus)){
                recordVo.setAppointStatus(0);
            }else {
                recordVo.setAppointStatus(appointStatus);
                recordAppoints = recordAppoints.stream()
                        .filter(record -> record.getStatus().equals(appointStatus))
                        .collect(Collectors.toList());
                if (recordAppoints.size() > 0 ){
                    recordAppoints = recordAppoints.stream()
                            .filter(record -> record.getStatus().equals(appointStatus))
                            .collect(Collectors.toList());
                }
            }
            if (ToolUtil.isNotEmpty(search)){
                recordVo.setAppointStatus(appointStatus);
                recordAppoints = recordAppoints.stream()
                        .filter(record -> record.getCoursePackageName().contains(search))
                        .collect(Collectors.toList());
                if (recordAppoints.size() > 0 ){
                    recordAppoints = recordAppoints.stream()
                            .filter(record -> record.getCoursePackageName().contains(search))
                            .collect(Collectors.toList());
                }
            }
            if (ToolUtil.isNotEmpty(timeType)){
                Date lastOfDate = DateUtil.getLastOfDate();
                switch (timeType){
                    case 1:
                        Date lastWeekStartDate = DateUtil.getLastWeekStartDate();
                        recordAppoints = recordAppoints.stream()
                                .filter(record -> {
                                    try {
                                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                                        Date time = sdf.parse(record.getTimeFrame().substring(11));
                                        return !time.before(lastWeekStartDate) && !time.after(lastOfDate);
                                    } catch (ParseException e) {
                                        return false;
                                    }
                                })
                                .collect(Collectors.toList());
                        if (recordAppoints.size() > 0 ){
                            recordAppoints = recordAppoints.stream()
                                    .filter(record -> {
                                        try {
                                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                                            Date time = sdf.parse(record.getTimeFrame().substring(11));
                                            return !time.before(lastWeekStartDate) && !time.after(lastOfDate);
                                        } catch (ParseException e) {
                                            return false;
                                        }
                                    })
                                    .collect(Collectors.toList());
                        }
                        break;
                    case 2:
                        Date lastMonthStartDate = DateUtil.getLastMonthStartDate();
                        recordAppoints = recordAppoints.stream()
                                .filter(record -> {
                                    try {
                                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                                        Date time = sdf.parse(record.getTimeFrame().substring(11));
                                        return !time.before(lastMonthStartDate) && !time.after(lastOfDate);
                                    } catch (ParseException e) {
                                        return false;
                                    }
                                })
                                .collect(Collectors.toList());
                        if (recordAppoints.size() > 0 ){
                            recordAppoints = recordAppoints.stream()
                                    .filter(record -> {
                                        try {
                                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                                            Date time = sdf.parse(record.getTimeFrame().substring(11));
                                            return !time.before(lastMonthStartDate) && !time.after(lastOfDate);
                                        } catch (ParseException e) {
                                            return false;
                                        }
                                    })
                                    .collect(Collectors.toList());
                        }
                        break;
                    case 3:
                        Date lastYearStartDate = DateUtil.getLastYearStartDate();
                        recordAppoints = recordAppoints.stream()
                                .filter(record -> {
                                    try {
                                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                                        Date time = sdf.parse(record.getTimeFrame().substring(11));
                                        return !time.before(lastYearStartDate) && !time.after(lastOfDate);
                                    } catch (ParseException e) {
                                        return false;
                                    }
                                })
                                .collect(Collectors.toList());
                        if (recordAppoints.size() > 0 ){
                            recordAppoints = recordAppoints.stream()
                                    .filter(record -> {
                                        try {
                                            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                                            Date time = sdf.parse(record.getTimeFrame().substring(11));
                                            return !time.before(lastYearStartDate) && !time.after(lastOfDate);
                                        } catch (ParseException e) {
                                            return false;
                                        }
                                    })
                                    .collect(Collectors.toList());
                        }
                        break;
                    default:
                        break;
@@ -682,14 +709,35 @@
        return null;
    }
    /**
     *
     * @param space 1=升序/2=降序
     * @param cityCode 城市code
     * @param latitude
     * @param longitude
     * @return
     */
    @Override
    public List<StoreDetailList> queryStoreList(Integer space,String cityCode,String latitude,String longitude) {
    public List<StoreDetailList> queryStoreList(Integer space,String cityCode,String latitude,String longitude,String search) {
        StoreOfCitycodeResp citycodeResp = new StoreOfCitycodeResp();
        citycodeResp.setSpace(space);
        citycodeResp.setCityCode(cityCode);
        citycodeResp.setLongitude(latitude);
        citycodeResp.setLatitude(longitude);
        return storeClient.getQueryStoreList(citycodeResp);
        List<StoreDetailList> queryStoreList = storeClient.getQueryStoreList(citycodeResp);
        if (queryStoreList.size() > 0){
            if (ToolUtil.isEmpty(space) || space == 2){
                queryStoreList = queryStoreList.stream()
                        .sorted(Comparator.comparing(StoreDetailList::getStoreDistance).reversed())
                        .collect(Collectors.toList());
            }else {
                queryStoreList =  queryStoreList.stream().sorted(Comparator.comparing(o -> o.getStoreDistance())).collect(Collectors.toList());
            }
            if (ToolUtil.isNotEmpty(search)){
                queryStoreList =  queryStoreList.stream().filter(o -> o.getStoreName().contains(search)).collect(Collectors.toList());
            }
        }
        return queryStoreList;
    }
    @Override
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -147,8 +147,12 @@
    @PostMapping("/base/coupon/getAllCoupons")
    public List<Coupon> getAllCoupons(@RequestBody CommodityRequest request){
        List<Coupon> couponList = new ArrayList<>();
        String provinceCode = "";
        String cityCode = "";
        if (ToolUtil.isEmpty(request.getLat()) && ToolUtil.isEmpty(request.getLon())){
            return couponList;
        }
        try {
            Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat());
            provinceCode = geocode.get("provinceCode");
@@ -157,10 +161,7 @@
            e.printStackTrace();
        }
        try {
            Integer userAppId = tokenUtil.getUserIdFormRedis();
            List<UserCoupon> list = ucService.list(new QueryWrapper<UserCoupon>()
                    .eq("userId",userAppId ));
            List<Coupon> couponList = couponService.list(new QueryWrapper<Coupon>()
            couponList = couponService.list(new QueryWrapper<Coupon>()
                    .eq("auditStatus",2)
                    .eq("state",1)
                    .eq("status",2));
cloud-server-activity/src/main/java/com/dsh/activity/controller/IntroduceRewardsController.java
@@ -28,18 +28,20 @@
    @PostMapping("/base/introduce/useOfRewards")
    public List<PurchaseRecordVo> queryAppUsersofIntroduce( IntrduceOfUserRequest request){
    public List<PurchaseRecordVo> queryAppUsersofIntroduce(@RequestBody IntrduceOfUserRequest request){
        List<PurchaseRecordVo> recordVos = new ArrayList<>();
        List<IntroduceRewards> list = idrService.list(new QueryWrapper<IntroduceRewards>()
                .ge("startTime",request.getStartTime())
                .lt("endTime",request.getEndTime()));
        IntroduceRewards introduceRewards = list.get(0);
        request.getUserIds().forEach( userId -> {
            PurchaseRecordVo recordVo = new PurchaseRecordVo();
            recordVo.setPurchaseAmount("+"+introduceRewards.getGiveClass());
            recordVo.setPurchaseType("介绍有礼");
            recordVos.add(recordVo);
        } );
        if (request.getUserIds().size() > 0 && list.size() > 0){
            IntroduceRewards introduceRewards = list.get(0);
            request.getUserIds().forEach( userId -> {
                PurchaseRecordVo recordVo = new PurchaseRecordVo();
                recordVo.setPurchaseAmount("+"+introduceRewards.getGiveClass());
                recordVo.setPurchaseType("介绍有礼");
                recordVos.add(recordVo);
            } );
        }
        return recordVos;
    }
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -92,8 +92,12 @@
    @PostMapping("/base/pointMerchars/getCommoditys")
    public List<PointsMerchandise> getVicinityGoods(@RequestBody CommodityRequest request){
        List<PointsMerchandise> list =  new ArrayList<>();
        String provinceCode = "";
        String cityCode = "";
        if (ToolUtil.isEmpty(request.getLon()) && ToolUtil.isEmpty(request.getLat())){
            return list;
        }
        try {
            Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat());
            provinceCode = geocode.get("provinceCode");
@@ -102,7 +106,7 @@
            e.printStackTrace();
        }
        List<PointsMerchandise> list = pmdsService.list(new QueryWrapper<PointsMerchandise>()
        list = pmdsService.list(new QueryWrapper<PointsMerchandise>()
                .eq("state", 1));
        if (list.size() > 0 ){
            Iterator<PointsMerchandise> iterator = list.iterator();
cloud-server-competition/src/main/java/com/dsh/competition/controller/CompetitionController.java
@@ -98,8 +98,11 @@
    @PostMapping("/base/competition/getPlayPaiFGoldPayRecord")
    public List<PaymentCompetition> getPlayPaiFGoldPayRecord(@RequestBody Integer appUserId){
        ArrayList<Integer> integers = new ArrayList<>();
        integers.add(1);
        integers.add(2);
        return paymentCompetitionService.list(new QueryWrapper<PaymentCompetition>()
                .eq("payType",3)
                .in("payType",integers)
                .eq("appUserId",appUserId)
                .eq("payStatus",3));
    }
@@ -118,21 +121,24 @@
                .in("payType",integers )
                .eq("appUserId", sourseList.getAppUserId())
                .eq("state",1));
        List<Long> comIds = list.stream().map(PaymentCompetition::getId).collect(Collectors.toList());
        List<UserCompetition> userCompetitions = ucttService.list(new QueryWrapper<UserCompetition>()
                .between("insertTime", sourseList.getStartTime(),sourseList.getEndTime() )
                .eq("appUserId", sourseList.getAppUserId())
                .in("paymentCompetitionId",comIds ));
        if (userCompetitions.size() > 0){
            userCompetitions.forEach(coms ->{
                PurchaseRecordVo recordVo = new PurchaseRecordVo();
                recordVo.setPurchaseType("报名赛事");
                recordVo.setPurchaseTime(dateFormat.format(coms.getInsertTime()));
                PaymentCompetition paymentCompetition = paymentCompetitionService.getById(coms.getPaymentCompetitionId());
                recordVo.setPurchaseAmount("-"+paymentCompetition.getAmount());
                recordVos.add(recordVo);
            });
        if (list.size() > 0){
            List<Long> comIds = list.stream().map(PaymentCompetition::getId).collect(Collectors.toList());
            List<UserCompetition> userCompetitions = ucttService.list(new QueryWrapper<UserCompetition>()
                    .between("insertTime", sourseList.getStartTime(),sourseList.getEndTime() )
                    .eq("appUserId", sourseList.getAppUserId())
                    .in("paymentCompetitionId",comIds ));
            if (userCompetitions.size() > 0){
                userCompetitions.forEach(coms ->{
                    PurchaseRecordVo recordVo = new PurchaseRecordVo();
                    recordVo.setPurchaseType("报名赛事");
                    recordVo.setPurchaseTime(dateFormat.format(coms.getInsertTime()));
                    PaymentCompetition paymentCompetition = paymentCompetitionService.getById(coms.getPaymentCompetitionId());
                    recordVo.setPurchaseAmount("-"+paymentCompetition.getAmount());
                    recordVos.add(recordVo);
                });
            }
        }
        return recordVos;
    }
cloud-server-course/src/main/java/com/dsh/course/controller/CancelSourceController.java
@@ -46,19 +46,21 @@
                .between("insertTime", sessionList.getStartTime(),sessionList.getEndTime())
                .eq("appUserId",sessionList.getAppUserId())
                .eq("studentId",sessionList.getStuId()));
        List<Long> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList());
        if (tCoursePackagePayments.size() > 0){
            List<Long> coursePackageIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList());
        List<CancelledClasses> list = caceService.list(new QueryWrapper<CancelledClasses>()
                .in("coursePackageId", coursePackageIds)
                .between("insertTime",sessionList.getStartTime(),sessionList.getEndTime()));
        if (list.size() > 0){
            list.forEach( canse -> {
                PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo();
                purchaseRecordVo.setPurchaseTime(format.format(canse.getInsertTime()));
                purchaseRecordVo.setPurchaseType("");
                purchaseRecordVo.setPurchaseAmount("-"+canse.getCancelledClassesNumber());
                purchaseRecordVos.add(purchaseRecordVo);
            });
            List<CancelledClasses> list = caceService.list(new QueryWrapper<CancelledClasses>()
                    .in("coursePackageId", coursePackageIds)
                    .between("insertTime",sessionList.getStartTime(),sessionList.getEndTime()));
            if (list.size() > 0){
                list.forEach( canse -> {
                    PurchaseRecordVo purchaseRecordVo = new PurchaseRecordVo();
                    purchaseRecordVo.setPurchaseTime(format.format(canse.getInsertTime()));
                    purchaseRecordVo.setPurchaseType("");
                    purchaseRecordVo.setPurchaseAmount("-"+canse.getCancelledClassesNumber());
                    purchaseRecordVos.add(purchaseRecordVo);
                });
            }
        }
        return purchaseRecordVos;
    }
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -763,10 +763,9 @@
    @PostMapping("/base/coursePack/obtainStudentClassDetails")
    public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody Integer stuId){
    public List<RecordAppoint> obtainStudentClassDetailsData(@RequestBody WeeksOfCourseRest stuId){
        try {
            Integer appUserId = tokenUtil.getUserIdFormRedis();
            return packagePaymentService.obtainStuClassDetails(stuId,appUserId);
            return packagePaymentService.obtainStuClassDetails(stuId.getStuId(),stuId.getAppUserId());
        }catch (Exception e){
            e.printStackTrace();
            throw new RuntimeException();
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -136,7 +136,7 @@
            coursePackageListVo.setClassStartTime(coursePackage.getClassStartTime() + "-" + coursePackage.getClassEndTime());
            coursePackageListVo.setApplicantsNumber(integer);
            coursePackageListVo.setPayType(coursePackage.getPayType());
            coursePackageListVo.setPlayPaiCoin(coursePackageListVo.getPlayPaiCoin());
            coursePackageListVo.setPlayPaiCoin(coursePackagePaymentConfig.getPlayPaiCoin());
            //会员显示原价和会员价(最低)。非会员显示会员价和支付价(最低)
            if(appUser.getIsVip() == 0){//非会员
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -45,8 +45,11 @@
    @PostMapping("/base/protocol/storeDetail/nearbyStore")
    public List<StoreInfo> getAllNearbyStoreList(@RequestBody GetAllNearbyStoreList list ){
        String current = list.getLongitude()+","+list.getLatitude();
        List<StoreInfo> storeInfos = new ArrayList<>();
        if (ToolUtil.isEmpty(list.getLongitude()) && ToolUtil.isEmpty(list.getLatitude())){
            return storeInfos;
        }
        String current = list.getLongitude()+","+list.getLatitude();
        String cityCode = "";
        try {
            Map<String, String> geocode = gdMapGeocodingUtil.geocode(list.getLongitude(), list.getLatitude());
@@ -63,11 +66,17 @@
                String storeLat = store.getLat();
                String result = storeLon+","+storeLat;
                String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result);
                long l = 0;
                try {
                    l = Long.parseLong(distanceTOKilometer);
                }catch (Exception e){
                    l = 0;
                }
                StoreInfo info = new StoreInfo();
                info.setStoreId(store.getId());
                info.setStoreName(store.getName());
                info.setStoreImg(store.getRealPicture());
                info.setDistance(Long.parseLong(distanceTOKilometer));
                info.setDistance(l);
                info.setStoreAddr(store.getAddress());
                info.setLatitude(storeLat);
                info.setLongitude(storeLon);
@@ -105,12 +114,16 @@
                .eq("state",1 )
                .eq("cityCode",citycodeResp.getCityCode()));
        if (list.size() > 0 ){
            if (ToolUtil.isEmpty(citycodeResp.getLongitude()) && ToolUtil.isEmpty(citycodeResp.getLatitude())){
                return detailLists;
            }
            for (Store store : list) {
                String current = citycodeResp.getLongitude() +","+citycodeResp.getLatitude();
                String result = store.getLon()+","+store.getLat();
                String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result);
                long l = Long.parseLong(distanceTOKilometer);
                if (ToolUtil.isNotEmpty(citycodeResp.getSpace()) && l > citycodeResp.getSpace()){
//                取5公里范围内的门店
                if ( l > 5){
                    continue;
                }
                StoreDetailList detailList = new StoreDetailList();
cloud-server-other/src/main/java/com/dsh/other/controller/StoredValueConfigController.java
@@ -4,6 +4,7 @@
import com.dsh.other.entity.StoredValueConfig;
import com.dsh.other.service.StoredValueConfigService;
import com.dsh.other.util.ResultUtil;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.ApiImplicitParams;