puzhibing
2023-11-28 9d909e5f8048b74ac56d8f853758cfccfea61759
后台1
20个文件已修改
10个文件已添加
884 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/entity/TStudent.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserCouponPaymentClient.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserCouponPayment.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/model/Student.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 309 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponPaymentController.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserCouponPaymentMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/model/UserCouponPayment.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/service/IUserCouponPaymentService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponPaymentServiceImpl.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-activity/src/main/resources/mapper/UserCouponPaymentMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/feignclient/account/UserIntegralChangesClient.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/SaveUserIntegralChangesVo.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/model/vo/request/UpdateCourseVideoStatusRequest.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackageStudent.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/model/BannerVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/resources/mapper/BannerMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/ClassDetailsController.java
@@ -382,8 +382,6 @@
            }
            return ResultUtil.success(istuService.updateById(tStudent));
//            return ResultUtil.success(istuService.commitEditStudentInfo(stu,userIdFormRedis));
        } catch (Exception e) {
            return ResultUtil.runErr();
        }
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -8,6 +8,7 @@
import com.dsh.account.service.RechargeRecordsService;
import com.dsh.account.service.TAppUserService;
import com.dsh.account.service.UserIntegralChangesService;
import com.dsh.account.util.PayMoneyUtil;
import com.dsh.account.util.ResultUtil;
import com.dsh.account.util.TokenUtil;
import com.dsh.account.util.ToolUtil;
@@ -20,8 +21,11 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Map;
/**
 * 使用福利 控制器
@@ -48,6 +52,9 @@
    private UserIntegralChangesService uicService;
    private final SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
    @Autowired
    private PayMoneyUtil payMoneyUtil;
    @ResponseBody
@@ -407,7 +414,7 @@
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
    })
    public synchronized ResultUtil productRedemptionOperation(GoodsExchangeVo exchangeType) {
    public ResultUtil productRedemptionOperation(GoodsExchangeVo exchangeType) {
        try {
            Integer userIdFormRedis = tokenUtil.getUserIdFormRedis();
            if (null == userIdFormRedis) {
@@ -420,6 +427,59 @@
    }
    @ResponseBody
    @PostMapping("/base/coupon/weChatPaymentCouponCallback")
    public void weChatPaymentCouponCallback(HttpServletRequest request, HttpServletResponse response){
        try {
            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
            if(null != map){
                String code = map.get("out_trade_no");
                String trade_no = map.get("transaction_id");
                String result = map.get("result");
                ResultUtil resultUtil = tauService.paymentCouponCallback(code, trade_no);
                if(resultUtil.getCode() == 200){
                    PrintWriter out = response.getWriter();
                    out.print(result);
                    out.flush();
                    out.close();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    @ResponseBody
    @PostMapping("/base/coupon/aliPaymentCouponCallback")
    public void aliPaymentCouponCallback(HttpServletRequest request, HttpServletResponse response){
        try {
            Map<String, String> map = payMoneyUtil.alipayCallback(request);
            if(null != map){
                String code = map.get("out_trade_no");
                String trade_no = map.get("trade_no");
                ResultUtil resultUtil = tauService.paymentCouponCallback(code, trade_no);
                if(resultUtil.getCode() == 200){
                    PrintWriter out = response.getWriter();
                    out.print("success");
                    out.flush();
                    out.close();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     * 积分明细
     */
cloud-server-account/src/main/java/com/dsh/account/entity/TStudent.java
@@ -104,6 +104,11 @@
     */
    @TableField("isDefault")
    private Integer isDefault;
    /**
     * 所有课时有效期
     */
    @TableField("validity")
    private Date validity;
}
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/UserCouponPaymentClient.java
New file
@@ -0,0 +1,37 @@
package com.dsh.account.feignclient.activity;
import com.dsh.account.feignclient.activity.model.UserCouponPayment;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
 * @author zhibing.pu
 * @Date 2023/11/28 11:10
 */
@FeignClient(value = "mb-cloud-activity")
public interface UserCouponPaymentClient {
    /**
     * 添加数据
     * @param userCouponPayment
     */
    @PostMapping("/userCouponPayment/addUserCouponPayment")
    void addUserCouponPayment(UserCouponPayment userCouponPayment);
    /**
     * 获取数据
     * @param code
     * @return
     */
    @PostMapping("/userCouponPayment/getUserCouponPayment")
    UserCouponPayment getUserCouponPayment(String code);
    /**
     * 修改数据
     * @param userCouponPayment
     */
    @PostMapping("/userCouponPayment/updateUserCouponPayment")
    void updateUserCouponPayment(UserCouponPayment userCouponPayment);
}
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/UserCouponPayment.java
New file
@@ -0,0 +1,64 @@
package com.dsh.account.feignclient.activity.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
 * @author zhibing.pu
 * @Date 2023/11/28 10:38
 */
@Data
public class UserCouponPayment {
    /**
     * 主键
     */
    private Long id;
    /**
     * 优惠券id
     */
    private Integer couponId;
    /**
     * 用户id
     */
    private Integer userId;
    /**
     * 支付状态(1=待支付,2=已支付)
     */
    private Integer status;
    /**
     * 流水号
     */
    private String code;
    /**
     * 支付方式(1=积分兑换,2=积分+现金)
     */
    private Integer payType;
    /**
     * 积分支付数量
     */
    private Integer integral;
    /**
     * 现金支付金额
     */
    private Double cash;
    /**
     * 现金支付方式(1=微信,2=支付宝)
     */
    private Integer cashPayType;
    /**
     * 第三方支付流水号
     */
    private String orderNumber;
    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date paymentTime;
    /**
     * 添加时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date insertTime;
}
cloud-server-account/src/main/java/com/dsh/account/model/Student.java
@@ -70,4 +70,9 @@
     * 是否默认 1默认 2不是默认
     */
    private Integer isDefault;
    /**
     * 所有课时有效期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date validity;
}
cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java
@@ -150,6 +150,16 @@
    ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeVo);
    /**
     * 优惠券支付回调处理
     * @param code
     * @param orderNumber
     * @return
     */
    ResultUtil paymentCouponCallback(String code, String orderNumber);
    ResultUtil exchangeAddPaymentCallback(String code, String orderNumber, Integer payType);
    List<StoreResponse> queryStoresOfExchange(Integer goodsType, Integer pointsMerId);
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -1,7 +1,6 @@
package com.dsh.account.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
@@ -19,15 +18,10 @@
import com.dsh.account.dto.*;
import com.dsh.account.entity.*;
import com.dsh.account.enums.RechargeRecordEnum;
import com.dsh.account.feignclient.activity.IntroduceRewardsClient;
import com.dsh.account.feignclient.activity.MerChandiseClient;
import com.dsh.account.feignclient.activity.MerChandiseStoreClient;
import com.dsh.account.feignclient.activity.UserConponClient;
import com.dsh.account.feignclient.activity.*;
import com.dsh.account.feignclient.activity.model.*;
import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
import com.dsh.account.feignclient.competition.model.PaymentCompetition;
import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
import com.dsh.account.feignclient.course.CoursePackageClient;
import com.dsh.account.feignclient.course.CoursePackageConfigClient;
import com.dsh.account.feignclient.course.CoursePaymentClient;
@@ -37,7 +31,6 @@
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;
@@ -46,7 +39,6 @@
import com.dsh.account.model.AppUserByNameAndPhoneDTO;
import com.dsh.account.model.dto.Coupon;
import com.dsh.account.model.query.appUserQuery.QueryAppUser;
import com.dsh.account.model.vo.DetailsListVo;
import com.dsh.account.model.vo.QueryAppUserVO;
import com.dsh.account.model.vo.classDetails.CourseVenue;
import com.dsh.account.model.vo.classDetails.ExerciseVideo;
@@ -156,9 +148,6 @@
    private CoursePackageConfigClient cpconClient;
    @Resource
    private PayMoneyUtil payMoneyUtil;
    @Resource
    private SiteClient stClient;
    @Autowired
    private TAppUserMapper appUserMapper;
@@ -182,6 +171,16 @@
    private TAppUserService appUserService;
    @Resource
    private MerChandiseClient merChandiseClient;
    @Autowired
    private PayMoneyUtil payMoneyUtil;
    @Resource
    private UserCouponPaymentClient userCouponPaymentClient;
    // 对数据进行分页处理的方法
    private static Page<Goods> getPage(List<Goods> dataList, Pageable pageable) {
@@ -1281,9 +1280,6 @@
    @Override
    @Transactional
    public synchronized ResultUtil productRedemptionOperation(Integer userIdFormRedis, GoodsExchangeVo exchangeType) {
        System.out.println("exchangeType:--->");
        ReturnModel returnModel = new ReturnModel();
        Long returnId = null;
        //如果是兑换优惠卷
@@ -1295,7 +1291,7 @@
            queryIds.add(coupon.getId());
            queryIds.add(userIdFormRedis);
            Integer counts = userConponClient.queryCounts(queryIds);
            if (coupon.getQuantityIssued() - counts == 0) {
            if (coupon.getQuantityIssued().compareTo(counts) == 0) {
                return new ResultUtil(0, "当前数量不足");
            }
            //查询该用户是否超出限领数量
@@ -1304,40 +1300,56 @@
            if (usercounts == coupon.getPickUpQuantity()) {
                return new ResultUtil<>(0, "限领数量已达最大");
            }
//            userConponClient.queryCouponById(exchangeType.getGoodId());
            UserCoupon userCoupon = new UserCoupon();
            userCoupon.setCouponId(exchangeType.getGoodId());
            userCoupon.setUserId(userIdFormRedis);
            userCoupon.setStatus(1);
            userCoupon.setInsertTime(new Date());
            userConponClient.insertToAppuserCoupon(userCoupon);
            //扣积分
            TAppUser user = appUserService.getById(userIdFormRedis);
            if (user.getIntegral() < coupon.getIntegral().intValue()) {
                return new ResultUtil<>(0, "当前用户积分不足");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
            String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
            //生成支付订单
            UserCouponPayment userCouponPayment = new UserCouponPayment();
            userCouponPayment.setCouponId(exchangeType.getGoodId());
            userCouponPayment.setUserId(userIdFormRedis);
            userCouponPayment.setStatus(1);
            userCouponPayment.setCode(code);
            userCouponPayment.setPayType(coupon.getRedemptionMethod());
            userCouponPayment.setIntegral(coupon.getIntegral().intValue());
            userCouponPayment.setCash(coupon.getCash().doubleValue());
            userCouponPayment.setCashPayType(exchangeType.getPayType());
            userCouponPayment.setInsertTime(new Date());
            //积分兑换
            if(coupon.getRedemptionMethod() == 1){
                UserCoupon userCoupon = new UserCoupon();
                userCoupon.setCouponId(exchangeType.getGoodId());
                userCoupon.setUserId(userIdFormRedis);
                userCoupon.setStatus(1);
                userCoupon.setInsertTime(new Date());
                userConponClient.insertToAppuserCoupon(userCoupon);
                //扣积分
                TAppUser user = appUserService.getById(userIdFormRedis);
                if (user.getIntegral() < coupon.getIntegral().intValue()) {
                    return new ResultUtil<>(0, "当前用户积分不足");
                }
                user.setIntegral(user.getIntegral() - coupon.getIntegral().intValue());
                appUserService.updateById(user);
                userCouponPayment.setStatus(2);
                userCouponPayment.setPaymentTime(new Date());
                userCouponPaymentClient.addUserCouponPayment(userCouponPayment);
                return ResultUtil.success(returnId);
            }
            user.setIntegral(user.getIntegral() - coupon.getIntegral().intValue());
            appUserService.updateById(user);
            //记录
//            UserPointsMerchandise pointsMerchandise = new UserPointsMerchandise();
//            pointsMerchandise.setPointsMerchandiseId(exchangeType.getGoodId());
//            pointsMerchandise.setUserId(userIdFormRedis);
//            pointsMerchandise.setStatus(1);
//            pointsMerchandise.setState(1);
//            pointsMerchandise.setPayStatus(1);
////            if (merchandise.getUseScope() == 3){
////                if (exchangeType.getGoodsType() == 2){
////                    CoursePackage coursePackage = cpageClient.queryCoursePackageById(merchandise.getCoursePackageId());
////                    pointsMerchandise.setStoreId(coursePackage.getStoreId());
////                }else {
////                    pointsMerchandise.setStoreId(exchangeType.getStoreId());
////                }
////            }
////            pointsMerchandise.setCode(code);
//            returnId = mcClient.saveDetailsUserPointMercase(pointsMerchandise);
            return ResultUtil.success(returnId);
            //积分+现金
            if(coupon.getRedemptionMethod() == 1){
                userCouponPaymentClient.addUserCouponPayment(userCouponPayment);
                try {
                    if(exchangeType.getPayType() == 1){
                        return weChatPaymentCoupon("购买优惠券", userCouponPayment);
                    }
                    if(exchangeType.getPayType() == 2){
                        return aliPaymentCoupon("购买优惠券", userCouponPayment);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
@@ -1558,6 +1570,205 @@
    }
    /**
     * 优惠券微信支付
     * @param body
     * @param userCouponPayment
     * @return
     * @throws Exception
     */
    public ResultUtil weChatPaymentCoupon(String body, UserCouponPayment userCouponPayment) throws Exception {
        String code = userCouponPayment.getCode();
        Double cash = userCouponPayment.getCash();
        ResultUtil weixinpay = payMoneyUtil.weixinpay(body, "", code, cash.toString(), "/base/coupon/weChatPaymentCouponCallback", "APP", "");
        if (weixinpay.getCode() == 200) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        int num = 1;
                        int wait = 0;
                        while (num <= 10) {
                            int min = 5000;
                            wait += (min * num);
                            Thread.sleep(wait);
                            UserCouponPayment userCouponPayment1 = userCouponPaymentClient.getUserCouponPayment(code);
                            if (userCouponPayment1.getStatus() == 2) {
                                break;
                            }
                            ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(code, "");
                            if (resultUtil.getCode() == 200 && userCouponPayment1.getStatus() == 1) {
                                /**
                                 * SUCCESS—支付成功,
                                 * REFUND—转入退款,
                                 * NOTPAY—未支付,
                                 * CLOSED—已关闭,
                                 * REVOKED—已撤销(刷卡支付),
                                 * USERPAYING--用户支付中,
                                 * PAYERROR--支付失败(其他原因,如银行返回失败)
                                 */
                                Map<String, String> data1 = resultUtil.getData();
                                String s = data1.get("trade_state");
                                String transaction_id = data1.get("transaction_id");
                                if ("REFUND".equals(s) || "NOTPAY".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) {
                                    //有待支付的订单,这里不处理
                                    userCouponPayment1.setStatus(-1);
                                    userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1);
                                    break;
                                }
                                if ("SUCCESS".equals(s)) {
                                    userCouponPayment1.setStatus(2);
                                    userCouponPayment1.setPaymentTime(new Date());
                                    userCouponPayment1.setOrderNumber(transaction_id);
                                    userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1);
                                    UserCoupon userCoupon = new UserCoupon();
                                    userCoupon.setCouponId(userCouponPayment1.getCouponId());
                                    userCoupon.setUserId(userCouponPayment1.getUserId());
                                    userCoupon.setStatus(1);
                                    userCoupon.setInsertTime(new Date());
                                    userConponClient.insertToAppuserCoupon(userCoupon);
                                    if(null != userCouponPayment1.getIntegral() && 0 != userCouponPayment1.getIntegral()){
                                        //扣积分
                                        TAppUser user = appUserService.getById(userCouponPayment1.getUserId());
                                        user.setIntegral(user.getIntegral() - userCouponPayment1.getIntegral().intValue());
                                        appUserService.updateById(user);
                                    }
                                    break;
                                }
                                if ("USERPAYING".equals(s)) {
                                    num++;
                                }
                            }
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }).start();
        }
        return weixinpay;
    }
    /**
     * 优惠券支付宝支付
     *
     * @param uid
     * @param paymentPrice
     * @param paymentCourseVo
     * @return
     * @throws Exception
     */
    public ResultUtil aliPaymentCoupon(String body, UserCouponPayment userCouponPayment) throws Exception {
        String code = userCouponPayment.getCode();
        Double cash = userCouponPayment.getCash();
        ResultUtil alipay = payMoneyUtil.alipay(body, body, "", code, cash.toString(), "/base/coupon/aliPaymentCouponCallback");
        if (alipay.getCode() == 200) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        Thread.sleep(1000);
                        int num = 1;
                        int wait = 0;
                        while (num <= 10) {
                            int min = 5000;
                            wait += (min * num);
                            Thread.sleep(wait);
                            UserCouponPayment userCouponPayment1 = userCouponPaymentClient.getUserCouponPayment(code);
                            if (userCouponPayment1.getStatus() == 2) {
                                break;
                            }
                            AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code);
                            if (null != alipayTradeQueryResponse) {
                                /**
                                 * WAIT_BUYER_PAY(交易创建,等待买家付款)、
                                 * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
                                 * TRADE_SUCCESS(交易支付成功)、
                                 * TRADE_FINISHED(交易结束,不可退款)
                                 */
                                String s = alipayTradeQueryResponse.getTradeStatus();
                                String tradeNo = alipayTradeQueryResponse.getTradeNo();
                                if ("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10) {
                                    //有待支付的订单,这里不处理
                                    userCouponPayment1.setStatus(-1);
                                    userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1);
                                    break;
                                }
                                if ("TRADE_SUCCESS".equals(s)) {
                                    userCouponPayment1.setStatus(2);
                                    userCouponPayment1.setPaymentTime(new Date());
                                    userCouponPayment1.setOrderNumber(tradeNo);
                                    userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1);
                                    UserCoupon userCoupon = new UserCoupon();
                                    userCoupon.setCouponId(userCouponPayment1.getCouponId());
                                    userCoupon.setUserId(userCouponPayment1.getUserId());
                                    userCoupon.setStatus(1);
                                    userCoupon.setInsertTime(new Date());
                                    userConponClient.insertToAppuserCoupon(userCoupon);
                                    if(null != userCouponPayment1.getIntegral() && 0 != userCouponPayment1.getIntegral()){
                                        //扣积分
                                        TAppUser user = appUserService.getById(userCouponPayment1.getUserId());
                                        user.setIntegral(user.getIntegral() - userCouponPayment1.getIntegral().intValue());
                                        appUserService.updateById(user);
                                    }
                                    break;
                                }
                                if ("WAIT_BUYER_PAY".equals(s)) {
                                    num++;
                                }
                            }
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }).start();
        }
        return alipay;
    }
    /**
     * 支付回调
     * @param code
     * @param orderNumber
     * @return
     */
    @Override
    public ResultUtil paymentCouponCallback(String code, String orderNumber) {
        UserCouponPayment userCouponPayment1 = userCouponPaymentClient.getUserCouponPayment(code);
        if (userCouponPayment1.getStatus() == 2) {
            return ResultUtil.success();
        }
        userCouponPayment1.setStatus(2);
        userCouponPayment1.setPaymentTime(new Date());
        userCouponPayment1.setOrderNumber(orderNumber);
        userCouponPaymentClient.updateUserCouponPayment(userCouponPayment1);
        UserCoupon userCoupon = new UserCoupon();
        userCoupon.setCouponId(userCouponPayment1.getCouponId());
        userCoupon.setUserId(userCouponPayment1.getUserId());
        userCoupon.setStatus(1);
        userCoupon.setInsertTime(new Date());
        userConponClient.insertToAppuserCoupon(userCoupon);
        if(null != userCouponPayment1.getIntegral() && 0 != userCouponPayment1.getIntegral()){
            //扣积分
            TAppUser user = appUserService.getById(userCouponPayment1.getUserId());
            user.setIntegral(user.getIntegral() - userCouponPayment1.getIntegral().intValue());
            appUserService.updateById(user);
        }
        return ResultUtil.success();
    }
    public boolean dealAppUserIntegral(Integer appUserId, TAppUser appUser, Integer points) {
        try {
            if (ToolUtil.isEmpty(appUser.getIntegral()) || (ToolUtil.isNotEmpty(appUser.getIntegral()) && appUser.getIntegral() < points)) {
cloud-server-activity/pom.xml
@@ -84,7 +84,6 @@
            <artifactId>geodesy</artifactId>
            <version>1.1.3</version>
        </dependency>
    </dependencies>
    <build>
cloud-server-activity/src/main/java/com/dsh/activity/controller/UserCouponPaymentController.java
New file
@@ -0,0 +1,53 @@
package com.dsh.activity.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.activity.model.UserCouponPayment;
import com.dsh.activity.service.IUserCouponPaymentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * @author zhibing.pu
 * @Date 2023/11/28 11:12
 */
@RestController
@RequestMapping("")
public class UserCouponPaymentController {
    @Autowired
    private IUserCouponPaymentService userCouponPaymentService;
    /**
     * 添加数据
     * @param userCouponPayment
     */
    @ResponseBody
    @PostMapping("/userCouponPayment/addUserCouponPayment")
    public void addUserCouponPayment(@RequestBody UserCouponPayment userCouponPayment){
        userCouponPaymentService.save(userCouponPayment);
    }
    /**
     * 获取数据
     * @param code
     * @return
     */
    @ResponseBody
    @PostMapping("/userCouponPayment/getUserCouponPayment")
    public UserCouponPayment getUserCouponPayment(@RequestBody String code){
        return userCouponPaymentService.getOne(new QueryWrapper<UserCouponPayment>().eq("code", code));
    }
    /**
     * 修改数据
     * @param userCouponPayment
     */
    @ResponseBody
    @PostMapping("/userCouponPayment/updateUserCouponPayment")
    public void updateUserCouponPayment(@RequestBody UserCouponPayment userCouponPayment){
        userCouponPaymentService.updateById(userCouponPayment);
    }
}
cloud-server-activity/src/main/java/com/dsh/activity/mapper/UserCouponPaymentMapper.java
New file
@@ -0,0 +1,11 @@
package com.dsh.activity.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.activity.model.UserCouponPayment;
/**
 * @author zhibing.pu
 * @Date 2023/11/28 10:44
 */
public interface UserCouponPaymentMapper extends BaseMapper<UserCouponPayment> {
}
cloud-server-activity/src/main/java/com/dsh/activity/model/UserCouponPayment.java
New file
@@ -0,0 +1,78 @@
package com.dsh.activity.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
 * @author zhibing.pu
 * @Date 2023/11/28 10:38
 */
@Data
@TableName("t_user_coupon_payment")
public class UserCouponPayment {
    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.NONE)
    private Long id;
    /**
     * 优惠券id
     */
    @TableField("couponId")
    private Integer couponId;
    /**
     * 用户id
     */
    @TableField("userId")
    private Integer userId;
    /**
     * 支付状态(1=待支付,2=已支付)
     */
    @TableField("status")
    private Integer status;
    /**
     * 流水号
     */
    @TableField("code")
    private String code;
    /**
     * 支付方式(1=积分兑换,2=积分+现金)
     */
    @TableField("payType")
    private Integer payType;
    /**
     * 积分支付数量
     */
    @TableField("integral")
    private Integer integral;
    /**
     * 现金支付金额
     */
    @TableField("cash")
    private Double cash;
    /**
     * 现金支付方式(1=微信,2=支付宝)
     */
    @TableField("cashPayType")
    private Integer cashPayType;
    /**
     * 第三方支付流水号
     */
    @TableField("orderNumber")
    private String orderNumber;
    /**
     * 支付时间
     */
    @TableField("paymentTime")
    private Date paymentTime;
    /**
     * 添加时间
     */
    @TableField("insertTime")
    private Date insertTime;
}
cloud-server-activity/src/main/java/com/dsh/activity/service/IUserCouponPaymentService.java
New file
@@ -0,0 +1,11 @@
package com.dsh.activity.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.activity.model.UserCouponPayment;
/**
 * @author zhibing.pu
 * @Date 2023/11/28 10:45
 */
public interface IUserCouponPaymentService extends IService<UserCouponPayment> {
}
cloud-server-activity/src/main/java/com/dsh/activity/service/impl/UserCouponPaymentServiceImpl.java
New file
@@ -0,0 +1,15 @@
package com.dsh.activity.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.activity.mapper.UserCouponPaymentMapper;
import com.dsh.activity.model.UserCouponPayment;
import com.dsh.activity.service.IUserCouponPaymentService;
import org.springframework.stereotype.Service;
/**
 * @author zhibing.pu
 * @Date 2023/11/28 10:45
 */
@Service
public class UserCouponPaymentServiceImpl extends ServiceImpl<UserCouponPaymentMapper, UserCouponPayment> implements IUserCouponPaymentService {
}
cloud-server-activity/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java
@@ -89,8 +89,13 @@
        props3.setProperty("algorithm-expression", "t_user_benefits_videos$->{appUserId % 5 + 1}");
        result1.getShardingAlgorithms().put("t_user_benefits_videos-inline", new AlgorithmConfiguration("INLINE", props3));
        result1.getKeyGenerators().put("t_user_benefits_videos-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
        linkedList.add(result1);
        result1.getTables().add(getUserCouponTableRulePaymentConfiguration());
        Properties props4 = new Properties();
        props4.setProperty("algorithm-expression", "t_user_coupon_payment$->{userId % 5 + 1}");
        result1.getShardingAlgorithms().put("t_user_coupon_payment-inline", new AlgorithmConfiguration("INLINE", props4));
        result1.getKeyGenerators().put("t_user_coupon_payment-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
        linkedList.add(result1);
        return linkedList;
    }
@@ -132,4 +137,16 @@
        return result;
    }
    /**
     * 分片算法配置
     *
     * @return
     */
    private ShardingTableRuleConfiguration getUserCouponTableRulePaymentConfiguration() {
        ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_user_coupon_payment", "m_$->{0}.t_user_coupon_payment$->{1..5}");//50
        result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("userId", "t_user_coupon_payment-inline"));
        result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_user_coupon_payment-snowflake"));
        return result;
    }
}
cloud-server-activity/src/main/resources/mapper/UserCouponPaymentMapper.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsh.activity.mapper.UserCouponPaymentMapper">
</mapper>
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -672,6 +672,7 @@
        List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList());
        List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
                .in("appUserId", appUserIds)
                .in("studentId", recordTimeRequest.getStuId())
                .eq("coursePackageId", recordTimeRequest.getLessionId())
                .eq("state", 1)
        );
@@ -896,7 +897,6 @@
            Set<BaseVo> set = new HashSet<>(list);
            List<BaseVo> back = new ArrayList<>(set);
            return ResultUtil.success(back);
        } catch (Exception e) {
            e.printStackTrace();
@@ -914,25 +914,11 @@
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
    })
    public ResultUtil<List<AppUserVideoResponse>> queryAfterSourceList(CourseOfAfterRequest search) throws Exception {
//        try {
        Integer appUserId = tokenUtil.getUserIdFormRedis();
        if (null == appUserId) {
            return ResultUtil.tokenErr();
        }
//
//            List<Integer> courseIds = new ArrayList<>();
//            QueryWrapper<TCoursePackagePayment> queryWrapper = new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId)
//                    .groupBy("coursePackageId");
//            if (ToolUtil.isNotEmpty(search.getCourseTypeId())){
//                queryWrapper.eq("coursePackageId",search.getCourseTypeId());
//            }
//            List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(queryWrapper);
//            if (tCoursePackagePayments.size() > 0 ){
//                courseIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
//            }
        QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("studentId", search.getStuId());
        if (ToolUtil.isNotEmpty(search.getCourseTypeId())) {
            queryWrapper1.eq("coursePackageId", search.getCourseTypeId());
@@ -945,7 +931,6 @@
        }
        System.out.println("======longs========" + longs);
//           List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId"));
        List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs);
        if (search.getSearch() != null) {
@@ -960,11 +945,6 @@
        }
        return ResultUtil.success(coursePackageSchedulings1);
//        }catch (Exception e){
//            return ResultUtil.runErr();
//        }
    }
    /**
@@ -2266,7 +2246,9 @@
        map.put("lon", lon);
        map.put("lat", lat);
        // 找出门店的所有课程 排出体验
        List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3).eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week));
        List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>()
                .eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3)
                .eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week));
        List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
        if (collect.size() == 0) {
            collect.add(-1);
@@ -2278,14 +2260,14 @@
                .in(CoursePackageScheduling::getCoursePackageId, collect)
        );
        List<Integer> collect1 = list8.stream().map(CoursePackageScheduling::getCoursePackageId).collect(Collectors.toList());
        // 找出购买的课包
        List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
                .eq("appUserId", courseDetailReq.getAppUserId())
                .eq("studentId", courseDetailReq.getStuId())
                .in("coursePackageId", collect1)
                .eq("status", 1)
                .eq("state", 1)
        );
//        // 找出购买的课包
//        List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>()
//                .eq("appUserId", courseDetailReq.getAppUserId())
//                .eq("studentId", courseDetailReq.getStuId())
//                .in("coursePackageId", collect1)
//                .eq("status", 1)
//                .eq("state", 1)
//        );
cloud-server-course/src/main/java/com/dsh/course/controller/CourseStudentController.java
@@ -421,8 +421,7 @@
    @ResponseBody
    public void toClass(@RequestBody ToClassDto toClassDto) throws ParseException {
        System.out.println("===========到达getSelect=======" + toClassDto);
        TCoursePackagePayment orinPay =
                paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId()));
        TCoursePackagePayment orinPay = paymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("id", toClassDto.getId()));
        TCoursePackagePayment studentPay = paymentService.getOne
                (new QueryWrapper<TCoursePackagePayment>()
                        .eq("studentId", toClassDto.getToStudentId())
cloud-server-course/src/main/java/com/dsh/course/feignclient/account/UserIntegralChangesClient.java
New file
@@ -0,0 +1,22 @@
package com.dsh.course.feignclient.account;
import com.dsh.course.feignclient.account.model.SaveUserIntegralChangesVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
 * @author zhibing.pu
 * @date 2023/7/12 11:40
 */
@FeignClient("mb-cloud-account")
public interface UserIntegralChangesClient {
    /**
     * 保存用户积分变动记录
     *
     * @param vo
     */
    @PostMapping("/userIntegralChanges/saveUserIntegralChanges")
    void saveUserIntegralChanges(SaveUserIntegralChangesVo vo);
}
cloud-server-course/src/main/java/com/dsh/course/feignclient/account/model/SaveUserIntegralChangesVo.java
New file
@@ -0,0 +1,23 @@
package com.dsh.course.feignclient.account.model;
import lombok.Data;
/**
 * @author zhibing.pu
 * @date 2023/7/12 11:26
 */
@Data
public class SaveUserIntegralChangesVo {
    /**
     * 用户id
     */
    private Integer appUserId;
    /**
     * 积分类型(1=赠送积分,2=兑换商品,3=完成课后练习,4=观看教学视频)
     */
    private Integer type;
    /**
     * 积分
     */
    private Integer integral;
}
cloud-server-course/src/main/java/com/dsh/course/model/vo/request/UpdateCourseVideoStatusRequest.java
@@ -14,6 +14,9 @@
    @ApiModelProperty(value = "课包id")
    private Integer coursePackageId;
    @ApiModelProperty(value = "排课id")
    private Long scId;
    @ApiModelProperty(value = "是否看完 1是 2否")
    private Integer isOver;
cloud-server-course/src/main/java/com/dsh/course/service/ICoursePackageSchedulingService.java
@@ -34,7 +34,6 @@
    List<AppUserVideoResponse> queryAll(List<Long> longs);
    void cancel();
    /**
cloud-server-course/src/main/java/com/dsh/course/service/impl/CoursePackageSchedulingServiceImpl.java
@@ -84,36 +84,6 @@
     * 定时修改状态
     */
    @Override
    public void cancel() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                List<TCoursePackagePayment> list = packagePaymentService.list();
                Date now = new Date();
                List<Long> pays = new ArrayList<>();
                for (TCoursePackagePayment coursePackagePayment : list) {
                    if (now.before(coursePackagePayment.getUseTime())) {
                        pays.add(coursePackagePayment.getId());
                    }
                }
                List<CoursePackageStudent> coursePackagePaymentId = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().in("coursePackagePaymentId", pays));
                List<Long> scs = new ArrayList<>();
                for (CoursePackageStudent coursePackageStudent : coursePackagePaymentId) {
                    scs.add(coursePackageStudent.getCoursePackageSchedulingId());
                }
                coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().in("coursePackagePaymentId", pays));
                coursePackageSchedulingMapper.delete(new QueryWrapper<CoursePackageScheduling>().in("id", scs));
            }
        }).start();
    }
    /**
     * 定时修改状态
     */
    @Override
    public void taskSetStatus() {
        new Thread(new Runnable() {
            @Override
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -18,10 +18,8 @@
import com.dsh.course.feignclient.account.AppUserClient;
import com.dsh.course.feignclient.account.CoachClient;
import com.dsh.course.feignclient.account.StudentClient;
import com.dsh.course.feignclient.account.model.AppUser;
import com.dsh.course.feignclient.account.model.Coach;
import com.dsh.course.feignclient.account.model.Student;
import com.dsh.course.feignclient.account.model.TCourseInfoRecord;
import com.dsh.course.feignclient.account.UserIntegralChangesClient;
import com.dsh.course.feignclient.account.model.*;
import com.dsh.course.feignclient.activity.BenefitVideoClient;
import com.dsh.course.feignclient.activity.CouponClient;
import com.dsh.course.feignclient.activity.model.BenefitsVideos;
@@ -118,9 +116,11 @@
    @Autowired
    private ICoursePackageSchedulingService coursePackageSchedulingService;
    @Autowired
    private RestTemplate internalRestTemplate;
    @Resource
    private UserIntegralChangesClient userIntegralChangesClient;
    @Override
@@ -326,7 +326,6 @@
    @Override
    public CourseOfVideoResponse queryVideoDetails(CourseWithDetailsRequest detailsRequest, Integer appUserId) {
        CourseOfVideoResponse response = new CourseOfVideoResponse();
//        BenefitsVideos videosWithIds = bfvoClient.getVideosWithIds(detailsRequest.getVideoId());
        TCourse byId = courseService.getById(detailsRequest.getVideoId());
        TCoursePackage coursePackage = tcpmapper.selectById(detailsRequest.getCoursePackageId());
        CoursePackageScheduling byId1 = new CoursePackageScheduling();
@@ -373,6 +372,17 @@
            userVideoDetails.setState(2);
            userVideoDetails.setUpdateTime(new Date());
            uvdmapper.updateById(userVideoDetails);
            CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingService.getById(detailsRequest.getScId());
            //添加积分
            AppUser appUser = appuClient.queryAppUser(coursePackageScheduling.getAppUserId());
            appUser.setIntegral((null == appUser.getIntegral() ? 0 : appUser.getIntegral()) + (null == coursePackageScheduling.getIntegral() ? 0 : coursePackageScheduling.getIntegral()));
            appuClient.updateAppUser(appUser);
            SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
            vo.setAppUserId(coursePackageScheduling.getAppUserId());
            vo.setIntegral(coursePackageScheduling.getIntegral());
            vo.setType(4);
            userIntegralChangesClient.saveUserIntegralChanges(vo);
            return "SUCCESS";
        }
        return "ERROR";
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -607,7 +607,6 @@
        String[] split = coursePackage.getClassWeeks().split(";");
        coursePackageInfo.setWeeks(Arrays.asList(split));
        // 2.0
        String classStartTime = coursePackage.getClassStartTime();
        String classEndTime = coursePackage.getClassEndTime();
        ArrayList<String> classTime = new ArrayList<>();
@@ -643,7 +642,6 @@
                coursePackagePaymentConfigVo.setPayType(2);
            }
//                coursePackagePaymentConfigVo.setPayType(coursePackage.getPayType());
            //会员显示原价和支付价(会员价)。非会员显示会员价和支付价(最低)
//                if(appUser.getIsVip() == 0){//非会员
            List<TCoursePackageDiscount> list2 = coursePackageDiscountService.list(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId())
@@ -981,6 +979,9 @@
                                    coursePackageOrder1.setOrderNumber(transaction_id);
                                    coursePackageOrder1.setAppUserId(null);
                                    coursePackageOrderService.updateById(coursePackageOrder1);
                                    //修改课时有效期
                                    addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                    break;
                                }
cloud-server-course/src/main/java/com/dsh/course/util/TaskUtil.java
@@ -91,15 +91,6 @@
    /**
     * 零时任务
     */
    @Scheduled(cron = "0 0 23 * * *")
    public void zeroTask() {
        coursePackageSchedulingService.cancel();
    }
    /**
     * 每周一执行的定时任务
     */
    @Scheduled(cron = "0 0 0 * * 2")
cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackageStudent.js
@@ -42,16 +42,7 @@
                    }
                }
            }
        },
        {title: '预定状态', field: 'reservationStatus', align: 'center', valign: 'middle',hidden:true,
            formatter: function (v) {
                if (v == 0) {
                    return '已取消';
                } else {
                    return '正常';
                }
            }
        },
        }
    ];
    return columns;
};
cloud-server-other/src/main/java/com/dsh/other/controller/BannerController.java
@@ -85,25 +85,8 @@
            @ApiImplicitParam(value = "位置(1=首页,2=首页底部,3=线上课得积分,4=看视频得奖励,5=常见问题)", name = "position", dataType = "int", required = true),
    })
    public ResultUtil<List<BannerVo>> queryBannerList(Integer position) {
//        try {
//            List<Banner> list = bannerService.list(new QueryWrapper<Banner>().eq("position", position).eq("state", 1).orderByAsc("sort"));
//            if (position == 4) {
        List<BannerVo> list2 = bannerService.list1(position);
        return ResultUtil.success(list2);
//            }
//            List<BannerVo> list1 = new ArrayList<>();
//            for (Banner banner : list) {
//                BannerVo bannerVo = new BannerVo();
//                BeanUtils.copyProperties(banner, bannerVo);
//                list1.add(bannerVo);
//            }
//            return ResultUtil.success(list1);
//        }catch (Exception e){
//            e.printStackTrace();
//            return ResultUtil.runErr();
//        }
    }
cloud-server-other/src/main/java/com/dsh/other/model/BannerVo.java
@@ -25,4 +25,6 @@
    private Integer turnId;
    @ApiModelProperty("跳转模块")
    private String model;
    @ApiModelProperty("跳转列表类型id")
    private Integer typeId;
}
cloud-server-other/src/main/resources/mapper/BannerMapper.xml
@@ -49,9 +49,10 @@
            where position = 6
    </select>
    <select id="list1" resultType="com.dsh.other.model.BannerVo">
                    select tb.id as id,tb.img as img, tb.page as page,tb.name as name,tb.type as type,tb.turnId as turnId  , tb.model as model
                        from t_banner tb
                    where tb.position = #{position} and tb.state =1
      select tb.id as id,tb.img as img, tb.page as page,tb.name as name,tb.type as type,
      tb.turnId as turnId  , tb.model as model, tb.typeId
      from t_banner tb
      where tb.position = #{position} and tb.state =1
    </select>
</mapper>