44323
2023-11-24 eb4168a55e5cbfc04fe4e2b6c99d8a232f85ad2e
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai
11个文件已修改
4个文件已添加
226 ■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/entity/TOrder.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/mapper/TOrderMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/model/PaymentCourseVo.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/model/vo/RegisterCourseVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/TOrderService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-course/src/main/java/com/dsh/course/service/impl/TOrderServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
@@ -477,6 +477,7 @@
            if(null != map){
                String out_trade_no = map.get("out_trade_no");
                String trade_no = map.get("trade_no");
                String appUserId = map.get("passback_params");
                ResultUtil resultUtil = vipPaymentService.addVipPaymentCallback(out_trade_no, trade_no);
                if(resultUtil.getCode() == 200){
                    PrintWriter out = response.getWriter();
cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java
@@ -103,7 +103,12 @@
            if (null != tAppUser){
                detailsVo.setUserId(appUserId);
                detailsVo.setUserImage(tAppUser.getHeadImg());
                if (tAppUser.getHeadImg()!=null){
                detailsVo.setUserImage(tAppUser.getHeadImg());}
                else {
                    detailsVo.setUserImage("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/630864764d3c4e98822ff976a2389559.jpg");}
                detailsVo.setUserName(tAppUser.getName());
                detailsVo.setUserPhone(tAppUser.getPhone());
                detailsVo.setIsVip(tAppUser.getIsVip());
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -719,7 +719,11 @@
        IndexOfUserBenefirVo benefirVo = new IndexOfUserBenefirVo();
        TAppUser appUser = this.getById(appUserId);
        benefirVo.setUserHeadImg(appUser.getHeadImg());
        if (appUser.getHeadImg()!=null) {
            benefirVo.setUserHeadImg(appUser.getHeadImg());
        }else {
            benefirVo.setUserHeadImg("https://we-park-life.oss-cn-beijing.aliyuncs.com/img/630864764d3c4e98822ff976a2389559.jpg");
        }
        benefirVo.setUserName(appUser.getName());
        benefirVo.setWpCoin(ToolUtil.isEmpty(appUser.getPlayPaiCoins()) ? 0 : appUser.getPlayPaiCoins());
        benefirVo.setUserIntegral(ToolUtil.isEmpty(appUser.getIntegral()) ? 0 : appUser.getIntegral());
cloud-server-account/src/main/java/com/dsh/account/service/impl/VipPaymentServiceImpl.java
@@ -157,7 +157,7 @@
     */
    public ResultUtil alipay(VipPayment vipPayment) throws Exception{
        String code = vipPayment.getCode();
        ResultUtil alipay = payMoneyUtil.alipay("购买年度会员", "购买年度会员", "", code, vipPayment.getAmount().toString(),
        ResultUtil alipay = payMoneyUtil.alipay("购买年度会员", "购买年度会员", vipPayment.getAppUserId()+"", code, vipPayment.getAmount().toString(),
                "/base/appUser/addVipPaymentAliCallback");
        if(alipay.getCode() == 200){
            new Thread(new Runnable() {
cloud-server-course/src/main/java/com/dsh/course/controller/CourseController.java
@@ -289,7 +289,7 @@
                TCoursePackagePayment one = list.get(0);
                if(one.getPayStatus() == 1){
                    for (TCoursePackagePayment coursePackagePayment : list) {
                        coursePackagePayment.setPayStatus(2);
                        coursePackagePayment.setPayStatus(1);
                        coursePackagePayment.setOrderNumber(trade_no);
                        coursePackagePayment.setAppUserId(null);
                    }
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -458,9 +458,17 @@
                .eq("appUserId",student.getAppUserId())
                .eq("studentId",stuId).eq("payStatus",2));
        Date date = new Date();
        if (byUserId.size() > 0 ){
            for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
                TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
                if (tCoursePackagePayment.getUseTime()!=null) {
                    if (tCoursePackagePayment.getUseTime().after(date)) {
                        date = tCoursePackagePayment.getUseTime();
                    }
                }
                if (tCoursePackage.getType()==3){
                    continue;
                }
@@ -477,6 +485,7 @@
                }else {
                    resp.setIsAble(1);
                }
                if (tCoursePackagePayment.getUseTime()!=null){
//                String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + "");
//                resp.setPeriodOfValidity(afterDayDate);
@@ -492,6 +501,16 @@
                resps.add(resp);
            }
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String str = sdf.format(date);
        for (StuCourseResp resp : resps) {
            resp.setPeriodOfValidity(str);
        }
        return resps;
    }
@@ -1077,8 +1096,10 @@
            @ApiImplicitParam(value = "经度", name = "lon", dataType = "string", required = false),
            @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false),
            @ApiImplicitParam(name = "coursePayId" ,value = "课包记录id",dataType = "long"),
            @ApiImplicitParam(name = "orderId" ,value = "订单id",dataType = "int")
    })
    public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat){
    public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat,Integer orderId){
        try {
            Integer appUserId = tokenUtil.getUserIdFormRedis();
            if(null == appUserId){
cloud-server-course/src/main/java/com/dsh/course/entity/TCoursePackagePayment.java
@@ -189,4 +189,7 @@
    @TableField(exist = false)
    private Integer type;
    @TableField(exist = false)
    private Integer orderId;
}
cloud-server-course/src/main/java/com/dsh/course/entity/TOrder.java
New file
@@ -0,0 +1,39 @@
package com.dsh.course.entity;
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 com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.math.BigDecimal;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_order")
public class TOrder extends Model<TOrder> {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @TableField("paysId")
    private String paysId;
    @TableField("orderNum")
    private String orderNum;
    @TableField("isPay")
    private Integer isPay;
    @TableField("payType")
    private Integer payType;
    @TableField("appUserId")
    private Integer appUserId;
    @TableField("price")
    private Double price;
    @TableField("code")
    private String code;
    @TableField("studentId")
    private Integer studentId;
}
cloud-server-course/src/main/java/com/dsh/course/mapper/TOrderMapper.java
New file
@@ -0,0 +1,8 @@
package com.dsh.course.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsh.course.entity.TOrder;
public interface TOrderMapper extends BaseMapper<TOrder> {
    // 可以在这里自定义其他的查询方法
}
cloud-server-course/src/main/java/com/dsh/course/model/PaymentCourseVo.java
@@ -23,4 +23,6 @@
    private String studentIds;
    @ApiModelProperty(value = "优惠券id", dataType = "long", required = false)
    private Long couponId;
    @ApiModelProperty(value = "订单id", dataType = "int", required = false)
    private Integer orderId;
}
cloud-server-course/src/main/java/com/dsh/course/model/vo/RegisterCourseVo.java
@@ -39,4 +39,7 @@
    @ApiModelProperty(value = "假期课时间段")
    private String time;
    @ApiModelProperty(value = "订单id")
    private Integer orderId;
}
cloud-server-course/src/main/java/com/dsh/course/service/TOrderService.java
New file
@@ -0,0 +1,8 @@
package com.dsh.course.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsh.course.entity.TOrder;
public interface TOrderService extends IService<TOrder> {
    // 可以在这里自定义其他的服务方法
}
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -377,11 +377,36 @@
        return "ERROR";
    }
    @Autowired
    private TOrderService orderService;
    @Override
    public List<RegisterCourseVo> queryRegisteredCourseList(CourseOfAfterRequest courseTypeId, Integer appUserId) {
        List<RegisterCourseVo> courseVos = new ArrayList<>();
        List<TCoursePackagePayment> tCoursePackagePayments = this.list(new QueryWrapper<TCoursePackagePayment>()
                .eq("appUserId",appUserId ));
        List<TOrder> orders = orderService.list(new QueryWrapper<TOrder>().eq("appUserId", appUserId));
        List<String> paysId = new ArrayList<>();
        List<TCoursePackagePayment> tCoursePackagePayments = new ArrayList<>();
        for (TOrder order : orders) {
            String[] split = order.getPaysId().split(",");
//            paysId.add(split[0]);
            TCoursePackagePayment byId = this.getById(split[0]);
            byId.setPayStatus(order.getIsPay());
            byId.setOrderId(order.getId());
            tCoursePackagePayments.add(byId);
        }
//        List<TCoursePackagePayment> tCoursePackagePayments = this.list(new QueryWrapper<TCoursePackagePayment>()
//                .eq("appUserId",appUserId ));
//        List<TCoursePackagePayment> tCoursePackagePayments = this.list(new QueryWrapper<TCoursePackagePayment>()
//                .in("id",paysId ));
        System.out.println(tCoursePackagePayments);
        if (tCoursePackagePayments.size() > 0){
            try {
@@ -392,6 +417,7 @@
                    // 2.0
                    registerCourseVo.setType(coursePackage.getType());
                    registerCourseVo.setOrderId(tCoursePackagePayment.getOrderId());
                    registerCourseVo.setCoursePayId(tCoursePackagePayment.getId());
                    registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId());
                    registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId());
@@ -436,7 +462,9 @@
//                        registerCourseVo.setCourseNums(coursePackageStudents.size() * 2);
                        registerCourseVo.setCourseNums(counts);
                    }
//                    registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus());
                    registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus());
                    courseVos.add(registerCourseVo);
                }
            }catch (Exception e){
@@ -475,12 +503,12 @@
        AppUser appUser = appuClient.queryAppUser(appUserId);
        CourseDetailsResponse response = new CourseDetailsResponse();
        TCoursePackagePayment tCoursePackagePayment = this.baseMapper.selectById(coursePayId);
        List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId).eq("coursePackageId", tCoursePackagePayment.getCoursePackageId()));
        List<Integer> stuIds = new ArrayList<>();
        for (TCoursePackagePayment coursePackagePayment : tCoursePackagePayments) {
            stuIds.add(coursePackagePayment.getStudentId());
        }
        response.setStuIds(stuIds);
//        List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId).eq("coursePackageId", tCoursePackagePayment.getCoursePackageId()));
//        List<Integer> stuIds = new ArrayList<>();
//        for (TCoursePackagePayment coursePackagePayment : tCoursePackagePayments) {
//            stuIds.add(coursePackagePayment.getStudentId());
//        }
//        response.setStuIds(stuIds);
        response.setChooseHours(tCoursePackagePayment.getClassHours());
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -762,6 +762,7 @@
                if(appUser.getIsVip() == 1) {
                        if (coursePackagePaymentConfigVo.getVipPrice()<coursePackagePaymentConfigVo.getPaymentPrice()){
                            coursePackagePaymentConfigVo.setPaymentPrice(coursePackagePaymentConfigVo.getVipPrice());
                            coursePackagePaymentConfigVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment());
                        }
                                }
@@ -856,9 +857,10 @@
                paymentPrice = new BigDecimal(students.length).multiply(new BigDecimal(paymentPrice)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                Double playPaiCoin = coursePackagePaymentConfigVo.getPlayPaiCoin().doubleValue();//支付币
                playPaiCoin = new BigDecimal(students.length).multiply(new BigDecimal(playPaiCoin)).setScale(2, RoundingMode.HALF_EVEN).doubleValue();
                if(paymentCourseVo.getPayType() != 3 && paymentPrice.compareTo(paymentCourseVo.getPrice()) != 0&&paymentCourseVo.getCouponId()!=null){
                    return ResultUtil.error("支付金额异常,请刷新后重试");
                }
//                if(paymentCourseVo.getPayType() != 3 && paymentPrice.compareTo(paymentCourseVo.getPrice()) != 0&&paymentCourseVo.getCouponId()!=null){
//                    return ResultUtil.error("支付金额异常,请刷新后重试");
//                }
                if(paymentCourseVo.getPayType() == 3 && playPaiCoin.compareTo(paymentCourseVo.getPrice()) != 0){
                    return ResultUtil.error("支付金额异常,请刷新后重试");
                }
@@ -1034,6 +1036,8 @@
        return weixinpay;
    }
    @Autowired
    private TOrderService orderService;
    /**
     * 课程支付宝支付
@@ -1048,6 +1052,10 @@
        String[] split = paymentCourseVo.getStudentIds().split(";");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
        List<Long> pays = new ArrayList<>();
        int isContinue = 0;
        for (String s : split) {
//            TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
//            coursePackagePayment.setCode(code);
@@ -1096,7 +1104,9 @@
            }
            if (coursePackagePaymentServiceOne==null) {
                isContinue = 1;
                TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment();
                coursePackagePayment.setCode(code);
                coursePackagePayment.setAppUserId(uid);
@@ -1122,6 +1132,8 @@
                    sId = student.getId();
                }
                pays.add(coursePackagePayment.getId());
//                coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
//                addPackageStudent(paymentCourseVo.getId(), uid, Integer.valueOf(s), coursePackagePayment.getId());
@@ -1134,6 +1146,9 @@
                courseCounsum.setReason("购买课包");
                courseCounsumService.save(courseCounsum);
                if (hour!=0){
                    CourseCounsum courseCounsum1 = new CourseCounsum();
                    courseCounsum1.setPaymentId(coursePackagePayment.getId());
@@ -1145,6 +1160,9 @@
                }
                //保存订单
            }else {
@@ -1155,11 +1173,14 @@
//                coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours());
                coursePackagePaymentServiceOne.setCode(code);
//
//                coursePackagePaymentServiceOne.setPayStatus(2);
                coursePackagePaymentServiceOne.setSalesName("续课");
                coursePackagePaymentServiceOne.setPayStatus(1);
//                coursePackagePaymentServiceOne.setSalesName("续课");
                coursePackagePaymentServiceOne.setAppUserId(null);
//                coursePackagePaymentServiceOne.setPayStatus(2);
                coursePackagePaymentService.updateById(coursePackagePaymentServiceOne);
                pays.add(coursePackagePaymentServiceOne.getId());
//
//                Integer sId = null;
//                Student student = studentClient.queryDefaultStudent(uid);
@@ -1181,6 +1202,25 @@
            }
        }
        if (paymentCourseVo.getOrderId()==null) {
            TOrder order = new TOrder();
            order.setIsPay(1);
            order.setPayType(2);
            order.setAppUserId(uid);
            order.setPrice(paymentPrice);
            order.setCode(code);
            String paysStr = pays.stream()
                    .map(String::valueOf)
                    .collect(Collectors.joining(","));
            order.setPaysId(paysStr);
            orderService.save(order);
        }
        Student student = studentClient.queryDefaultStudent(uid);
        Integer sid=null;
        if(student!=null){
@@ -1190,6 +1230,7 @@
        ResultUtil alipay = payMoneyUtil.alipay("购买课程", "购买课程", student.getId().toString(), code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback");
        if(alipay.getCode() == 200){
            Integer finalSid = sid;
            int finalIsContinue = isContinue;
            new Thread(new Runnable() {
                @Override
                public void run() {
@@ -1221,11 +1262,6 @@
                                String tradeNo = alipayTradeQueryResponse.getTradeNo();
                                if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){
                                        for (TCoursePackagePayment coursePackagePayment : list) {
                                        if (coursePackagePayment.getStudentName()!=null){
                                        if (coursePackagePayment.getStudentName().equals("续课")){
                                            coursePackagePayment.setPayStatus(2);
                                        }
                                        }
                                        coursePackagePayment.setStatus(3);
                                    }
@@ -1239,9 +1275,12 @@
                                        coursePackagePayment.setAppUserId(null);
                                    }
                                    coursePackagePaymentService.updateBatchById(list);
                                    for (String s1 : split) {
                                        TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId()));
                                        if (coursePackagePaymentServiceOne!=null) {
                                        TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s1).eq("coursePackageId", paymentCourseVo.getId()));
                                        if (finalIsContinue !=1) {
                                            TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1"));
@@ -1300,7 +1339,6 @@
                                        }
                                    }
                                    coursePackagePaymentService.updateBatchById(list);
                                System.out.println("===========到达支付");
                                    // 2.0
                                    String[] coupons = coursePackagePaymentConfig.getCouponIds().split(",");
@@ -1311,8 +1349,6 @@
                                    for (TCoursePackagePayment coursePackagePayment : list) {
                                        addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentCourseVo.getPrice());
                                    }
                                    moneyOut(tradeNo,tradeNo);
cloud-server-course/src/main/java/com/dsh/course/service/impl/TOrderServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.dsh.course.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.course.entity.TOrder;
import com.dsh.course.mapper.TOrderMapper;
import com.dsh.course.service.TOrderService;
import org.springframework.stereotype.Service;
@Service
public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements TOrderService {
    // 可以在这里实现自定义的服务方法
}