无关风月
2024-07-24 8889371c686cb0b202370f0786968ae03c4210cf
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";
@@ -415,7 +429,6 @@
                    TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId());
                    Store store = stoClient.queryStoreById(coursePackage.getStoreId());
                    RegisterCourseVo registerCourseVo = new RegisterCourseVo();
                    // 2.0
                    registerCourseVo.setType(coursePackage.getType());
                    registerCourseVo.setOrderId(tCoursePackagePayment.getOrderId().longValue());
@@ -425,8 +438,6 @@
                    registerCourseVo.setPackageImg(coursePackage.getCoverDrawing());
                    String storeAndCourse = coursePackage.getName() + "(" + store.getName() + ")";
                    registerCourseVo.setCourseNameStore(storeAndCourse);
//                registerCourseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime());
                    // 2.0
                    registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime()));
                    Coach coach = coachClient.queryCoachById(coursePackage.getCoachId());
                    registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName());
@@ -832,6 +843,7 @@
            newPayment.setPayType(request.getPayType());
            newPayment.setState(1);
            newPayment.setInsertTime(new Date());
            newPayment.setOrderType(1);
            coursePackageOrderService.save(newPayment);
            code = newPayment.getCode();
        }
@@ -920,7 +932,7 @@
                                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) {
                                if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s) || num == 10) {
                                    //有待支付的订单,这里不处理
//                                    coursePackageOrder1.setState(3);
//                                    coursePackageOrderService.updateById(coursePackageOrder1);
@@ -940,7 +952,7 @@
                                    coursePackageService.addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                    break;
                                }
                                if ("USERPAYING".equals(s)) {
                                if ("USERPAYING".equals(s) || "NOTPAY".equals(s)) {
                                    num++;
                                }
                            }
@@ -964,6 +976,8 @@
        Store store = storeClient.queryStoreById(byId.getStoreId());
        String smid1="";
        if (store.getOperatorId() == null ){
            smid1 = smid;
        }else if (store.getOperatorId() == 0){
            smid1 = smid;
        }else{
            smid1 = storeClient.getSMIDByOperatorId(store.getOperatorId());
@@ -1006,32 +1020,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++;
@@ -1191,7 +1196,7 @@
    }
    public List<Integer> getIds(Integer siteId) {
        HttpRequest httpRequest = HttpRequest.get("https://try.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
        HttpRequest httpRequest = HttpRequest.get("https://port.daowepark.com/v7/user_api/general/get_space_area?space_id=" + siteId);
        HttpResponse execute = httpRequest.execute();
        String body = execute.body();
        JSONObject jsonObject = JSONObject.parseObject(body);
@@ -1221,7 +1226,7 @@
        coursePackageOrderService.updateById(coursePackageOrder1);
        CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getOne(new QueryWrapper<CoursePackagePaymentConfig>()
                .eq("coursePackageId", coursePackageOrder1.getId())
                .eq("coursePackageId", coursePackageOrder1.getCoursePackageId())
                .eq("classHours", coursePackageOrder1.getClassHours())
        );
        coursePackageService.addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);