Эх сурвалжийг харах

Merge branch 'dev' of 113.31.163.91:quanshu/mp-server into dev

chunping 3 жил өмнө
parent
commit
dc4acaa8c7

+ 22 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserMineController.java

@@ -8,9 +8,11 @@ import com.qs.mp.admin.domain.vo.TicketListVO;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.enums.PrizeStorageStatusEnum;
+import com.qs.mp.common.enums.TicketPrizeTypeEnum;
 import com.qs.mp.common.enums.TicketStatusEnum;
 import com.qs.mp.common.enums.UserCouponStatusEnum;
 import com.qs.mp.common.utils.DateUtils;
+import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.user.domain.UserCoin;
 import com.qs.mp.user.domain.UserCoinLog;
 import com.qs.mp.user.domain.UserCoupon;
@@ -27,6 +29,9 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import java.util.List;
 import java.util.Map;
+
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -66,11 +71,28 @@ public class UserMineController extends BaseApiController {
    */
   @PostMapping("/ticket/list")
   @ApiOperation(value = "我的盲票列表", notes = "获取我的盲票列表")
+  @ApiResponses(
+          @ApiResponse(code = 200, message = "成功", response = TicketListVO.class)
+  )
   public TableDataInfo listTicket(@RequestBody Ticket param) {
     Long userId = SecurityUtils.getLoginUser().getUserId();
     startPage();
     List<TicketListVO> ticketListVOS = userTicketOrderItemService.listMyTicketVO(userId,
         param.getStatus());
+
+
+    // 已兑奖的盲豆奖品需要拼接数量
+    if (TicketStatusEnum.CASHED.equals(param.getStatus())) {
+      for (TicketListVO ticketListVO : ticketListVOS) {
+        if (StringUtils.isBlank(ticketListVO.getPrizeInfo())) {
+          continue;
+        }
+        // 如果为盲豆需要拼接数量
+        if (TicketPrizeTypeEnum.COIN.getValue().equals(ticketListVO.getPrizeType())) {
+          ticketListVO.setPrizeInfo(ticketListVO.getPrizeInfo() + ticketListVO.getValue() + "颗");
+        }
+      }
+    }
     return getDataTable(ticketListVOS);
   }
 

+ 17 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/Ticket.java

@@ -10,6 +10,9 @@ import com.baomidou.mybatisplus.annotation.Version;
 import com.qs.mp.common.enums.TicketStatusEnum;
 import java.io.Serializable;
 import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -19,6 +22,7 @@ import lombok.Data;
  */
 @TableName("mp_ticket")
 @Data
+@ApiModel(value = "盲票实体类")
 public class Ticket implements Serializable {
 
   private static final long serialVersionUID = 1L;
@@ -27,60 +31,70 @@ public class Ticket implements Serializable {
    * 主键
    */
   @TableId(value = "ticket_id", type = IdType.INPUT)
+  @ApiModelProperty("盲票id")
   private String ticketId;
 
   /**
    * 盲票组ID
    */
   @TableField("box_id")
+  @ApiModelProperty("盲票组ID")
   private String boxId;
 
   /**
    * 盲票包ID
    */
   @TableField("pkg_id")
+  @ApiModelProperty("盲票包ID")
   private String pkgId;
 
   /**
    * 标题
    */
   @TableField("title")
+  @ApiModelProperty("标题")
   private String title;
 
   /**
    * 序列号
    */
   @TableField("serial_no")
+  @ApiModelProperty("序列号")
   private String serialNo;
 
   /**
    * 面值
    */
   @TableField("face_price")
+  @ApiModelProperty("面值")
   private Integer facePrice;
 
   /**
    * 加密幸运数字
    */
   @TableField("cipher_lucky_num")
+  @ApiModelProperty("加密幸运数字")
   private String cipherLuckyNum;
 
   /**
    * 明文幸运数字
    */
   @TableField("plain_lucky_num")
+  @ApiModelProperty("明文幸运数字")
   private Integer plainLuckyNum;
 
   /**
    * 抽奖数字描述(json格式,包含数字、奖项)
    */
   @TableField("draw_num")
+  @ApiModelProperty("抽奖数字描述(json格式,包含数字、奖项)")
   private String drawNum;
 
   /**
    * 是否实体纸质票(0否1是)
    */
   @TableField("is_physical")
+  @ApiModelProperty("是否实体纸质票(0否1是)")
   private Integer isPhysical;
 
   /**
@@ -88,12 +102,14 @@ public class Ticket implements Serializable {
    */
   @TableField("status")
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
+  @ApiModelProperty("盲票状态;1未付款、2已激活、3已兑奖、4付款中")
   private TicketStatusEnum status;
 
   /**
    * 创建时间
    */
   @TableField("created_time")
+  @ApiModelProperty("创建时间")
   private Date createdTime;
 
   /**
@@ -101,6 +117,7 @@ public class Ticket implements Serializable {
    */
   @TableField("updated_time")
   @Version
+  @ApiModelProperty("更新时间")
   private Date updatedTime;
 
 

+ 23 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/TicketListVO.java

@@ -1,6 +1,9 @@
 package com.qs.mp.admin.domain.vo;
 
 import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -8,51 +11,71 @@ import lombok.Data;
  * @Date 2022/3/7
  */
 @Data
+@ApiModel("盲票列表VO类")
 public class TicketListVO {
 
   /**
    * 订单明细ID
    */
+  @ApiModelProperty("订单明细id")
   private String itemId;
 
   /**
    * 盲票ID
    */
+  @ApiModelProperty("盲票id")
   private String ticketId;
 
   /**
    * 盲票组ID
    */
+  @ApiModelProperty("盲票组id")
   private String boxId;
 
   /**
    * 标题
    */
+  @ApiModelProperty("标题")
   private String title;
 
   /**
    * 图片
    */
+  @ApiModelProperty("图片")
   private String picUrl;
 
   /**
    * 序列号
    */
+  @ApiModelProperty("序列号")
   private String serialNo;
 
   /**
    * 面值
    */
+  @ApiModelProperty("面值")
   private Integer facePrice;
 
   /**
    * 明文幸运数字
    */
+  @ApiModelProperty("明文幸运数字")
   private Integer plainLuckyNum;
 
   /**
    * 盲票状态(初始、已激活、已兑奖)
    */
+  @ApiModelProperty("盲票状态(初始、已激活、已兑奖)")
   private String status;
 
+
+  @ApiModelProperty("奖品信息")
+  private String prizeInfo;
+
+  @ApiModelProperty("价值")
+  private Integer value;
+
+  @ApiModelProperty("奖品类型")
+  private String prizeType;
+
 }

+ 15 - 1
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderItemServiceImpl.java

@@ -41,10 +41,24 @@ public class UserDeliverOrderItemServiceImpl extends ServiceImpl<UserDeliverOrde
 	@Override
 	public List<OrderDeliverItemVO> getDeliverItemList(String orderId, List<UserDeliverOrderItemVO> orderItems) {
 		List<OrderDeliverItemVO> itemList = new ArrayList<OrderDeliverItemVO>();
+
+
 		// 1.查询物流公司信息
 		itemList = selectOrderDeliverItemVOList(orderId);
 
-		HashMap<String, List<OrderDeliverItemVO>> deliverItemListMap = new HashMap<>(16);
+
+		List<UserDeliverOrderItem> userDeliverOrderItems = this.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
+				.eq(UserDeliverOrderItem::getOrderId, orderId)
+				.isNull(UserDeliverOrderItem::getDeliveryFlowId)
+				.isNotNull(UserDeliverOrderItem::getDeliveryTime));
+
+		if (CollectionUtils.isNotEmpty(userDeliverOrderItems)) {
+			OrderDeliverItemVO orderDeliverItemVO = new OrderDeliverItemVO();
+			orderDeliverItemVO.setDeliveryTime(userDeliverOrderItems.get(0).getDeliveryTime());
+			itemList.add(orderDeliverItemVO);
+		}
+
+
 
 		for (OrderDeliverItemVO itemVO : itemList) {
 			String deliveryFlowId = itemVO.getDeliveryFlowId();

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

@@ -31,7 +31,7 @@
 		select DISTINCT t1.delivery_id , t1.delivery_flow_id, t1.delivery_time, t2.company_name ,t2.company_home_url ,t2.query_url
 		from mp_user_deliver_order_item t1
 		left join mp_delivery_company t2 on t1.delivery_id = t2.delivery_id
-		where t1.order_id = #{orderId} and t1.delivery_time is not null
+		where t1.order_id = #{orderId} and t1.delivery_flow_id is not null
 	</select>
 	
 	 <!-- 查询用户订单明细列表 -->

+ 3 - 1
mp-service/src/main/resources/mapper/user/UserTicketOrderItemMapper.xml

@@ -26,11 +26,13 @@
     </select>
 
     <select id="listMyTicketVO" resultType="com.qs.mp.admin.domain.vo.TicketListVO">
-        select t1.item_id, t3.*, t4.pic_url
+        select t1.item_id, t3.*, t4.pic_url, t6.title prizeInfo, t6.`value`,t6.prize_type
         from mp_user_ticket_order_item t1
          left join mp_user_ticket_order t2 on t1.order_id = t2.order_id
          left join mp_ticket t3 on t1.ticket_id = t3.ticket_id
          left join mp_ticket_box t4 on t3.box_id = t4.box_id
+         left join mp_user_hit_prize t5 on t2.order_id = t5.order_id
+         left join mp_ticket_awards_prize t6 on t5.prize_id = t6.prize_id
             ${ew.customSqlSegment}
     </select>