소스 검색

用户盲票订单列表

cup 3 년 전
부모
커밋
4ebeca20f7

+ 43 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/UserTicketOrderMgrController.java

@@ -0,0 +1,43 @@
+package com.qs.mp.web.controller.api.admin;
+
+import com.qs.mp.admin.domain.param.UserTicketOrderQueryParam;
+import com.qs.mp.admin.domain.vo.UserTicketOrderListVO;
+import com.qs.mp.common.core.page.TableDataInfo;
+import com.qs.mp.user.service.IUserTicketOrderService;
+import com.qs.mp.web.controller.common.BaseApiController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+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;
+
+/**
+ * @author Cup
+ * @date 2022/5/6
+ */
+@RestController
+@RequestMapping("/api/v1/mp/admin/ticket/order")
+@Api(tags = "用户盲票订单接口")
+public class UserTicketOrderMgrController extends BaseApiController {
+
+
+    @Autowired
+    private IUserTicketOrderService userTicketOrderService;
+
+    @PostMapping("list")
+    @ApiOperation("用户盲票订单列表")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "成功", response = UserTicketOrderListVO.class)
+    )
+    public TableDataInfo list(@RequestBody UserTicketOrderQueryParam userTicketOrderQueryParam) {
+        startPage();
+        List<UserTicketOrderListVO> list = userTicketOrderService.listUserTicketOrder(userTicketOrderQueryParam);
+        return getDataTable(list);
+    }
+}

+ 36 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/param/UserTicketOrderQueryParam.java

@@ -0,0 +1,36 @@
+package com.qs.mp.admin.domain.param;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.qs.mp.common.enums.TicketTypeEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 用户盲票订单查询入参类
+ * @author Cup
+ * @date 2022/5/6
+ */
+@ApiModel("用户盲票订单查询入参类")
+@Data
+public class UserTicketOrderQueryParam {
+
+    @ApiModelProperty("盲票组名称")
+    private String boxTitle;
+
+    @ApiModelProperty("盲票形式(线上或线下)")
+    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+    private TicketTypeEnum boxType;
+
+    @ApiModelProperty("用户手机号")
+    private String phone;
+
+    @ApiModelProperty("开始时间")
+    private Date startTime;
+
+    @ApiModelProperty("结束时间")
+    private Date endTime;
+}

+ 50 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/UserTicketOrderListVO.java

@@ -0,0 +1,50 @@
+package com.qs.mp.admin.domain.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.qs.mp.common.enums.TicketTypeEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 用户盲票订单列表出参类
+ * @author Cup
+ * @date 2022/5/6
+ */
+@ApiModel("用户盲票订单列表出参类")
+@Data
+public class UserTicketOrderListVO {
+
+    @ApiModelProperty("订单id")
+    private String orderId;
+
+    @ApiModelProperty("盲票组名称")
+    private String title;
+
+    @ApiModelProperty("盲票销售价格")
+    private Integer salePrice;
+
+    @ApiModelProperty("实付金额")
+    private Integer payAmt;
+
+    @ApiModelProperty("盲票形式(线上或线下)")
+    @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+    private TicketTypeEnum boxType;
+
+    @ApiModelProperty("用户昵称")
+    private String nickName;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+
+    @ApiModelProperty("创建时间")
+    private Date createdTime;
+
+}

+ 9 - 1
mp-service/src/main/java/com/qs/mp/user/mapper/UserTicketOrderMapper.java

@@ -1,7 +1,9 @@
 package com.qs.mp.user.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qs.mp.admin.domain.vo.IndexVO;
 import com.qs.mp.admin.domain.vo.TicketCntVO;
+import com.qs.mp.admin.domain.vo.UserTicketOrderListVO;
 import com.qs.mp.user.domain.UserDeliverOrder;
 import com.qs.mp.user.domain.UserTicketOrder;
 
@@ -82,5 +84,11 @@ public interface UserTicketOrderMapper extends BaseMapper<UserTicketOrder> {
 	    * @return
 	    */
 	   List<TicketCntVO> listTicketSaleCnt(@Param(Constants.WRAPPER) Wrapper<UserTicketOrder> queryWrapper);
-	  
+
+	/**
+	 * 获取用户盲票订单列表
+	 * @param queryWrapper
+	 * @return
+	 */
+	List<UserTicketOrderListVO> listUserTicketOrder(@Param(Constants.WRAPPER) QueryWrapper<UserTicketOrder> queryWrapper);
 }

+ 12 - 1
mp-service/src/main/java/com/qs/mp/user/service/IUserTicketOrderService.java

@@ -1,7 +1,9 @@
 package com.qs.mp.user.service;
 
+import com.qs.mp.admin.domain.param.UserTicketOrderQueryParam;
 import com.qs.mp.admin.domain.vo.IndexVO;
 import com.qs.mp.admin.domain.vo.TicketCntVO;
+import com.qs.mp.admin.domain.vo.UserTicketOrderListVO;
 import com.qs.mp.channel.domain.ChannelOrderDetail;
 import com.qs.mp.pay.domain.PayOrder;
 import com.qs.mp.user.domain.UserDeliverOrder;
@@ -128,5 +130,14 @@ public interface IUserTicketOrderService extends IService<UserTicketOrder> {
     * @return
     */
    List<TicketCntVO> listTicketSaleCnt(Wrapper<UserTicketOrder> queryWrapper);
-  
+
+
+    /**
+     * 获取用户盲票订单列表
+     * @param userTicketOrderQueryParam
+     * @return
+     */
+    List<UserTicketOrderListVO> listUserTicketOrder(UserTicketOrderQueryParam userTicketOrderQueryParam);
+
+
 }

+ 25 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -3,13 +3,16 @@ package com.qs.mp.user.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qs.mp.admin.domain.Ticket;
 import com.qs.mp.admin.domain.TicketBox;
 import com.qs.mp.admin.domain.TicketPackage;
+import com.qs.mp.admin.domain.param.UserTicketOrderQueryParam;
 import com.qs.mp.admin.domain.vo.IndexVO;
 import com.qs.mp.admin.domain.vo.TicketCntVO;
+import com.qs.mp.admin.domain.vo.UserTicketOrderListVO;
 import com.qs.mp.admin.service.ITicketBoxService;
 import com.qs.mp.admin.service.ITicketPackageService;
 import com.qs.mp.admin.service.ITicketService;
@@ -55,6 +58,7 @@ import java.math.RoundingMode;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -549,5 +553,26 @@ public class UserTicketOrderServiceImpl extends
     return getBaseMapper().listTicketSaleCnt(queryWrapper);
   }
 
+  @Override
+  public List<UserTicketOrderListVO> listUserTicketOrder(UserTicketOrderQueryParam userTicketOrderQueryParam) {
+    QueryWrapper<UserTicketOrder> queryWrapper = new QueryWrapper<>();
+    if (StringUtils.isNotBlank(userTicketOrderQueryParam.getBoxTitle())) {
+      queryWrapper.like("t1.title", userTicketOrderQueryParam.getBoxTitle());
+    }
+    if (Objects.nonNull(userTicketOrderQueryParam.getBoxType())) {
+      queryWrapper.eq("t3.type", userTicketOrderQueryParam.getBoxType());
+    }
+
+    if (StringUtils.isNotBlank(userTicketOrderQueryParam.getPhone())) {
+      queryWrapper.eq("t2.phonenumber", userTicketOrderQueryParam.getPhone());
+    }
 
+    if (Objects.nonNull(userTicketOrderQueryParam.getStartTime()) && Objects.nonNull(userTicketOrderQueryParam.getEndTime())) {
+      queryWrapper.between("t1.created_time", userTicketOrderQueryParam.getStartTime(), userTicketOrderQueryParam.getEndTime());
+    }
+
+    queryWrapper.orderByDesc("t1.created_time");
+
+    return getBaseMapper().listUserTicketOrder(queryWrapper);
+  }
 }

+ 15 - 1
mp-service/src/main/resources/mapper/user/UserTicketOrderMapper.xml

@@ -131,5 +131,19 @@
 		${ew.customSqlSegment}
 		GROUP BY t1.channel_id
 	</select>
-    
+
+    <select id="listUserTicketOrder" resultType="com.qs.mp.admin.domain.vo.UserTicketOrderListVO">
+		select t1.order_id,
+				t1.created_time,
+				t1.title,
+				t1.sale_price,
+				t1.pay_amt,
+				t2.nick_name,
+				t2.phonenumber phone,
+				t3.type boxType
+		from mp_user_ticket_order t1
+				 left join sys_user t2 on t1.user_id = t2.user_id
+				 left join mp_ticket_box t3 on t1.box_id = t3.box_id
+		${ew.customSqlSegment}
+    </select>
 </mapper>