Browse Source

Merge branch 'dev' into 'mp-server-test'

Dev

See merge request quanshu/mp-server!404
zhong chunping 3 years ago
parent
commit
a0b51ce1ff

+ 13 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/ChannelInviteController.java

@@ -9,11 +9,14 @@ import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.domain.AjaxResult.Type;
 import com.qs.mp.common.enums.ChannelRoleEnum;
+import com.qs.mp.common.enums.UserIdentityEnum;
 import com.qs.mp.common.jsms.JSMSUtils;
 import com.qs.mp.framework.service.IWxUrlLinkService;
+import com.qs.mp.framework.web.service.SysLoginService;
 import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
+import java.util.Map;
 import ma.glasnost.orika.MapperFacade;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,6 +50,9 @@ public class ChannelInviteController extends BaseApiController {
 	@Value("${wx-channel.appId}")
 	private String channelAppId;
 
+	@Autowired
+	private SysLoginService sysLoginService;
+
 	/**
 	 * 生成邀请码
 	 *
@@ -99,6 +105,12 @@ public class ChannelInviteController extends BaseApiController {
 		channel.setMobile(param.getMobile());
 		channel.setName(param.getMobile());
 		channelService.saveChannel(channel,  ChannelRoleEnum.SALESITE);
-		return AjaxResult.success();
+		// 直接登录
+		Map<String, String> result = sysLoginService.wxAuthLogin(param.getMobile(), UserIdentityEnum.CHANNEL.ordinal());
+		AjaxResult ajax = AjaxResult.success();
+		for (String key : result.keySet()) {
+			ajax.put(key, result.get(key));
+		}
+		return ajax;
 	}
 }

+ 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;
+
 }

+ 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>