lisy
2023-07-20 c678894e37d15cca116d962eba5c107c99176945
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -17,7 +17,9 @@
import com.dsh.account.feignclient.course.model.*;
import com.dsh.account.feignclient.other.ImgConfigClient;
import com.dsh.account.feignclient.other.RechargeConfigClient;
import com.dsh.account.feignclient.other.SiteClient;
import com.dsh.account.feignclient.other.StoreClient;
import com.dsh.account.feignclient.other.model.SiteBooking;
import com.dsh.account.feignclient.other.model.Store;
import com.dsh.account.feignclient.other.model.StoreDetailOfCourse;
import com.dsh.account.feignclient.other.model.TImgConfig;
@@ -39,13 +41,13 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -119,11 +121,14 @@
    @Resource
    private CoursePackageConfigClient cpconClient;
    @Autowired
    @Resource
    private PayMoneyUtil payMoneyUtil;
    @Resource
    private SiteClient stClient;
    @Override
    public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
    public ClassInfoVo queryUserOfStus(Integer id) {
        TAppUser tAppUser = this.baseMapper.selectById(id);
        ClassInfoVo classInfoVo = new ClassInfoVo();
        if (ToolUtil.isNotEmpty(tAppUser)){
@@ -142,6 +147,7 @@
                classInfoVo.setHeight(tStudent.getHeight());
                classInfoVo.setWeight(tStudent.getWeight());
                classInfoVo.setBmi(tStudent.getBmi());
                classInfoVo.setBodyStatus(BMIBodyUtil.getBodyStatus(tStudent.getBmi()));
                List<RegisteredCourse> courseList = new ArrayList<>();
//                总学时数
@@ -168,9 +174,6 @@
                classInfoVo.setDeductedNums(deduct);
                classInfoVo.setRemainingNums(remain);
                List<CourseOfStoreVo> storeOfCourses = paymentClient.getStoreOfCourses();
                classInfoVo.setWeekCourseList(dealDatas(storeOfCourses,longitude,latitude));
                List<ExerciseVideo> videos = new ArrayList<>();
                classInfoVo.setExerciseVideoList(videos);
@@ -192,7 +195,7 @@
     * @param latitude
     * @return
     */
    public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses,String longitude ,@RequestBody String latitude){
    public List<WeekedCourse> dealDatas(List<CourseOfStoreVo> storeOfCourses, String longitude , String latitude){
        List<WeekedCourse> weekedCourses = new ArrayList<>();
        for (int i = 1; i < 8; i++) {
            WeekedCourse weekedCourse = new WeekedCourse();
@@ -545,6 +548,23 @@
            }
        }
//            4.场地预约
        List<SiteBooking> allSiteBookingList = stClient.getAllSiteBookingList(appUserId);
        if (allSiteBookingList.size() >  0){
            for (SiteBooking booking : allSiteBookingList) {
                BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
                if (booking.getStatus() != 5){
                    consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
                    consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
                    consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getPayTime()));
                }else {
                    consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg());
                    consumeDetail.setConsumeAmount("+" + booking.getPayMoney());
                    consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getCancelTime()));
                }
                details.add(consumeDetail);
            }
        }
//            5.智慧球场
//            6.年度会员
        List<VipPayment> vipPayments = vipPaymentMapper.selectList(new QueryWrapper<VipPayment>()
@@ -574,7 +594,24 @@
                details.add(consumeDetail);
            }
        }
        if (details.size() > 0 ){
            Collections.sort(details, new Comparator<BillingDetailsVo.ConsumeDetail>() {
                @Override
                public int compare(BillingDetailsVo.ConsumeDetail record1, BillingDetailsVo.ConsumeDetail record2) {
                    SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm");
                    Date date1 = null;
                    Date date2 = null;
                    try {
                        date1 = dateFormat.parse(record1.getConsumeTime());
                        date2 = dateFormat.parse(record2.getConsumeTime());
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                    // 倒序排序
                    return date2.compareTo(date1);
                }
            });
        }
        vo.setDetails(details);
        return vo;
    }
@@ -1110,4 +1147,16 @@
    }
    @Override
    public List<CourseVenue> queryWeekOfCourseDetails(Integer appUserId ,Integer stuId, String time,String longitude,String latitude) {
        WeeksOfCourseRest weeksOfCourseRest = new WeeksOfCourseRest();
        weeksOfCourseRest.setTime(time);
        weeksOfCourseRest.setStuId(stuId);
        weeksOfCourseRest.setAppUserId(appUserId);
        paymentClient.getStoreOfCourses(weeksOfCourseRest);
// TODO: 2023/7/20 查询课包周课包列表
        return null;
    }
}