Commit 1fa4a43b authored by liuyang's avatar liuyang

添加管理端订单管理

parent e5d46e3b
package com.qkdata.biz.management.controller;
import com.qkdata.biz.common.BizConstants;
import com.qkdata.biz.management.service.ProductOrderService;
import com.qkdata.biz.management.vo.ProductOrderModel;
import com.qkdata.biz.management.vo.QueryProductOrderModel;
import com.qkdata.common.base.model.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresRoles;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "订单管理")
@RestController
@RequestMapping("/api/mgr/order")
public class ProductOrderController {
@Autowired
private ProductOrderService orderService;
@ApiOperation("订单查询")
@PostMapping("/list")
@RequiresRoles(value = {BizConstants.ROLE_ADMIN,BizConstants.ROLE_OPERATOR},logical = Logical.OR)
public PageResult<ProductOrderModel> list(@RequestBody QueryProductOrderModel model){
return orderService.queryPageList(model);
}
}
package com.qkdata.biz.management.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qkdata.biz.management.entity.ProductOrderPO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qkdata.biz.management.vo.ProductOrderModel;
import com.qkdata.biz.management.vo.QueryProductOrderModel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
......@@ -15,4 +21,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ProductOrderMapper extends BaseMapper<ProductOrderPO> {
List<ProductOrderModel> queryPageList(Page page, @Param("p") QueryProductOrderModel model);
}
package com.qkdata.biz.management.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
import com.github.binarywang.wxpay.bean.order.WxPayMwebOrderResult;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
......@@ -17,13 +19,19 @@ import com.qkdata.biz.management.entity.CoursePO;
import com.qkdata.biz.management.entity.ProductOrderPO;
import com.qkdata.biz.management.mapper.ProductOrderMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qkdata.biz.management.vo.ProductOrderModel;
import com.qkdata.biz.management.vo.QueryProductOrderModel;
import com.qkdata.biz.sys.entity.SysUserPO;
import com.qkdata.biz.sys.service.SysConfigService;
import com.qkdata.biz.sys.service.SysRoleService;
import com.qkdata.biz.sys.service.SysUserService;
import com.qkdata.biz.sys.vo.SysRoleModel;
import com.qkdata.biz.web.vo.CreateOrderResult;
import com.qkdata.biz.web.vo.FullUserInfo;
import com.qkdata.biz.web.vo.UserBuyVIPModel;
import com.qkdata.common.base.enums.CodeEnum;
import com.qkdata.common.base.exception.BusinessException;
import com.qkdata.common.base.model.PageResult;
import com.qkdata.common.util.HttpContextUtils;
import com.qkdata.common.util.IPUtils;
import com.qkdata.common.util.UserContext;
......@@ -34,6 +42,7 @@ import org.springframework.stereotype.Service;
import javax.sql.DataSource;
import java.math.BigDecimal;
import java.util.List;
/**
* <p>
......@@ -56,6 +65,8 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
private SysUserService sysUserService;
@Value("${frontend.domain}")
private String frontendDomain;
@Autowired
private SysRoleService roleService;
public void createOrder(UserBuyVIPModel model) {
......@@ -202,4 +213,16 @@ public class ProductOrderService extends ServiceImpl<ProductOrderMapper, Product
private ProductOrderPO getByOrderNo(String orderNo) {
return getOne(Wrappers.<ProductOrderPO>lambdaQuery().eq(ProductOrderPO::getOrderNo,orderNo));
}
public PageResult<ProductOrderModel> queryPageList(QueryProductOrderModel model) {
Page page = new Page(model.getPageIndex(),model.getPageSize());
List<ProductOrderModel> list = baseMapper.queryPageList(page,model);
for (ProductOrderModel orderModel : list){
List<SysRoleModel> roleList = roleService.getUserRoles(orderModel.getUserId());
if (CollUtil.isNotEmpty(roleList)){
orderModel.setUserRoleName(roleList.get(0).getName());
}
}
return PageResult.<ProductOrderModel>builder().code(CodeEnum.SUCCESS.getCode()).count(page.getTotal()).data(list).build();
}
}
\ No newline at end of file
package com.qkdata.biz.management.vo;
import com.qkdata.biz.enums.PayMethodEnum;
import com.qkdata.biz.enums.ProductOrderStatusEnum;
import com.qkdata.biz.enums.ProductTypeEnum;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class ProductOrderModel {
private Long id;
/**
* 订单编号
*/
private String orderNo;
/**
* 订单名称
*/
private String orderName;
/**
* 用户ID
*/
private Long userId;
/**
* 用户昵称
*/
private String nickName;
/**
* 用户手机号
*/
private String username;
/**
* 用户身份
*/
private String userRoleName;
/**
* 产品类型(个人包月、企业包月、付费点播)
*/
private ProductTypeEnum productType;
/**
* 课程ID
*/
private Long courseId;
/**
* 产品单价
*/
private BigDecimal productPrice;
/**
* 产品购买数量
*/
private Integer productCount;
/**
* 订单金额
*/
private BigDecimal orderMoney;
/**
* 支付金额
*/
private BigDecimal paymentMoney;
/**
* 支付方式(微信、支付宝)
*/
private PayMethodEnum payMethod;
/**
* 订单状态
*/
private ProductOrderStatusEnum status;
}
package com.qkdata.biz.management.vo;
import com.qkdata.common.constants.Constants;
import lombok.Data;
@Data
public class QueryProductOrderModel {
private int pageIndex = Constants.DEFAULT_PAGE;
private int pageSize = Constants.DEFAULT_PAGE_SIZE;
private String username;
}
......@@ -2,4 +2,15 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qkdata.biz.management.mapper.ProductOrderMapper">
<select id="queryPageList" resultType="com.qkdata.biz.management.vo.ProductOrderModel">
SELECT o.*,
u.nick_name,
u.username
FROM product_order o
INNER JOIN sys_user u on o.user_id = u.id
where 1 = 1
<if test="p.username != null and p.username != ''">
and u.username like concat ('%',#{username},'%')
</if>
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment