nickchange
2023-11-29 d4fbea2ac7f7c98ffd83480f8f2535ca92f3baea
11.29
25个文件已修改
5个文件已添加
895 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | 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/updateTimeDto.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/util/httpClinet/ResultUtil.java 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/dto/updateTimeDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/feignClient/account/StudentClient.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/course/mapper/SiteLockMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ISiteLockService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/SiteLockServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/login.html 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html 129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/classRecord.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreInfo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/StudentController.java
@@ -10,6 +10,7 @@
import com.dsh.account.model.QueryDataFee;
import com.dsh.account.model.Student;
import com.dsh.account.model.StudentVo;
import com.dsh.account.model.updateTimeDto;
import com.dsh.account.service.*;
import com.dsh.account.util.ResultUtil;
import com.dsh.account.util.TokenUtil;
@@ -122,6 +123,21 @@
        studentService.updateById(student);
    }
    @ResponseBody
    @PostMapping("/student/getById")
    public Date getById(@RequestBody Integer tStudentId) {
       return   studentService.getById(tStudentId).getValidity();
    }
    @ResponseBody
    @PostMapping("/student/update1")
    public void update(@RequestBody updateTimeDto updateTimeDto) {
        TStudent student = new TStudent();
        student.setId(updateTimeDto.getTStudentId());
        student.setValidity(updateTimeDto.getDate());
        studentService.updateById(student);
    }
    @ResponseBody
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/StoreInfo.java
@@ -14,7 +14,7 @@
    private String storeImg;
    @ApiModelProperty(value = "门店距离当前位置")
    private String distance;
    private double distance;
    @ApiModelProperty(value = "门店名称")
    private String storeName;
cloud-server-account/src/main/java/com/dsh/account/model/updateTimeDto.java
New file
@@ -0,0 +1,16 @@
package com.dsh.account.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class updateTimeDto {
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date date;
    private Integer tStudentId;
}
cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -612,7 +612,10 @@
                    case 1:
                        coupon.setIntegral(BigDecimal.valueOf(dataVo.getRequiredPoints()));
                        break;
                    case 2:
                        coupon.setIntegral(BigDecimal.valueOf(dataVo.getRequiredPoints()));
                        coupon.setCash(dataVo.getRequiredCash());
                        break;
                    case 3:
                        coupon.setCash(dataVo.getRequiredCash());
                        break;
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -287,6 +287,10 @@
    @Autowired
    private PointsMerchandiseStoreService pointsMerchandiseStoreService;
    @Autowired
    private CouponStoreService couponStoreService;
    @ResponseBody
    @PostMapping("/base/pointMerchars/convertGoods")
    public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception {
@@ -342,6 +346,25 @@
            }
        }
        List<CouponStore> storeId = couponStoreService.list(new QueryWrapper<CouponStore>().eq("storeId", s.getId()));
        List<Integer> storeCoupons = new ArrayList<>();
        for (CouponStore couponStore : storeId) {
            storeCoupons.add(couponStore.getCouponId());
        }
        List<Coupon> list = couponService.list(new QueryWrapper<Coupon>().in("id", storeCoupons).eq("state", 1).gt("endTime", new Date()).last("ORDER BY insertTime desc"));
        if (!list.isEmpty()){
            for (Coupon coupon : list) {
            IntegralCommodity integralCommodity = new IntegralCommodity();
            integralCommodity.setCommodityId(coupon.getId());
            integralCommodity.setCommodityImg(coupon.getCover());
            integralCommodity.setCommodityName(coupon.getName());
            integralCommodity.setCommodityPrice(coupon.getIntegral());
            integralCommodity.setGoodsType(coupon.getType());
//            integralCommodity.setSort(coupon.getSort());
            commodity.add(integralCommodity);
            }
        }
        System.out.println(commodity);
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -28,6 +28,7 @@
import com.dsh.course.util.*;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.obs.services.internal.ServiceException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -2367,13 +2368,13 @@
    @ResponseBody
    @PostMapping("/coursePackagePayment/consumeCourse")
    public ResultUtil consumeCourse(@RequestBody Integer coursePackagePaymentId) {
    public Integer consumeCourse(@RequestBody Integer coursePackagePaymentId) {
        CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(coursePackagePaymentId);
        TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
        if (coursePackageOrderStudent.getLaveClassHours()<coursePackage.getNeedNum()){
            return ResultUtil.error("当前学员课时数不足");
           return 1;
        }
        coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-coursePackage.getNeedNum());
        orderStudentService.updateById(coursePackageOrderStudent);
@@ -2384,7 +2385,7 @@
        courseCounsum.setInsertTime(new Date());
        courseCounsum.setReason("补课");
        courseCounsumService.save(courseCounsum);
        return ResultUtil.success("补课成功");
        return 2;
    }
@@ -2640,6 +2641,11 @@
                    detailsListVo.setIsType(list4.get(0).getType());
                    for (CoursePackageStudent coursePackageStudent : list4) {
                        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
                        if (coursePackageScheduling.getStatus()==4){
                            detailsListVo.setIsType(3);
                        }
                        Integer signInOrNot1 = coursePackageStudent.getSignInOrNot();
                        detailsListVo.setType(1);
@@ -2647,7 +2653,6 @@
                            detailsListVo.setType(3);
                        }
                        detailsListVo.setIsType(coursePackageStudent.getType());
                        CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
                        Date classDate = coursePackageScheduling.getClassDate();
                        Date endDate = coursePackageScheduling.getEndDate();
                        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -136,8 +136,10 @@
        System.out.println("==========getClassList===tStudentId====" + tStudentId);
        List<ClassListDto> listDtos = studentService.getClassList(tStudentId);
        for (ClassListDto dto : listDtos) {
            if (dto.getClassType()!=2) {
            dto.setHasClassHours(dto.getTotalClassHours() - dto.getLaveClassHours());
        }
        }
        System.out.println("======listDtos======" + listDtos);
        return listDtos;
cloud-server-course/src/main/java/com/dsh/course/mapper/CoursePackageStudentMapper.java
@@ -43,4 +43,5 @@
    void updateSignInOrNotById(@Param("id") Long id);
    List<ClassListDto> getHoliList(@Param("tStudentId")Integer tStudentId);
}
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageOrderStudentServiceImpl.java
@@ -134,42 +134,67 @@
                    String weekOfDate = DateTimeHelper.getWeekOfDate(new Date());
//                    if (integerList.contains(weekOfDate)) {
                        String dat = simpleDateFormat.format(byId.getClassDate()) + " " + dateString1.substring(11);
                    String ed = simpleDateFormat.format(byId.getEndDate()) + " " + dateString2.substring(11);
                        Date start = null;
                        Date end = null;
                        try {
                            start = format.parse(dat);
                            end = format.parse(ed);
                        } catch (ParseException e) {
                            throw new RuntimeException(e);
                        }
                    CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
                            .eq("coursePackageSchedulingId", byId.getId()).last("limit 1"));
//                   else {
//                        Date now = new Date();
//                        if (now.after(byId.getClassDate()) && now.before(byId.getEndDate())) {
//                            recordVo.setStatus(2);
//                        } else {
//                            recordVo.setStatus(3);
//
//                        }
//                    }
                        //已取消
                        if (byId.getStatus() == 4) {
                            recordVo.setStatus(4);
                        } else if (coursePackageStudent.getSignInOrNot() == 2) {
                            //已请假
                            recordVo.setStatus(5);
                        } else if (start.after(new Date())) {
                            //待上课
                            recordVo.setStatus(1);
                        }
                        else {
                            CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
                                    .eq("coursePackageSchedulingId", byId.getId()).last("limit 1"));
                            if (ToolUtil.isNotEmpty(cancelledClasses)) {
                        }else if  (ToolUtil.isNotEmpty(cancelledClasses)) {
                                recordVo.setStatus(3);
                                // 消课 到课状态0 旷课
                                if (coursePackageStudent.getSignInOrNot() == 0) {
                                    recordVo.setStatus(6);
                                }
                            } else {
                                Date now = new Date();
                                if (now.after(byId.getClassDate()) && now.before(byId.getEndDate())) {
                    }else if (new Date().after(start)&&new Date().before(end)){
                                    recordVo.setStatus(2);
                                } else {
                                    recordVo.setStatus(3);
                        }else if (start.after(new Date())) {
                            //待上课
                            recordVo.setStatus(1);
                                }
                            }
                        else {
//                            CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>()
//                                    .eq("coursePackageSchedulingId", byId.getId()).last("limit 1"));
//                            if (ToolUtil.isNotEmpty(cancelledClasses)) {
//                                recordVo.setStatus(3);
//                                // 消课 到课状态0 旷课
//                                if (coursePackageStudent.getSignInOrNot() == 0) {
//                                    recordVo.setStatus(6);
//                                }
//
//                            } else {
//                                Date now = new Date();
//                                if (now.after(byId.getClassDate()) && now.before(byId.getEndDate())) {
//                                    recordVo.setStatus(2);
//                                } else {
//                                    recordVo.setStatus(3);
//
//                                }
//                            }
                        }
//                    } else {
//                        recordVo.setStatus(1);
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageStudentServiceImpl.java
@@ -107,7 +107,11 @@
    @Override
    public List<ClassListDto> getClassList(Integer tStudentId) {
        return this.baseMapper.getClassList(tStudentId);
        List<ClassListDto> classList = this.baseMapper.getClassList(tStudentId);
        List<ClassListDto> holiList = this.baseMapper.getHoliList(tStudentId);
        classList.addAll(holiList);
        return classList;
    }
    @Override
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -540,6 +540,7 @@
            }
            Store store = storeClient.queryStoreById(coursePackage.getStoreId());
            response.setStoreName(store.getName());
            response.setStoreAddress(store.getAddress());
            if (ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)) {
                Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat());
cloud-server-course/src/main/java/com/dsh/course/util/httpClinet/ResultUtil.java
New file
@@ -0,0 +1,195 @@
package com.dsh.course.util.httpClinet;
/**
 * 定义统一返回对象
 */
public class ResultUtil<T> {
    public static final Integer SUCCESS = 200;
    public static final Integer PARAM_ERROR = 300;
    public static final Integer RUNTIME_ERROR = 400;
    public static final Integer ERROR = 500;
    public static final String Token = "Token失效";
    private Integer status;//状态码
    private Integer code;//备用状态码
    private String msg;//返回说明
    private T data;//返回数据
    private String str;//存储单个字符串值
    public Integer getStatus() {
        return status;
    }
    public String getMsg() {
        return msg;
    }
    public T getData() {
        return data;
    }
    public String getStr() {
        return str;
    }
    public Integer getCode() {
        return code;
    }
    public ResultUtil(Integer status, Integer code, String msg) {
        this.status = status;
        this.code = code;
        this.msg = msg;
    }
    private ResultUtil(Integer status, Integer code, String msg, T data) {
        this.status = status;
        this.code = code;
        this.msg = msg;
        this.data = data;
    }
    public ResultUtil(Integer status, Integer code, String msg, T data, String str) {
        this.status = status;
        this.code = code;
        this.msg = msg;
        this.data = data;
        this.str = str;
    }
    private ResultUtil(Integer status, Integer code, String msg, String str) {
        this.status = status;
        this.code = code;
        this.msg = msg;
        this.str = str;
    }
    public static <T> ResultUtil<T> getResult(Integer status, Integer code, String msg){
        return new ResultUtil<>(status, code, msg);
    }
    public static <T> ResultUtil<T> getResult(Integer status, Integer code, String msg, T data){
        return new ResultUtil<>(status, code, msg, data);
    }
    public static <T> ResultUtil<T> getResult(Integer status, Integer code, String msg, T data, String str){
        return new ResultUtil<>(status, code, msg, data, str);
    }
    /**
     * 错误信息
     * @return
     */
    public static ResultUtil error(String mag){
        return ResultUtil.getResult(ResultUtil.ERROR, ResultUtil.ERROR, mag);
    }
    /**
     * 错误信息
     * @return
     */
    public static <T> ResultUtil <T> error(String mag, T obj){
        return ResultUtil.getResult(ResultUtil.ERROR, ResultUtil.ERROR, mag, obj);
    }
    /**
     * token失效
     * @return
     */
    public static ResultUtil tokenErr(){
        return ResultUtil.getResult(ResultUtil.ERROR, ResultUtil.ERROR, ResultUtil.Token);
    }
    /**
     * token失效
     * @return
     */
    public static ResultUtil tokenErr(String msg){
        return ResultUtil.getResult(ResultUtil.ERROR, ResultUtil.ERROR, msg);
    }
    /**
     * 参数异常
     * @return
     */
    public static  ResultUtil paranErr(){
        return ResultUtil.getResult(ResultUtil.PARAM_ERROR, ResultUtil.PARAM_ERROR, "参数异常");
    }
    /**
     * 参数异常
     * @return
     */
    public static <T> ResultUtil<T> paranErr(T data){
        return ResultUtil.getResult(ResultUtil.PARAM_ERROR, ResultUtil.PARAM_ERROR, "参数异常", data);
    }
    /**
     * 运行异常
     * @return
     */
    public static ResultUtil runErr(){
        return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, ResultUtil.RUNTIME_ERROR, "服务器运行异常");
    }
    /**
     * 运行异常
     * @return
     */
    public static <T>ResultUtil<T> runErr(T data){
        return ResultUtil.getResult(ResultUtil.RUNTIME_ERROR, ResultUtil.RUNTIME_ERROR, "服务器运行异常", data);
    }
    /**
     * 返回成功
     * @param
     * @return
     */
    public static ResultUtil success(){
        return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, "成功");
    }
    /**
     * 返回成功
     * @param data
     * @param <T>
     * @return
     */
    public static <T> ResultUtil<T> success(T data){
        return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, "成功", data);
    }
    /**
     * 返回成功
     * @param data
     * @param str
     * @param <T>
     * @return
     */
    public static <T> ResultUtil<T> success(T data, String str){
        return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, "成功", data, str);
    }
    public static <T> ResultUtil<T> success(String msg, T data){
        return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, msg, data);
    }
    public static <T> ResultUtil<T> success(String msg, T data, String str){
        return ResultUtil.getResult(ResultUtil.SUCCESS, ResultUtil.SUCCESS, msg, data, str);
    }
}
cloud-server-course/src/main/resources/mapper/CoursePackageStudentMapper.xml
@@ -73,4 +73,15 @@
        FROM t_course_package_payment py
        where py.studentId = #{tStudentId}
    </select>
    <select id="getHoliList" resultType="com.dsh.course.entity.dto.ClassListDto">
        select
            od.id,od.insertTime as insertTime, cp.name as className,cp.type as classType
        from t_course_package_order od
                 left join t_course_package cp on od.coursePackageId = cp.id
        WHERE            od.payStatus = 2  and cp.type = 2
    </select>
</mapper>
cloud-server-management/src/main/java/com/dsh/course/dto/updateTimeDto.java
@@ -1,12 +1,16 @@
package com.dsh.course.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class updateTimeDto {
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date date;
    private Integer tStudentId;
}
cloud-server-management/src/main/java/com/dsh/course/feignClient/account/StudentClient.java
@@ -1,9 +1,6 @@
package com.dsh.course.feignClient.account;
import com.dsh.course.dto.CreateHistoryDto;
import com.dsh.course.dto.GetHistoryDto;
import com.dsh.course.dto.StudentSearch;
import com.dsh.course.dto.TStudentDto;
import com.dsh.course.dto.*;
import com.dsh.course.feignClient.account.model.QueryAppUser;
import com.dsh.course.feignClient.account.model.QueryAppUserVO;
import com.dsh.course.feignClient.account.model.QueryByNamePhone;
@@ -14,6 +11,7 @@
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -42,4 +40,8 @@
    @PostMapping("/student/frozen")
    void frozen(@RequestBody TStudent student);
    @PostMapping("/student/getById")
    Date getById(@RequestBody Integer tStudentId);
    @PostMapping("/student/update1")
    void update(@RequestBody updateTimeDto updateTimeDto);
}
cloud-server-management/src/main/java/com/dsh/course/feignClient/course/CoursePackagePaymentClient.java
@@ -87,7 +87,7 @@
    @PostMapping("/coursePackagePayment/consumeCourse")
    ResultUtil consumeCourse(@RequestBody Integer coursePackagePaymentId);
    Integer consumeCourse(@RequestBody Integer coursePackagePaymentId);
    @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById1")
    CoursePackageOrderStudent queryCoursePackagePaymentById1(@RequestParam("id")Long id);
cloud-server-management/src/main/java/com/dsh/course/mapper/SiteLockMapper.java
New file
@@ -0,0 +1,16 @@
package com.dsh.course.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.course.entity.SiteLock;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * @author zhibing.pu
 * @Date 2023/7/18 14:43
 */
public interface SiteLockMapper extends BaseMapper<SiteLock> {
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCompetitionController.java
@@ -285,41 +285,41 @@
        ListQuery listQuery = new ListQuery(page.getSize(),page.getCurrent(),provinceCode,cityCode,eventName,time,state,registerCondition,ids,UserExt.getUser().getObjectType());
        Page<Competition> competitions = competitionClient.list(listQuery);
        List<Competition> records = new ArrayList<>();
//        for (Competition competition : competitions.getRecords()) {
////            if (competition.getStatus()==4){
////                continue;
////            }
//
//            // 当前时间小于开始时间
//            if (competition.getStartTime().after(new Date())){
//                competition.setStatus(1);
//            }
//            if (competition.getStartTime().before(new Date())){
//
//
//                if (competition.getEndTime().after(new Date())){
//                    competition.setStatus(2);
//                }else{
//                    competition.setStatus(3);
//                }
//            }
//            if (competition.getStatus()!=state && state != null){
//            }else{
//                records.add(competition);
//            }
//            for (TStore tStore : list) {
//                String[] split = competition.getStoreId().split(",");
//                for (String s : split) {
//                    if(s.equals(String.valueOf(tStore.getId()))){
//                        if (competition.getStoreName()==null){
//                            competition.setStoreName(tStore.getName());
//                        }else {
//                            competition.setStoreName(competition.getStoreName()+","+tStore.getName());
//                        }
//                    }
//                }
//            }
//        }
        for (Competition competition : competitions.getRecords()) {
            if (competition.getStatus()==4){
                continue;
            }
            // 当前时间小于开始时间
            if (competition.getStartTime().after(new Date())){
                competition.setStatus(1);
            }
            if (competition.getStartTime().before(new Date())){
                if (competition.getEndTime().after(new Date())){
                    competition.setStatus(2);
                }else{
                    competition.setStatus(3);
                }
            }
            if (competition.getStatus()!=state && state != null){
            }else{
                records.add(competition);
            }
            for (TStore tStore : list) {
                String[] split = competition.getStoreId().split(",");
                for (String s : split) {
                    if(s.equals(String.valueOf(tStore.getId()))){
                        if (competition.getStoreName()==null){
                            competition.setStoreName(tStore.getName());
                        }else {
                            competition.setStoreName(competition.getStoreName()+","+tStore.getName());
                        }
                    }
                }
            }
        }
        competitions.setRecords(records);
        System.err.println(competitions.getRecords());
        return  super.packForBT(competitions);
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/BallController.java
@@ -29,7 +29,7 @@
import com.dsh.guns.modular.system.util.DateComparisonExample;
import com.dsh.guns.modular.system.util.HttpRequestUtil;
import com.dsh.guns.modular.system.util.ResultUtil;
import com.dsh.course.entity.SiteLock;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
@@ -1023,32 +1023,119 @@
    @Autowired
    private ISiteLockService siteLockService;
    @RequestMapping("/yuyuetimes/{id}")
    @ResponseBody
    public List<OrderDto> yuyuetimes(@PathVariable("id") Integer id,String date,String siteName,String halfName) {
        System.out.println("=======date======"+date);
//        System.out.println("=======date======"+date);
//
//        List<String> strings = new ArrayList<>();
//
////        List<SiteBooking> siteBookings = siteClient.listBooks(id);
//        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>()
//                .eq("siteId", id).like("times",date));
//System.out.println("=======siteBookings======"+siteBookings);
//        for (SiteBooking siteBooking : siteBookings) {
//            String[] split = siteBooking.getTimes().split(";");
//            for (String s : split) {
//
//                String convertedValue = s.substring(11);
//                strings.add(convertedValue);
//            }
//
//        }
//    System.out.println("======strings======="+strings);
//
//        List<OrderDto> timeRanges = new ArrayList<>();
//
//       Site site =  siteClient.listById(id);
//System.out.println("================"+site);
//        String appointmentStartTime = site.getAppointmentStartTime();
//        String appointmentEndTime = site.getAppointmentEndTime();
//
//        String currentTime = appointmentStartTime;
//        while (currentTime.compareTo(appointmentEndTime) < 0){
//            String nextTime = null;
//            if("智慧场地".equals(site.getTypeName())){
//                nextTime=getNextTimeOne(currentTime);
//            }else {
//                nextTime= getNextTime(currentTime);
//            }
//
//            String timeRange = currentTime + "-" + nextTime;
//            OrderDto orderDto = new OrderDto();
//            orderDto.setTime(timeRange);
//
//            LocalTime currentTime1 = LocalTime.now();
//            LocalTime targetTime = LocalTime.parse(currentTime);
//
//            boolean hasExceeded = currentTime1.isAfter(targetTime);
//    if (hasExceeded){
//        orderDto.setState(0);
//    }
//    if (strings.contains(timeRange)){
//        orderDto.setState(0);
//    }
//
//
//            timeRanges.add(orderDto);
//            currentTime = nextTime;
//        }
//        System.out.println("-------------"+timeRanges);
//
//        return timeRanges;
        System.out.println("=======date======" + date);
        List<String> strings = new ArrayList<>();
//        List<SiteBooking> siteBookings = siteClient.listBooks(id);
        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>()
                .eq("siteId", id).like("times",date));
        List<SiteBooking> siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).eq("nextName", siteName).like("times", date));
        if (siteName == null || siteName.equals("")) {
            siteBookings = iSiteBookingService.list(new QueryWrapper<SiteBooking>().eq("siteId", id).ne("status", 5).like("times", date));
        }
System.out.println("=======siteBookings======"+siteBookings);
        for (SiteBooking siteBooking : siteBookings) {
            String[] split = siteBooking.getTimes().split(";");
            for (String s : split) {
            String[] split = siteBooking.getTimes().split(";");
            if (siteBooking.getIsHalf() == 2) {
                for (String s : split) {
                    String convertedValue = s.substring(11);
                    strings.add(convertedValue);
                }
            } else {
                if (halfName == null) {
                    for (String s : split) {
                        String convertedValue = s.substring(11);
                        strings.add(convertedValue);
                    }
                }
                if (siteBooking.getHalfName().equals(halfName)) {
                    for (String s : split) {
                String convertedValue = s.substring(11);
                strings.add(convertedValue);
            }
        }
            }
        }
    System.out.println("======strings======="+strings);
        List<OrderDto> timeRanges = new ArrayList<>();
       Site site =  siteClient.listById(id);
        TSite site = siteService.getById(id);
System.out.println("================"+site);
        String appointmentStartTime = site.getAppointmentStartTime();
        String appointmentEndTime = site.getAppointmentEndTime();
@@ -1062,6 +1149,7 @@
                nextTime= getNextTime(currentTime);
            }
            String timeRange = currentTime + "-" + nextTime;
            OrderDto orderDto = new OrderDto();
            orderDto.setTime(timeRange);
@@ -1070,11 +1158,34 @@
            LocalTime targetTime = LocalTime.parse(currentTime);
            boolean hasExceeded = currentTime1.isAfter(targetTime);
    if (hasExceeded){
//            if (hasExceeded){
//                orderDto.setSelectable(0);
//            }
            if (strings.contains(timeRange)) {
                orderDto.setState(0);
            } else {
                String stime = date + " " + currentTime;
                String etime = date + " " + nextTime;
                orderDto.setState(1);
                // 查出lock
                List<SiteLock> list = siteLockService.list(new LambdaQueryWrapper<SiteLock>().eq(SiteLock::getSiteId, id));
                for (SiteLock siteLock : list) {
                    boolean stringDateBetween = DateComparisonExample.isStringDateBetween(stime + " - " + etime, siteLock.getStartTime(), siteLock.getEndTime());
                    if (stringDateBetween) {
        orderDto.setState(0);
    }
    if (strings.contains(timeRange)){
                    if (DateComparisonExample.isStringWithinTimeRange(stime, siteLock.getStartTime(), siteLock.getEndTime())) {
        orderDto.setState(0);
                    }
                    if (DateComparisonExample.isStringWithinTimeRange(etime, siteLock.getStartTime(), siteLock.getEndTime())) {
                        orderDto.setState(0);
                    }
                }
    }
@@ -1084,7 +1195,6 @@
        System.out.println("-------------"+timeRanges);
        return timeRanges;
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/TStudentController.java
@@ -309,17 +309,18 @@
        model.addAttribute("item", tStudentDto);
        if (tStudentDto.getLateralSurface()!=null&&!tStudentDto.equals("")) {
            String[] pics = tStudentDto.getLateralSurface().split(";");
            model.addAttribute("pic1", pics[0]);
            System.out.println("=====pic1==" + pics[0]);
            if (pics.length > 1) {
                model.addAttribute("pic2", pics[1]);
                System.out.println("=====pic2==" + pics[1]);
            }
            if (pics.length > 2) {
                model.addAttribute("pic3", pics[2]);
                System.out.println("=====pic3==" + pics[2]);
            }
//            String[] pics = tStudentDto.getLateralSurface().split(";");
//            model.addAttribute("pic1", pics[0]);
//            System.out.println("=====pic1==" + pics[0]);
//            if (pics.length > 1) {
//                model.addAttribute("pic2", pics[1]);
//                System.out.println("=====pic2==" + pics[1]);
//            }
//            if (pics.length > 2) {
//                model.addAttribute("pic3", pics[2]);
//                System.out.println("=====pic3==" + pics[2]);
//            }
            model.addAttribute("images",tStudentDto.getLateralSurface());
        }
@@ -355,9 +356,11 @@
    @RequestMapping("/getUseTime/{tStudentId}")
    @ResponseBody
    public ResultUtil getMax(@PathVariable("tStudentId") Integer tStudentId) {
        Date useTime = courseStuddentClient.getUseTime(tStudentId);
        Date vali = studentClient.getById(tStudentId);
//        Date useTime = courseStuddentClient.getUseTime(tStudentId);
        Map<String, Date> map = new HashMap<>();
        map.put("useTime",useTime);
        map.put("useTime",vali);
        return new ResultUtil<>(0,0,null,map,null);
    }
@@ -522,12 +525,14 @@
        // 需要过滤体验课
        List<ClassListDto> classListDtos = courseStuddentClient.listClass(tStudentId);
        for (ClassListDto classListDto : classListDtos) {
            classListDto.setHasClassHours(classListDto.getTotalClassHours()-classListDto.getLaveClassHours());
            if (classListDto.getClassType()==2){
                classListDto.setTotalClassHours(null);
                classListDto.setHasClassHours(null);
                classListDto.setLaveClassHours(null);
                continue;
            }
            classListDto.setHasClassHours(classListDto.getTotalClassHours()-classListDto.getLaveClassHours());
        }
        Map<String,List<ClassListDto>> map = new HashMap<>();
        map.put("items",classListDtos);
@@ -594,11 +599,25 @@
    @ResponseBody
    public ResultUtil update(@RequestBody TStudent tStudent) {
        String lateralSurface = tStudent.getImage1()+";"+tStudent.getImage2()+";"+tStudent.getImage3();
        List<String> strings = new ArrayList<>();
        if (!tStudent.getImage1().isEmpty()){
            strings.add(tStudent.getImage1());
        }
        if (!tStudent.getImage2().isEmpty()){
            strings.add(tStudent.getImage2());
        }
        if (!tStudent.getImage3().isEmpty()){
            strings.add(tStudent.getImage3());
        }
        String result = String.join(";", strings);
        System.out.println("=======lateralSurface======>?"+lateralSurface);
        tStudent.setLateralSurface(lateralSurface);
        System.out.println("学员体测表的值"+lateralSurface);
//
//        String lateralSurface = tStudent.getImage1()+";"+tStudent.getImage2()+";"+tStudent.getImage3();
//
//        System.out.println("=======lateralSurface======>?"+lateralSurface);
        tStudent.setLateralSurface(result);
        System.out.println("学员体测表的值"+result);
        itStudentService.update(tStudent);
//        appUserClient.updateStudent(tStudent);
        return new ResultUtil(0,0,"编辑成功");
@@ -627,7 +646,9 @@
        updateTimeDto updateTimeDto =new updateTimeDto(date1,id);
        System.out.println("======updateTimeDto=====>"+updateTimeDto);
        courseStuddentClient.updateUseDate(updateTimeDto);
//        courseStuddentClient.updateUseDate(updateTimeDto);
        studentClient.update(updateTimeDto);
        CreateHistoryDto historyDto = new CreateHistoryDto();
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/ISiteLockService.java
New file
@@ -0,0 +1,16 @@
package com.dsh.guns.modular.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.course.entity.SiteLock;
import java.util.List;
/**
 * @author zhibing.pu
 * @Date 2023/7/18 14:44
 */
public interface ISiteLockService extends IService<SiteLock> {
}
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/CoursePackageService.java
@@ -714,17 +714,21 @@
     */
    @Override
    public ResultUtil makeUpMissedLessons(Integer coursePackagePaymentId){
        ResultUtil resultUtil = coursePackagePaymentClient.consumeCourse(coursePackagePaymentId);
//        System.out.println("=========coursePackagePayment=====>"+coursePackagePayment);
//        if(coursePackagePayment.getStatus() == 2){
//            return ResultUtil.error("该学员已退课");
//        try {
            Integer is = coursePackagePaymentClient.consumeCourse(coursePackagePaymentId);
            if (is==1){
                return ResultUtil.error("课时数不足");
            }else {
                return ResultUtil.success("补课成功");
            }
//            return  resultUtil;
//            return  ResultUtil.success("补课成功");
//        }catch (Exception e){
//            return  ResultUtil.success("课时数不足");
//
//        }
//        if(coursePackagePayment.getAbsencesNumber() == 0){
//            return ResultUtil.error("当前不需要补课");
//        }
//        coursePackagePayment.setAbsencesNumber(coursePackagePayment.getAbsencesNumber() - 1);
//        coursePackagePaymentClient.editCoursePackagePayment(coursePackagePayment);
        return resultUtil;
//        return resultUtil;
    }
cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/SiteLockServiceImpl.java
New file
@@ -0,0 +1,23 @@
package com.dsh.guns.modular.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.course.entity.SiteLock;
import com.dsh.course.mapper.SiteLockMapper;
import com.dsh.guns.modular.system.service.ISiteLockService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @author zhibing.pu
 * @Date 2023/7/18 14:45
 */
@Service
public class SiteLockServiceImpl extends ServiceImpl<SiteLockMapper, SiteLock> implements ISiteLockService {
}
cloud-server-management/src/main/webapp/WEB-INF/view/login.html
@@ -71,16 +71,15 @@
                <input class="itemInput" type="password" name="password" id="password"  placeholder="请输入密码" required="" value="">
            </div>
            <div class="form-group" style="float: left;">
                <div class="col-sm-8" style="padding-left: 0px; padding-right: 0px;">
                    <input class="form-control" type="text" name="kaptcha" placeholder="验证码" required="">
                </div>
                <div class="col-sm-4" style="padding-left: 0px; padding-right: 0px;">
                    <img src="${ctxPath}/kaptcha" id="kaptcha" width="90px" height="34px"/>
                </div>
            </div>
            <h4 style="color: #0e9aef;text-align: right" onclick="updatePassword1()">修改密码</h4>
<!--            <div class="form-group" style="float: left;">-->
<!--                <div class="col-sm-8" style="padding-left: 0px; padding-right: 0px;">-->
<!--                    <input class="form-control" type="text" name="kaptcha" placeholder="验证码" required="">-->
<!--                </div>-->
<!--                <div class="col-sm-4" style="padding-left: 0px; padding-right: 0px;">-->
<!--                    <img src="${ctxPath}/kaptcha" id="kaptcha" width="90px" height="34px"/>-->
<!--                </div>-->
<!--            </div>-->
<!--            <h4 style="color: #0e9aef;text-align: right" onclick="updatePassword1()">修改密码</h4>-->
            <button onclick="login()" class="btn full-width m-b" style="background-color: #0573EA;color: white;">登 录</button>
            <button type="submit" id="submit" style="display: none;"></button>
            </p>
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_add.html
@@ -288,21 +288,6 @@
              "value":""
            },
            {
              "type": "input-text",
              "label": "SUTU名称",
              "name": "sutuName",
              "id": "u:a4dbdeb9165e",
              "mode": "inline",
              "size": "sm",
              "horizontal": {
                "leftFixed": "sm"
              },
              "value": "",
              "required": true
              ,
              "value":""
            },
            {
              "type": "button",
              "label": "按钮",
              "onEvent": {
cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/ball_pre_edit.html
@@ -286,21 +286,7 @@
              ,
              "value":`${game.red}`
            },
            {
              "type": "input-text",
              "label": "SUTU名称",
              "name": "sutuName",
              "id": "u:a4dbdeb9165e",
              "mode": "inline",
              "size": "sm",
              "horizontal": {
                "leftFixed": "sm"
              },
              "value": "",
              "required": true
              ,
              "value":`${game.sutuId}`
            },
            {
              "type": "button",
              "label": "按钮",
cloud-server-management/src/main/webapp/WEB-INF/view/system/tStudent/tStudentEdit.html
@@ -221,68 +221,75 @@
          "id": "u:8224ab367da8"
        },
        {
          "type": "input-image",
          "id": "u:53e0d6a37b69",
          "label": "",
          "name": "image1",
          "autoUpload": true,
          "proxy": true,
          "uploadType": "fileReceptor",
          "imageClassName": "r w-full",
          "receiver": {
            "url": "/mgr/uploadImgAmis",
            "method": "post"
          "type": "images",
          "id": "u:76216a114f2c",
          "name": "images",
          "value":`${images}`,
          "delimiter":";"
          },
          "accept": ".jpeg, .jpg, .png, .gif",
          "multiple": false,
          "hideUploadButton": false,
          "fixedSize": false,
          "mode": "inline",
          "value":`${pic1!}`,
          "disabled": true,
        },
        {
          "type": "input-image",
          "id": "u:53e0d6a37b69",
          "label": "",
          "name": "image2",
          "autoUpload": true,
          "proxy": true,
          "uploadType": "fileReceptor",
          "imageClassName": "r w-full",
          "receiver": {
            "url": "/mgr/uploadImg",
            "method": "post"
          },
          "accept": ".jpeg, .jpg, .png, .gif",
          "multiple": false,
          "hideUploadButton": false,
          "fixedSize": false,
          "mode": "inline",
          "value":`${pic2!}`,
          "disabled": true,
        },
        {
          "type": "input-image",
          "id": "u:53e0d6a37b69",
          "label": "",
          "name": "image3",
          "autoUpload": true,
          "proxy": true,
          "uploadType": "fileReceptor",
          "imageClassName": "r w-full",
          "receiver": {
            "url": "/mgr/uploadImg",
            "method": "post"
          },
          "accept": ".jpeg, .jpg, .png, .gif",
          "multiple": false,
          "hideUploadButton": false,
          "fixedSize": false,
          "mode": "inline",
          "value":`${pic3!}`,
          "disabled": true,
        },
        // {
        //   "type": "input-image",
        //   "id": "u:53e0d6a37b69",
        //   "label": "",
        //   "name": "image1",
        //   "autoUpload": true,
        //   "proxy": true,
        //   "uploadType": "fileReceptor",
        //   "imageClassName": "r w-full",
        //   "receiver": {
        //     "url": "/mgr/uploadImgAmis",
        //     "method": "post"
        //   },
        //   "accept": ".jpeg, .jpg, .png, .gif",
        //   "multiple": false,
        //   "hideUploadButton": false,
        //   "fixedSize": false,
        //   "mode": "inline",
        //   "value":`${pic1!}`,
        //   "disabled": true,
        // },
        // {
        //   "type": "input-image",
        //   "id": "u:53e0d6a37b69",
        //   "label": "",
        //   "name": "image2",
        //   "autoUpload": true,
        //   "proxy": true,
        //   "uploadType": "fileReceptor",
        //   "imageClassName": "r w-full",
        //   "receiver": {
        //     "url": "/mgr/uploadImg",
        //     "method": "post"
        //   },
        //   "accept": ".jpeg, .jpg, .png, .gif",
        //   "multiple": false,
        //   "hideUploadButton": false,
        //   "fixedSize": false,
        //   "mode": "inline",
        //   "value":`${pic2!}`,
        //   "disabled": true,
        // },
        // {
        //   "type": "input-image",
        //   "id": "u:53e0d6a37b69",
        //   "label": "",
        //   "name": "image3",
        //   "autoUpload": true,
        //   "proxy": true,
        //   "uploadType": "fileReceptor",
        //   "imageClassName": "r w-full",
        //   "receiver": {
        //     "url": "/mgr/uploadImg",
        //     "method": "post"
        //   },
        //   "accept": ".jpeg, .jpg, .png, .gif",
        //   "multiple": false,
        //   "hideUploadButton": false,
        //   "fixedSize": false,
        //   "mode": "inline",
        //   "value":`${pic3!}`,
        //   "disabled": true,
        // },
        {
          "type": "divider",
          "id": "u:c8ddd15c688d"
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/classRecord.js
@@ -316,7 +316,7 @@
                }
                let div_array = $('#cancelClasses').find('div');
                let str = '';
                for (let i = 0; i < div_array.length; i++) {
                for (let i = 1; i < div_array.length; i++) {
                    let v = $($(div_array[i]).find('img')[0]).attr('src');
                    str += v + ";";
                }
cloud-server-other/src/main/java/com/dsh/other/controller/StoreController.java
@@ -125,8 +125,8 @@
            for (Store store : storeList) {
                String storeLon = store.getLon();
                String storeLat = store.getLat();
                String result = storeLon + "," + storeLat;
                String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result);
//                String result = storeLon + "," + storeLat;
//                String distanceTOKilometer = gdMapGeocodingUtil.getDistanceTOKilometer(current, result);
                long l = 0;
//                try {
//                    l = Long.parseLong(distanceTOKilometer);
@@ -137,7 +137,11 @@
                info.setStoreId(store.getId());
                info.setStoreName(store.getName());
                info.setStoreImg(store.getCoverDrawing());
                info.setDistance((long) Double.parseDouble(distanceTOKilometer));
//                info.setDistance( Double.parseDouble(distanceTOKilometer));
                Map<String, Double> distance = GeodesyUtil.getDistance(list.getLongitude() + "," + list.getLatitude(), storeLon + "," + storeLat);
                double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                info.setDistance(wgs84);
                String str = store.getAddress();
cloud-server-other/src/main/java/com/dsh/other/feignclient/model/StoreInfo.java
@@ -14,7 +14,7 @@
    private String storeImg;
    @ApiModelProperty(value = "门店距离当前位置")
    private long distance;
    private double distance;
    @ApiModelProperty(value = "门店名称")
    private String storeName;