puzhibing
2024-02-05 640ff18d2d7f4be02ddb7f8f75e899f05545eb98
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -16,10 +16,7 @@
import com.dsh.course.entity.*;
import com.dsh.course.entity.TAppUser;
import com.dsh.course.entity.dto.StudentQeryDto;
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.UserIntegralChangesClient;
import com.dsh.course.feignclient.account.*;
import com.dsh.course.feignclient.account.model.*;
import com.dsh.course.feignclient.activity.BenefitVideoClient;
import com.dsh.course.feignclient.activity.CouponClient;
@@ -123,6 +120,14 @@
    @Resource
    private UserIntegralChangesClient userIntegralChangesClient;
    @Resource
    private StudentHonorClient studentHonorClient;
    @Override
@@ -361,6 +366,7 @@
                .eq("coursePackageId", detailsRequest.getCoursePackageId())
                .eq("courseId", detailsRequest.getVideoId())
        );
        //完成学习
        if (null != userVideoDetails && userVideoDetails.getState() == 1 && detailsRequest.getIsOver() == 1) {
            userVideoDetails.setState(2);
            userVideoDetails.setUpdateTime(new Date());
@@ -371,11 +377,19 @@
            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);
            //添加勋章数据
            Integer number = uvdmapper.selectCount(new QueryWrapper<UserVideoDetails>().eq("appUserId", appUserId).eq("state", 2));
            StudentHonor studentHonor = new StudentHonor();
            studentHonor.setAppUserId(appUserId);
            studentHonor.setHonorType(4);
            studentHonor.setNumber(number);
            studentHonorClient.saveStudentHonor(studentHonor);
            return "SUCCESS";
        }
        return "ERROR";
@@ -965,6 +979,8 @@
        String smid1="";
        if (store.getOperatorId() == null ){
            smid1 = smid;
        }else if (store.getOperatorId() == 0){
            smid1 = smid;
        }else{
            smid1 = storeClient.getSMIDByOperatorId(store.getOperatorId());
        }
@@ -1006,32 +1022,23 @@
                                    break;
                                }
                                if ("TRADE_SUCCESS".equals(s)) {
                                    coursePackageOrder1.setPayStatus(2);
                                    coursePackageOrder1.setOrderNumber(tradeNo);
                                    coursePackageOrder1.setAppUserId(null);
                                    coursePackageOrderService.updateById(coursePackageOrder1);
                                    CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
                                            .eq("coursePackageId", coursePackageOrder1.getId())
                                            .eq("classHours", coursePackageOrder1.getClassHours())
                                    );
                                    coursePackageService.addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                    coursePackageService.moneyOut(tradeNo,tradeNo,finalCode);
                                    // 根据课程id 查询这个课程属于哪个门店 属于哪个运营商
                                    TCoursePackage byId = coursePackageService.getById(coursePackageOrder1.getCoursePackageId());
                                    Integer storeId = byId.getStoreId();
                                    Store store = storeClient.queryStoreById(storeId);
                                    Integer operatorId = store.getOperatorId();
                                    if (operatorId==null){
                                        String smid ="2088330203191220";
                                        // 说明是平台的
                                        payMoneyUtil.confirm(smid,finalCode,tradeNo,request.toString());
                                        break;
                                    }else{
                                        // 当前课程不属于门店 查询这个课程属于哪个门店 属于哪个运营商
                                        String smidByOperatorId = storeClient.getSMIDByOperatorId(operatorId);
                                        payMoneyUtil.confirm(smidByOperatorId,finalCode,tradeNo,request.toString());
                                        break;
                                    }
                                    coursePackagePayment.setPayStatus(2);
                                    coursePackagePayment.setOrderNumber(tradeNo);
                                    baseMapper1.updateById(coursePackagePayment);
                                        // 判断这个课包属于哪个门店 属于哪个运营商 根据运营商 id 获取对应的商户号
                                        Integer coursePackageId = coursePackagePayment.getCoursePackageId();
                                        TCoursePackage byId = coursePackageService.getById(coursePackageId);
                                        Store store = storeClient.queryStoreById(byId.getStoreId());
                                        if (store.getOperatorId() == null ){
                                            // 说明是平台的门店
                                            payMoneyUtil.confirm(smid,code,tradeNo,request.toString());
                                        }else if (store.getOperatorId() == 0){
                                            payMoneyUtil.confirm(smid,code,tradeNo,request.toString());
                                        }else{
                                            String smid = storeClient.getSMIDByOperatorId(store.getOperatorId());
                                            payMoneyUtil.confirm(smid,code,tradeNo,request.toString());
                                        }
                                    break;
                                }
                                if ("WAIT_BUYER_PAY".equals(s)) {
                                    num++;