From fd71a1ac61aa1f585e3a3006b6402497f63c664e Mon Sep 17 00:00:00 2001 From: zhujj Date: Fri, 25 Jan 2019 15:03:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E5=9B=9E?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysIndexController.java | 4 +- .../cms/controller/ApiWxPayController.java | 10 ++- .../ruoyi/cms/controller/CmsController.java | 14 +++- .../templates/web/course/courseInfo.html | 64 +++++++++++-------- .../course/mapper/TrainCourseUserMapper.java | 6 +- 5 files changed, 63 insertions(+), 35 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java index 38e744ed4..db9b3a6ab 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java @@ -25,7 +25,9 @@ public class SysIndexController extends BaseController @GetMapping({"","/"}) public String cmsindex(ModelMap mmap) { - + // 取身份信息 + SysUser user = getSysUser(); + mmap.put("user", user); return "web"; } // 系统首页 diff --git a/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/ApiWxPayController.java b/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/ApiWxPayController.java index 39a3dab91..3e9ce2329 100644 --- a/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/ApiWxPayController.java +++ b/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/ApiWxPayController.java @@ -24,6 +24,8 @@ import com.ruoyi.train.course.service.ITrainCourseUserService; import com.ruoyi.vip.domain.VipUserOrders; import com.ruoyi.vip.service.IVipUserOrdersService; import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -39,6 +41,8 @@ import java.util.List; @RestController @RequestMapping("/api/v1/wx/pay") public class ApiWxPayController extends BaseController { + + private static final Logger log = LoggerFactory.getLogger( ApiWxPayController.class ); @Autowired private ITrainCourseUserService trainCourseUserService ; @@ -49,7 +53,9 @@ public class ApiWxPayController extends BaseController { private WxPayService wxService; @PostMapping("/notify/order") public String parseOrderNotifyResult(@RequestBody String xmlData) throws WxPayException { + final WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData); + log.debug("-------------------------------支付回调中----------------------------"); if (null != notifyResult && notifyResult.getReturnCode().equals("SUCCESS")) { VipUserOrders userOrders = new VipUserOrders(); userOrders.setId(notifyResult.getOutTradeNo()); @@ -101,12 +107,14 @@ public class ApiWxPayController extends BaseController { request.setSpbillCreateIp( IpUtils.getIpAddr( ServletUtils.getRequest())); VipUserOrders userOrders = new VipUserOrders(); userOrders.setId(request.getOutTradeNo()); - userOrders.setVipUserId(ShiroUtils.getUserId().intValue()); + userOrders.setVipUserId(Integer.parseInt(request.getOpenid())); userOrders.setTrainCourseId(Integer.parseInt(request.getProductId())); userOrders.setPrice(new BigDecimal(request.getTotalFee().intValue()/100)); //未支付订单 userOrders.setDelFlag("0"); vipUserOrdersService.insert(userOrders); + //零时存放我们自己的用户id,这儿清空 + request.setOpenid(null); return this.wxService.createOrder(request); } diff --git a/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/CmsController.java b/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/CmsController.java index fd6ef0841..c8643f109 100644 --- a/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/CmsController.java +++ b/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/CmsController.java @@ -6,6 +6,7 @@ import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.exam.domain.ExamPractice; import com.ruoyi.exam.service.IExamPracticeService; import com.ruoyi.framework.web.util.ShiroUtils; +import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.train.course.domain.TrainCourse; import com.ruoyi.train.course.domain.TrainCourseCategory; @@ -57,6 +58,9 @@ public class CmsController { @Autowired private IExamPracticeService examPracticeService; + @Autowired + private ISysConfigService configService; + @RequestMapping({"", "/index", "/index.html"}) @GetMapping() public String index(String parentIds, ModelMap map) { @@ -108,11 +112,15 @@ public class CmsController { ExamPractice examPractice = new ExamPractice(); examPractice.setTrainCourseId( id ); List examPractices = examPracticeService.selectExamPracticeList( examPractice ); + + boolean courseAuth=false; + String s = configService.selectConfigByKey( "course.days" ); if (ShiroUtils.getSysUser() != null) { - boolean b = trainCourseUserService.authority( ShiroUtils.getSysUser().getUserId(), id ); - map.put( "user", ShiroUtils.getSysUser() ); - map.put( "courseAuth",b); + courseAuth = trainCourseUserService.authority( ShiroUtils.getSysUser().getUserId(), id ); } + map.put( "courseAuth",courseAuth); + map.put( "user", ShiroUtils.getSysUser() ); + map.put( "courseDays", s ); map.put( "trainCourse", trainCourse ); map.put( "trainCourseSections", trainCourseSections ); map.put( "examPractices", examPractices ); diff --git a/ruoyi-cms/src/main/resources/templates/web/course/courseInfo.html b/ruoyi-cms/src/main/resources/templates/web/course/courseInfo.html index 2f54f5f34..602dfcc78 100644 --- a/ruoyi-cms/src/main/resources/templates/web/course/courseInfo.html +++ b/ruoyi-cms/src/main/resources/templates/web/course/courseInfo.html @@ -168,7 +168,9 @@
- + + +
@@ -177,9 +179,9 @@
-
+
- 有效期:${config.getKey("course.days")}(天) + 有效期:(天)
@@ -241,32 +243,38 @@ }); function shop() { - var data={ - "body":"[[${trainCourse.name}]]", - "outTradeNo":"12344324242342342342554", - "totalFee":[[${trainCourse.price*100}]], - "spbillCreateIp":"1.80.82.241", - "notifyUrl":"http://ceshi4.yqhl.cc/api/v1/wx/pay/notify/order", - "tradeType":"NATIVE", - "productId":"[[${trainCourse.id}]]" - }; - $.ajax({ - type: 'post', - url: "/api/vi/wx/pay/createOrder", - contentType: "application/json", - dataType : 'json', - data:JSON.stringify(data), - success: function (result) { - if(!result.code){ - alertPayQrcode(result.codeUrl) - }else { - layer.msg('生成支付二维码失败',{ - time: 2000, //20s后自动关闭 - btn: ['明白了'] - }); + var userId="[[${user.userId}]]"; + if(userId){ + var data={ + "body":"[[${trainCourse.name}]]", + "outTradeNo":"12344324242342342342554", + "totalFee":[[${trainCourse.price*100}]], + "spbillCreateIp":"1.80.82.241", + "notifyUrl":"http://ceshi4.yqhl.cc/api/v1/wx/pay/notify/order", + "tradeType":"NATIVE", + "productId":"[[${trainCourse.id}]]", + "openid":userId + }; + $.ajax({ + type: 'post', + url: "/api/v1/wx/pay/createOrder", + contentType: "application/json", + dataType : 'json', + data:JSON.stringify(data), + success: function (result) { + if(!result.code){ + alertPayQrcode(result.codeUrl) + }else { + layer.msg('生成支付二维码失败',{ + time: 2000, //20s后自动关闭 + btn: ['明白了'] + }); + } } - } - }); + }); + }else{ + location.href="/web/user/login.html" + } } function alertPayQrcode(codeUrl) { diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/mapper/TrainCourseUserMapper.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/mapper/TrainCourseUserMapper.java index e55c9a336..cf2f54837 100644 --- a/ruoyi-train/src/main/java/com/ruoyi/train/course/mapper/TrainCourseUserMapper.java +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/mapper/TrainCourseUserMapper.java @@ -3,6 +3,7 @@ package com.ruoyi.train.course.mapper; import com.ruoyi.framework.web.base.MyMapper; import com.ruoyi.train.course.domain.TrainCourseUser; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -25,9 +26,10 @@ public interface TrainCourseUserMapper extends MyMapper /** * 判断是否有权限 - * @param userId + * @param vipUserId * @param trainCourseId + * @param days 有效期 * @return */ - List authority(Long userId, Integer trainCourseId,Integer days); + List authority(@Param("vipUserId") Long vipUserId, @Param("trainCourseId") Integer trainCourseId, @Param("days") Integer days); } \ No newline at end of file