From 931545c1d5e4aa73f8abfe075c6c1f363db68fd4 Mon Sep 17 00:00:00 2001 From: zhujj Date: Fri, 25 Jan 2019 14:05:28 +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 --- .../src/main/resources/application.yml | 2 +- ruoyi-cms/pom.xml | 11 ++ .../cms/controller/ApiWxPayController.java | 132 ++++++++++++++ ruoyi-train/pom.xml | 5 - .../controller/ApiTrainCourseController.java | 15 -- .../controller/TrainCourseController.java | 2 +- .../controller/VipUserOrdersController.java | 126 +++++++++++++ .../com/ruoyi/vip/domain/VipUserOrders.java | 167 ++++++++++++++++++ .../ruoyi/vip/mapper/VipUserOrdersMapper.java | 24 +++ .../vip/service/IVipUserOrdersService.java | 30 ++++ .../impl/VipUserOrdersServiceImpl.java | 48 +++++ .../mapper/vip/VipUserOrdersMapper.xml | 42 +++++ .../templates/vip/vipUserOrders/add.html | 82 +++++++++ .../templates/vip/vipUserOrders/edit.html | 83 +++++++++ .../vip/vipUserOrders/vipUserOrders.html | 161 +++++++++++++++++ 15 files changed, 908 insertions(+), 22 deletions(-) create mode 100644 ruoyi-cms/src/main/java/com/ruoyi/cms/controller/ApiWxPayController.java create mode 100644 ruoyi-vip/src/main/java/com/ruoyi/vip/controller/VipUserOrdersController.java create mode 100644 ruoyi-vip/src/main/java/com/ruoyi/vip/domain/VipUserOrders.java create mode 100644 ruoyi-vip/src/main/java/com/ruoyi/vip/mapper/VipUserOrdersMapper.java create mode 100644 ruoyi-vip/src/main/java/com/ruoyi/vip/service/IVipUserOrdersService.java create mode 100644 ruoyi-vip/src/main/java/com/ruoyi/vip/service/impl/VipUserOrdersServiceImpl.java create mode 100644 ruoyi-vip/src/main/resources/mapper/vip/VipUserOrdersMapper.xml create mode 100644 ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/add.html create mode 100644 ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/edit.html create mode 100644 ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/vipUserOrders.html diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 6eae7b860..19b8da228 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -128,7 +128,7 @@ gen: # 作者 author: zhujj # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool - packageName: com.ruoyi.exam + packageName: com.ruoyi.vip # 自动去除表前缀,默认是true autoRemovePre: false # 表前缀(类名不会包含表前缀) diff --git a/ruoyi-cms/pom.xml b/ruoyi-cms/pom.xml index 749d880ba..be3859c0d 100644 --- a/ruoyi-cms/pom.xml +++ b/ruoyi-cms/pom.xml @@ -33,5 +33,16 @@ ruoyi-exam ${ruoyi.version} + + + com.ruoyi + ruoyi-vip + ${ruoyi.version} + + + com.ruoyi + ruoyi-weixin + ${ruoyi.version} + \ No newline at end of file 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 new file mode 100644 index 000000000..97ab6510f --- /dev/null +++ b/ruoyi-cms/src/main/java/com/ruoyi/cms/controller/ApiWxPayController.java @@ -0,0 +1,132 @@ +package com.ruoyi.cms.controller; + +import cn.hutool.core.util.IdUtil; +import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse; +import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; +import com.github.binarywang.wxpay.bean.notify.WxScanPayNotifyResult; +import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest; +import com.github.binarywang.wxpay.bean.result.WxPayUnifiedOrderResult; +import com.github.binarywang.wxpay.exception.WxPayException; +import com.github.binarywang.wxpay.service.WxPayService; +import com.ruoyi.common.base.AjaxResult; +import com.ruoyi.common.utils.IpUtils; +import com.ruoyi.framework.jwt.JwtUtil; +import com.ruoyi.framework.web.base.BaseController; +import com.ruoyi.framework.web.util.ServletUtils; +import com.ruoyi.framework.web.util.ShiroUtils; +import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.service.ISysUserService; +import com.ruoyi.train.course.domain.*; +import com.ruoyi.train.course.service.ITrainCourseCategoryService; +import com.ruoyi.train.course.service.ITrainCourseSectionService; +import com.ruoyi.train.course.service.ITrainCourseService; +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.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 课程 信息操作处理 + * + * @author zhujj + * @date 2018-12-23 + */ +@RestController +@RequestMapping("/api/v1/wx/pay") +public class ApiWxPayController extends BaseController { + @Autowired + private ITrainCourseUserService trainCourseUserService ; + + @Autowired + private IVipUserOrdersService vipUserOrdersService; + + @Autowired + private WxPayService wxService; + @PostMapping("/notify/order") + public String parseOrderNotifyResult(@RequestBody String xmlData) throws WxPayException { + final WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData); + if (null != notifyResult && notifyResult.getReturnCode().equals("SUCCESS")) { + VipUserOrders userOrders = new VipUserOrders(); + userOrders.setId(notifyResult.getOutTradeNo()); + userOrders.setDelFlag("1"); + vipUserOrdersService.updateSelectiveById(userOrders); + VipUserOrders vipUserOrders = vipUserOrdersService.selectById(notifyResult.getOutTradeNo()); + TrainCourseUser courseUser = new TrainCourseUser(); + courseUser.setVipUserId(vipUserOrders.getVipUserId()); + courseUser.setTrainCourseId(vipUserOrders.getTrainCourseId()); + trainCourseUserService.insert(courseUser); + } + return WxPayNotifyResponse.success("成功"); + } + + @ApiOperation(value = "扫码支付回调通知处理") + @PostMapping("/notify/scanpay") + public String parseScanPayNotifyResult(String xmlData) throws WxPayException { + final WxScanPayNotifyResult result = this.wxService.parseScanPayNotifyResult(xmlData); + + // TODO 根据自己业务场景需要构造返回对象 + return WxPayNotifyResponse.success("成功"); + } + /** + * 调用统一下单接口,并组装生成支付所需参数对象. + * + * @param request 统一下单请求参数 + * @param 请使用{@link com.github.binarywang.wxpay.bean.order}包下的类 + * @return 返回 {@link com.github.binarywang.wxpay.bean.order}包下的类对象 + * + * 示例参数 + * { + "body":"测试商品", + "outTradeNo":"12344324242342342342554", + "totalFee":1.01, + "spbillCreateIp":"1.80.82.241", + "notifyUrl":"http://www.baidu.com", + "tradeType":"NATIVE", + "productId":"13652b4a71df2f49e3647c55c8e31a88" + } + 返回 + { + "codeUrl": "weixin://wxpay/bizpayurl?pr=pK0R74G" + } + */ + @ApiOperation(value = "统一下单,并组装所需支付参数") + @PostMapping("/createOrder") + public T createOrder(@RequestBody WxPayUnifiedOrderRequest request) throws WxPayException { + request.setOutTradeNo( IdUtil.simpleUUID()); + request.setSpbillCreateIp( IpUtils.getIpAddr( ServletUtils.getRequest())); + VipUserOrders userOrders = new VipUserOrders(); + userOrders.setId(request.getOutTradeNo()); + userOrders.setVipUserId(ShiroUtils.getUserId().intValue()); + userOrders.setTrainCourseId(Integer.parseInt(request.getProductId())); + //未支付订单 + userOrders.setDelFlag("0"); + vipUserOrdersService.insert(userOrders); + return this.wxService.createOrder(request); + } + + /** + * 统一下单(详见https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1) + * 在发起微信支付前,需要调用统一下单接口,获取"预支付交易会话标识" + * 接口地址:https://api.mch.weixin.qq.com/pay/unifiedorder + * + * @param request 请求对象,注意一些参数如appid、mchid等不用设置,方法内会自动从配置对象中获取到(前提是对应配置中已经设置) + */ + @ApiOperation(value = "原生的统一下单接口") + @PostMapping("/unifiedOrder") + public WxPayUnifiedOrderResult unifiedOrder(@RequestBody WxPayUnifiedOrderRequest request) throws WxPayException { + request.setOutTradeNo( IdUtil.simpleUUID()); + request.setSpbillCreateIp( IpUtils.getIpAddr( ServletUtils.getRequest())); + VipUserOrders userOrders = new VipUserOrders(); + userOrders.setId(request.getOutTradeNo()); + userOrders.setVipUserId(ShiroUtils.getUserId().intValue()); + userOrders.setTrainCourseId(Integer.parseInt(request.getProductId())); + //未支付订单 + userOrders.setDelFlag("0"); + vipUserOrdersService.insert(userOrders); + return this.wxService.unifiedOrder(request); + } +} diff --git a/ruoyi-train/pom.xml b/ruoyi-train/pom.xml index e9cdb0027..7cec0c342 100644 --- a/ruoyi-train/pom.xml +++ b/ruoyi-train/pom.xml @@ -30,11 +30,6 @@ ruoyi-framework ${ruoyi.version} - - com.ruoyi - ruoyi-weixin - ${ruoyi.version} - com.aliyun aliyun-java-sdk-core diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/ApiTrainCourseController.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/ApiTrainCourseController.java index a95454e85..9124fa01d 100644 --- a/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/ApiTrainCourseController.java +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/ApiTrainCourseController.java @@ -1,10 +1,6 @@ package com.ruoyi.train.course.controller; import cn.hutool.json.JSONObject; -import com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse; -import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; -import com.github.binarywang.wxpay.exception.WxPayException; -import com.github.binarywang.wxpay.service.WxPayService; import com.ruoyi.common.base.AjaxResult; import com.ruoyi.framework.jwt.JwtUtil; import com.ruoyi.framework.web.base.BaseController; @@ -109,16 +105,5 @@ public class ApiTrainCourseController extends BaseController { success.put( "data", trainCourseSections ); return success; } - @Autowired - private WxPayService wxService; - @PostMapping("/notify/order") - public AjaxResult parseOrderNotifyResult(@RequestBody String xmlData) throws WxPayException { - final WxPayOrderNotifyResult notifyResult = this.wxService.parseOrderNotifyResult(xmlData); - TrainCourseUser courseUser = new TrainCourseUser(); - courseUser.setVipUserId( ShiroUtils.getUserId().intValue() ); - trainCourseUserService.insert(courseUser); - // TODO 根据自己业务场景需要构造返回对象 - return AjaxResult.success("成功"); - } } diff --git a/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/TrainCourseController.java b/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/TrainCourseController.java index 159da2bb9..77c3f551f 100644 --- a/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/TrainCourseController.java +++ b/ruoyi-train/src/main/java/com/ruoyi/train/course/controller/TrainCourseController.java @@ -115,7 +115,7 @@ public class TrainCourseController extends BaseController @ResponseBody public AjaxResult editSave(TrainCourse trainCourse) { - return toAjax(trainCourseService.updateById(trainCourse)); + return toAjax(trainCourseService.updateSelectiveById(trainCourse)); } /** diff --git a/ruoyi-vip/src/main/java/com/ruoyi/vip/controller/VipUserOrdersController.java b/ruoyi-vip/src/main/java/com/ruoyi/vip/controller/VipUserOrdersController.java new file mode 100644 index 000000000..4dc347c60 --- /dev/null +++ b/ruoyi-vip/src/main/java/com/ruoyi/vip/controller/VipUserOrdersController.java @@ -0,0 +1,126 @@ +package com.ruoyi.vip.controller; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.vip.domain.VipUserOrders; +import com.ruoyi.vip.service.IVipUserOrdersService; +import com.ruoyi.framework.web.base.BaseController; +import com.ruoyi.framework.web.page.TableDataInfo; +import com.ruoyi.common.base.AjaxResult; +import com.ruoyi.common.utils.ExcelUtil; + +/** + * 我的订单 信息操作处理 + * + * @author zhujj + * @date 2019-01-25 + */ +@Controller +@RequestMapping("/vip/vipUserOrders") +public class VipUserOrdersController extends BaseController +{ + private String prefix = "vip/vipUserOrders"; + + @Autowired + private IVipUserOrdersService vipUserOrdersService; + + @RequiresPermissions("vip:vipUserOrders:view") + @GetMapping() + public String vipUserOrders() + { + return prefix + "/vipUserOrders"; + } + + /** + * 查询我的订单列表 + */ + @RequiresPermissions("vip:vipUserOrders:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(VipUserOrders vipUserOrders) + { + List list = vipUserOrdersService.selectVipUserOrdersPage(vipUserOrders); + return getDataTable(list); + } + + + /** + * 导出我的订单列表 + */ + @RequiresPermissions("vip:vipUserOrders:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(VipUserOrders vipUserOrders) + { + List list = vipUserOrdersService.selectVipUserOrdersList(vipUserOrders); + ExcelUtil util = new ExcelUtil(VipUserOrders.class); + return util.exportExcel(list, "vipUserOrders"); + } + + /** + * 新增我的订单 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存我的订单 + */ + @RequiresPermissions("vip:vipUserOrders:add") + @Log(title = "我的订单", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(VipUserOrders vipUserOrders) + { + return toAjax(vipUserOrdersService.insert(vipUserOrders)); + } + + /** + * 修改我的订单 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") String id, ModelMap mmap) + { + VipUserOrders vipUserOrders = vipUserOrdersService.selectById(id); + mmap.put("vipUserOrders", vipUserOrders); + return prefix + "/edit"; + } + + /** + * 修改保存我的订单 + */ + @RequiresPermissions("vip:vipUserOrders:edit") + @Log(title = "我的订单", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(VipUserOrders vipUserOrders) + { + return toAjax(vipUserOrdersService.updateById(vipUserOrders)); + } + + /** + * 删除我的订单 + */ + @RequiresPermissions("vip:vipUserOrders:remove") + @Log(title = "我的订单", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(vipUserOrdersService.deleteByIds(ids)); + } + +} diff --git a/ruoyi-vip/src/main/java/com/ruoyi/vip/domain/VipUserOrders.java b/ruoyi-vip/src/main/java/com/ruoyi/vip/domain/VipUserOrders.java new file mode 100644 index 000000000..bc4bad747 --- /dev/null +++ b/ruoyi-vip/src/main/java/com/ruoyi/vip/domain/VipUserOrders.java @@ -0,0 +1,167 @@ +package com.ruoyi.vip.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.base.BaseEntity; + import javax.persistence.Id; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 我的订单表 vip_user_orders + * + * @author zhujj + * @date 2019-01-25 + */ +public class VipUserOrders +{ +private static final long serialVersionUID = 1L; + + /** 订单号 */ + @Id + private String id; + /** 会员代码 */ + private Integer vipUserId; + /** 练习题代码 */ + private Integer trainCourseId; + /** 支付金额 */ + private BigDecimal price; + /** 创建者 */ + private String createBy; + /** 创建时间 */ + private Date createDate; + /** 更新者 */ + private String updateBy; + /** 更新时间 */ + private Date updateDate; + /** 备注信息 */ + private String remarks; + /** 订单状态(0-默认,未支付 1-已支付) */ + private String delFlag; + + /** 设置订单号 */ + public void setId(String id) + { + this.id = id; + } + + /** 获取订单号 */ + public String getId() + { + return id; + } + /** 设置会员代码 */ + public void setVipUserId(Integer vipUserId) + { + this.vipUserId = vipUserId; + } + + /** 获取会员代码 */ + public Integer getVipUserId() + { + return vipUserId; + } + /** 设置练习题代码 */ + public void setTrainCourseId(Integer trainCourseId) + { + this.trainCourseId = trainCourseId; + } + + /** 获取练习题代码 */ + public Integer getTrainCourseId() + { + return trainCourseId; + } + /** 设置支付金额 */ + public void setPrice(BigDecimal price) + { + this.price = price; + } + + /** 获取支付金额 */ + public BigDecimal getPrice() + { + return price; + } + /** 设置创建者 */ + public void setCreateBy(String createBy) + { + this.createBy = createBy; + } + + /** 获取创建者 */ + public String getCreateBy() + { + return createBy; + } + /** 设置创建时间 */ + public void setCreateDate(Date createDate) + { + this.createDate = createDate; + } + + /** 获取创建时间 */ + public Date getCreateDate() + { + return createDate; + } + /** 设置更新者 */ + public void setUpdateBy(String updateBy) + { + this.updateBy = updateBy; + } + + /** 获取更新者 */ + public String getUpdateBy() + { + return updateBy; + } + /** 设置更新时间 */ + public void setUpdateDate(Date updateDate) + { + this.updateDate = updateDate; + } + + /** 获取更新时间 */ + public Date getUpdateDate() + { + return updateDate; + } + /** 设置备注信息 */ + public void setRemarks(String remarks) + { + this.remarks = remarks; + } + + /** 获取备注信息 */ + public String getRemarks() + { + return remarks; + } + /** 设置订单状态(0-默认,未支付 1-已支付) */ + public void setDelFlag(String delFlag) + { + this.delFlag = delFlag; + } + + /** 获取订单状态(0-默认,未支付 1-已支付) */ + public String getDelFlag() + { + return delFlag; + } + +public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("vipUserId", getVipUserId()) + .append("trainCourseId", getTrainCourseId()) + .append("price", getPrice()) + .append("createBy", getCreateBy()) + .append("createDate", getCreateDate()) + .append("updateBy", getUpdateBy()) + .append("updateDate", getUpdateDate()) + .append("remarks", getRemarks()) + .append("delFlag", getDelFlag()) + .toString(); + } + } diff --git a/ruoyi-vip/src/main/java/com/ruoyi/vip/mapper/VipUserOrdersMapper.java b/ruoyi-vip/src/main/java/com/ruoyi/vip/mapper/VipUserOrdersMapper.java new file mode 100644 index 000000000..11577dd6c --- /dev/null +++ b/ruoyi-vip/src/main/java/com/ruoyi/vip/mapper/VipUserOrdersMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.vip.mapper; + +import com.ruoyi.vip.domain.VipUserOrders; +import java.util.List; +import com.ruoyi.framework.web.base.MyMapper; + +/** + * 我的订单 数据层 + * + * @author zhujj + * @date 2019-01-25 + */ +public interface VipUserOrdersMapper extends MyMapper +{ + + /** + * 查询我的订单列表 + * + * @param vipUserOrders 我的订单信息 + * @return 我的订单集合 + */ + public List selectVipUserOrdersList(VipUserOrders vipUserOrders); + +} \ No newline at end of file diff --git a/ruoyi-vip/src/main/java/com/ruoyi/vip/service/IVipUserOrdersService.java b/ruoyi-vip/src/main/java/com/ruoyi/vip/service/IVipUserOrdersService.java new file mode 100644 index 000000000..2db302501 --- /dev/null +++ b/ruoyi-vip/src/main/java/com/ruoyi/vip/service/IVipUserOrdersService.java @@ -0,0 +1,30 @@ +package com.ruoyi.vip.service; + +import com.ruoyi.vip.domain.VipUserOrders; +import java.util.List; +import com.ruoyi.framework.web.base.AbstractBaseService; +/** + * 我的订单 服务层 + * + * @author zhujj + * @date 2019-01-25 + */ +public interface IVipUserOrdersService extends AbstractBaseService +{ + /** + * 查询我的订单分页列表 + * + * @param vipUserOrders 我的订单信息 + * @return 我的订单集合 + */ + public List selectVipUserOrdersPage(VipUserOrders vipUserOrders); + /** + * 查询我的订单列表 + * + * @param vipUserOrders 我的订单信息 + * @return 我的订单集合 + */ + public List selectVipUserOrdersList(VipUserOrders vipUserOrders); + + +} diff --git a/ruoyi-vip/src/main/java/com/ruoyi/vip/service/impl/VipUserOrdersServiceImpl.java b/ruoyi-vip/src/main/java/com/ruoyi/vip/service/impl/VipUserOrdersServiceImpl.java new file mode 100644 index 000000000..251c3b39d --- /dev/null +++ b/ruoyi-vip/src/main/java/com/ruoyi/vip/service/impl/VipUserOrdersServiceImpl.java @@ -0,0 +1,48 @@ +package com.ruoyi.vip.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.vip.mapper.VipUserOrdersMapper; +import com.ruoyi.vip.domain.VipUserOrders; +import com.ruoyi.vip.service.IVipUserOrdersService; +import com.ruoyi.common.support.Convert; +import com.ruoyi.framework.web.base.AbstractBaseServiceImpl; +/** + * 我的订单 服务层实现 + * + * @author zhujj + * @date 2019-01-25 + */ +@Service +public class VipUserOrdersServiceImpl extends AbstractBaseServiceImpl implements IVipUserOrdersService +{ + @Autowired + private VipUserOrdersMapper vipUserOrdersMapper; + + + /** + * 查询我的订单列表 + * + * @param vipUserOrders 我的订单信息 + * @return 我的订单集合 + */ + @Override + public List selectVipUserOrdersList(VipUserOrders vipUserOrders) + { + return vipUserOrdersMapper.selectVipUserOrdersList(vipUserOrders); + } + /** + * 查询我的订单分页列表 + * + * @param vipUserOrders 我的订单信息 + * @return 我的订单集合 + */ + @Override + public List selectVipUserOrdersPage(VipUserOrders vipUserOrders) + { + startPage(); + return vipUserOrdersMapper.selectVipUserOrdersList(vipUserOrders); + } + +} diff --git a/ruoyi-vip/src/main/resources/mapper/vip/VipUserOrdersMapper.xml b/ruoyi-vip/src/main/resources/mapper/vip/VipUserOrdersMapper.xml new file mode 100644 index 000000000..6d8cc2aa4 --- /dev/null +++ b/ruoyi-vip/src/main/resources/mapper/vip/VipUserOrdersMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + id, vip_user_id, train_course_id, price, create_by, create_date, update_by, update_date, remarks, del_flag + + + + + \ No newline at end of file diff --git a/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/add.html b/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/add.html new file mode 100644 index 000000000..f1f60e33e --- /dev/null +++ b/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/add.html @@ -0,0 +1,82 @@ + + + + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ + + diff --git a/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/edit.html b/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/edit.html new file mode 100644 index 000000000..987d80eec --- /dev/null +++ b/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/edit.html @@ -0,0 +1,83 @@ + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ + + diff --git a/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/vipUserOrders.html b/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/vipUserOrders.html new file mode 100644 index 000000000..9f9160cd9 --- /dev/null +++ b/ruoyi-vip/src/main/resources/templates/vip/vipUserOrders/vipUserOrders.html @@ -0,0 +1,161 @@ + + + + + + +
+
+
+
+
+
    +
  • + 会员代码: +
  • + +
  • + 练习题代码: +
  • + +
  • + 支付金额: +
  • + +
  • + 创建者: +
  • + +
  • + 创建时间: +
  • + +
  • + 更新者: +
  • + +
  • + 更新时间: +
  • + +
  • + 备注信息: +
  • + +
  • + 订单状态(0-默认,未支付 1-已支付): +
  • + +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+
+ + + \ No newline at end of file