lisy
2023-07-19 a0dd7e4a251536f9622fe47d35c0f6c8506f5b95
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -28,11 +28,16 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Api
@@ -75,7 +80,9 @@
    private CancelledClassesService cancelledClassesService;
    @Autowired
    private AppUserClient appuClient;
    private PayMoneyUtil payMoneyUtil;
    @Resource
    private AppUserClient auClitn;
    private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
@@ -342,7 +349,7 @@
    @ResponseBody
    @PostMapping("/api/course/queryArrangeCourseList")
    @ApiOperation(value = "获取布置课程列表", tags = {"APP-课程列表"})
    @ApiOperation(value = "课后练习-获取布置课程列表", tags = {"APP-开始上课"})
    @ApiImplicitParams({
    })
    public ResultUtil<List<BaseVo>> queryArrangePackageType(){
@@ -374,7 +381,7 @@
     */
    @ResponseBody
    @PostMapping("/api/startCource/afterSourceList")
    @ApiOperation(value = "课后视频课表", tags = {"APP-开始上课"})
    @ApiOperation(value = "课后练习-课后视频列表", tags = {"APP-开始上课"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
    })
@@ -403,7 +410,7 @@
     */
    @ResponseBody
    @PostMapping("/api/startCource/afterSourceDetail")
    @ApiOperation(value = "课后视频详情", tags = {"APP-开始上课"})
    @ApiOperation(value = "课后练习-课后视频详情", tags = {"APP-开始上课"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
    })
@@ -534,6 +541,58 @@
    }
    /**
     * 课包续课支付宝支付回调接口
     */
    @PostMapping("/base/coursePackage/alipayRegisteredCoursesCallback")
    public void alipayCallback(HttpServletRequest request, HttpServletResponse response){
        try {
            Map<String, String> map = payMoneyUtil.alipayCallback(request);
            if(null != map){
                String out_trade_no = map.get("out_trade_no");
                String transaction_id = map.get("transaction_id");
                ResultUtil resultUtil = packagePaymentService.insertVipPaymentCallback(out_trade_no, transaction_id);
                if(resultUtil.getCode() == 200){
                    PrintWriter out = response.getWriter();
                    out.write("success");
                    out.flush();
                    out.close();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     * 课包续课微信支付回调接口
     */
    @PostMapping("/base/coursePackage/wechatRegisteredCoursesCallback")
    public void weChatCallback(HttpServletRequest request, HttpServletResponse response){
        try {
            Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
            if(null != map){
                String out_trade_no = map.get("out_trade_no");
                String transaction_id = map.get("transaction_id");
                String result = map.get("result");
                ResultUtil resultUtil = packagePaymentService.insertVipPaymentCallback(out_trade_no, transaction_id);
                if(resultUtil.getCode() == 200){
                    PrintWriter out = response.getWriter();
                    out.write(result);
                    out.flush();
                    out.close();
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     * 获取学员剩余课时
     * @param id
@@ -638,7 +697,7 @@
                return 2;
            }
            CoursePackagePaymentConfig paymentConfig = icppcService.getById(coursePackage.getCoursePayConfigId());
            AppUser appUser = appuClient.queryAppUser(userIdFormRedis);
            AppUser appUser = auClitn.queryAppUser(userIdFormRedis);
            if (appUser.getPlayPaiCoins() < paymentConfig.getPlayPaiCoin()){
                return 3;
            }
@@ -653,7 +712,7 @@
            packagePaymentService.updateById(packagePayment);
            appUser.setPlayPaiCoins(appUser.getPlayPaiCoins()-paymentConfig.getPlayPaiCoin());
            appuClient.updateAppUser(appUser);
            auClitn.updateAppUser(appUser);
        } catch (Exception e) {
            return 4;
        }
@@ -700,4 +759,12 @@
                .eq("coursePackageId",coursePackageId));
    }
    @PostMapping("/base/coursePack/getCoursePackagePaymentOfCode")
    public List<TCoursePackagePayment> getCoursePackagePaymentOfCode(@RequestBody String code){
        return packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
                .eq("code",code));
    }
}