Browse Source

用户兑换订单列表

cup 3 years ago
parent
commit
9fc022a612

+ 67 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/UserExchangeOrderMgrController.java

@@ -0,0 +1,67 @@
+package com.qs.mp.web.controller.api.admin;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qs.mp.admin.domain.param.UserExchangeOrderQueryParam;
+import com.qs.mp.admin.domain.vo.UserExchangeOrderVO;
+import com.qs.mp.common.core.page.TableDataInfo;
+import com.qs.mp.user.domain.UserExchangeOrder;
+import com.qs.mp.user.service.IUserExchangeOrderService;
+import com.qs.mp.web.controller.common.BaseApiController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+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;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 用户兑换订单管理相关API
+ * @author Cup
+ * @date 2022/5/10
+ */
+@Api(tags = "用户兑换订单管理相关API")
+@RestController
+@RequestMapping("/api/v1/mp/admin/exchange/order/*")
+public class UserExchangeOrderMgrController extends BaseApiController {
+
+
+    @Autowired
+    private IUserExchangeOrderService userExchangeOrderService;
+
+    @PostMapping("/list")
+    @ApiOperation("用户兑换订单列表")
+    public TableDataInfo list(@RequestBody UserExchangeOrderQueryParam userExchangeOrderQueryParam) {
+
+        startPage();
+
+        QueryWrapper<UserExchangeOrder> queryWrapper = new QueryWrapper<>();
+
+        // 封装条件
+        if (StringUtils.isNotBlank(userExchangeOrderQueryParam.getGoodsName())) {
+            queryWrapper.like("t2.title", userExchangeOrderQueryParam.getGoodsName());
+        }
+
+        if (StringUtils.isNotBlank(userExchangeOrderQueryParam.getPhone())) {
+            queryWrapper.eq("t4.phonenumber", userExchangeOrderQueryParam.getPhone());
+        }
+
+        if (Objects.nonNull(userExchangeOrderQueryParam.getMinExchangePrice()) && Objects.nonNull(userExchangeOrderQueryParam.getMaxExchangePrice())) {
+            queryWrapper.between("t2.exchange_price", userExchangeOrderQueryParam.getMinExchangePrice(), userExchangeOrderQueryParam.getMaxExchangePrice());
+        }
+
+        if (Objects.nonNull(userExchangeOrderQueryParam.getStartTime()) && Objects.nonNull(userExchangeOrderQueryParam.getEndTime())) {
+            queryWrapper.between("t1.created_time", userExchangeOrderQueryParam.getStartTime(), userExchangeOrderQueryParam.getEndTime());
+        }
+
+        queryWrapper.orderByDesc("t1.created_time");
+
+        List<UserExchangeOrderVO> list =  userExchangeOrderService.listUserExchangeOrderByWrapper(queryWrapper);
+
+        return getDataTable(list);
+    }
+}

+ 35 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/UserExchangeOrderQueryParam.java

@@ -0,0 +1,35 @@
+package com.qs.mp.admin.domain.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 用户兑换订单查询入参类
+ * @author Cup
+ * @date 2022/5/10
+ */
+@ApiModel("用户兑换订单查询入参类")
+@Data
+public class UserExchangeOrderQueryParam {
+
+    @ApiModelProperty("商品名称")
+    private String goodsName;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @ApiModelProperty("最低价值")
+    private Integer minExchangePrice;
+
+    @ApiModelProperty("最高价值")
+    private Integer maxExchangePrice;
+
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+}

+ 45 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/UserExchangeOrderVO.java

@@ -0,0 +1,45 @@
+package com.qs.mp.admin.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 用户兑换订单出参类
+ * @author Cup
+ * @date 2022/5/10
+ */
+@ApiModel("用户兑换订单出参类")
+@Data
+public class UserExchangeOrderVO {
+
+    @ApiModelProperty("商品名称")
+    private String goodsName;
+
+    @ApiModelProperty("商品主图")
+    private String picUrl;
+
+    @ApiModelProperty("商品规格")
+    private String sku;
+
+    @ApiModelProperty("单价(盲豆)")
+    private Integer exchangePrice;
+
+    @ApiModelProperty("兑换数量")
+    private Integer num;
+
+    @ApiModelProperty("支付盲豆数")
+    private Integer payPrice;
+
+    @ApiModelProperty("用户昵称")
+    private String nickName;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @ApiModelProperty("兑换时间")
+    private Date createdTime;
+
+}

+ 8 - 0
mp-service/src/main/java/com/qs/mp/user/mapper/UserExchangeOrderMapper.java

@@ -2,6 +2,7 @@ package com.qs.mp.user.mapper;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.qs.mp.admin.domain.vo.UserExchangeOrderVO;
 import com.qs.mp.user.domain.UserExchangeOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qs.mp.user.domain.vo.TicketHitPrizeBarrageVO;
@@ -22,4 +23,11 @@ public interface UserExchangeOrderMapper extends BaseMapper<UserExchangeOrder> {
      * @return
      */
     List<TicketHitPrizeBarrageVO> listByWrapper(@Param(Constants.WRAPPER) QueryWrapper<TicketHitPrizeBarrageVO> queryWrapper);
+
+    /**
+     * 根据条件获取用户兑奖列表
+     * @param queryWrapper
+     * @return
+     */
+    List<UserExchangeOrderVO> listUserExchangeOrderByWrapper(@Param(Constants.WRAPPER) QueryWrapper<UserExchangeOrder> queryWrapper);
 }

+ 8 - 0
mp-service/src/main/java/com/qs/mp/user/service/IUserExchangeOrderService.java

@@ -1,6 +1,7 @@
 package com.qs.mp.user.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qs.mp.admin.domain.vo.UserExchangeOrderVO;
 import com.qs.mp.user.domain.UserExchangeOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qs.mp.user.domain.vo.TicketHitPrizeBarrageVO;
@@ -32,4 +33,11 @@ public interface IUserExchangeOrderService extends IService<UserExchangeOrder> {
    * @return
    */
   List<TicketHitPrizeBarrageVO> listByWrapper(QueryWrapper<TicketHitPrizeBarrageVO> queryWrapper);
+
+  /**
+   * 根据条件获取用户兑奖记录列表
+   * @param queryWrapper  查询条件
+   * @return
+   */
+  List<UserExchangeOrderVO> listUserExchangeOrderByWrapper(QueryWrapper<UserExchangeOrder> queryWrapper);
 }

+ 6 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserExchangeOrderServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.qs.mp.admin.domain.Goods;
 import com.qs.mp.admin.domain.GoodsSku;
+import com.qs.mp.admin.domain.vo.UserExchangeOrderVO;
 import com.qs.mp.admin.service.IGoodsService;
 import com.qs.mp.admin.service.IGoodsSkuService;
 import com.qs.mp.common.enums.ErrorCodeEnum;
@@ -55,6 +56,11 @@ public class UserExchangeOrderServiceImpl extends ServiceImpl<UserExchangeOrderM
   @Autowired
   private BizIdGenerator bizIdGenerator;
 
+  @Override
+  public List<UserExchangeOrderVO> listUserExchangeOrderByWrapper(QueryWrapper<UserExchangeOrder> queryWrapper) {
+    return getBaseMapper().listUserExchangeOrderByWrapper(queryWrapper);
+  }
+
   @Override
   public List<TicketHitPrizeBarrageVO> listByWrapper(QueryWrapper<TicketHitPrizeBarrageVO> queryWrapper) {
     return getBaseMapper().listByWrapper(queryWrapper);

+ 17 - 0
mp-service/src/main/resources/mapper/user/UserExchangeOrderMapper.xml

@@ -28,4 +28,21 @@
          left join mp_goods t3 on t1.goods_id = t3.goods_id
          ${ew.customSqlSegment}
     </select>
+
+    <select id="listUserExchangeOrderByWrapper" resultType="com.qs.mp.admin.domain.vo.UserExchangeOrderVO">
+        select t1.created_time,
+               t1.order_coin payPrice,
+               t2.pic_url,
+               t2.title goodsName,
+               t2.exchange_price,
+               t3.name sku,
+               t4.nick_name,
+               t4.phonenumber phone,
+               1 as num
+        from mp_user_exchange_order t1
+                 left join mp_goods t2 on t1.goods_id = t2.goods_id
+                 left join mp_goods_sku t3 on t1.sku_id = t3.sku_id
+                 left join sys_user t4 on t1.user_id = t4.user_id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>