ソースを参照

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

Mp server test

See merge request quanshu/mp-server!714
zhong chunping 2 年 前
コミット
abd82b62c9
18 ファイル変更78 行追加18 行削除
  1. 1 1
      mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/TicketBoxMgrController.java
  2. 4 0
      mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/UserDeliverOrderMgrController.java
  3. 0 1
      mp-admin/src/main/java/com/qs/mp/web/controller/api/callback/PayCallBackController.java
  4. 1 1
      mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelTicketController.java
  5. 4 1
      mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserShareController.java
  6. 13 5
      mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java
  7. 4 4
      mp-common/src/main/java/com/qs/mp/common/enums/AwardsLabelEnum.java
  8. 1 1
      mp-common/src/main/java/com/qs/mp/common/utils/LogUtil.java
  9. 1 0
      mp-framework/src/main/java/com/qs/mp/framework/monitor/SendErrorMsgAppender.java
  10. 10 0
      mp-service/src/main/java/com/qs/mp/admin/domain/TicketBox.java
  11. 11 0
      mp-service/src/main/java/com/qs/mp/admin/domain/vo/TicketBoxListVO.java
  12. 3 0
      mp-service/src/main/java/com/qs/mp/admin/domain/vo/TicketVO.java
  13. 1 1
      mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponServiceImpl.java
  14. 9 0
      mp-service/src/main/java/com/qs/mp/user/domain/excel/DeliverOrderExcel.java
  15. 4 0
      mp-service/src/main/java/com/qs/mp/user/domain/vo/UserDeliverOrderItemVO.java
  16. 1 1
      mp-service/src/main/java/com/qs/mp/user/service/impl/UserCouponServiceImpl.java
  17. 9 1
      mp-service/src/main/java/com/qs/mp/user/service/impl/UserHitPrizeServiceImpl.java
  18. 1 1
      mp-service/src/main/resources/mapper/user/UserDeliverOrderItemMapper.xml

+ 1 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/TicketBoxMgrController.java

@@ -349,7 +349,7 @@ public class TicketBoxMgrController extends BaseApiController {
 				return AjaxResult.error("导入失败,请联系管理员");
 			}
 			return AjaxResult.success("导入成功, 导入数据条数:"+successNum);
-			// 数据处理 TODO
+			// 数据处理
 		} catch (Exception e) {
 			return AjaxResult.error("导入失败,请联系管理员");
 		}

+ 4 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/UserDeliverOrderMgrController.java

@@ -313,6 +313,10 @@ public class UserDeliverOrderMgrController extends BaseApiController {
 							deliverOrderExcel.setShoppingLink(userDeliverOrderItem.getShoppingLink());
 							deliverOrderExcel.setReceiver(deliverOrder.getReceiver());
 							deliverOrderExcel.setTel(deliverOrder.getTel());
+							deliverOrderExcel.setDeliveryFlowId(userDeliverOrderItem.getDeliveryFlowId());
+							deliverOrderExcel.setCompanyName(userDeliverOrderItem.getCompanyName());
+							deliverOrderExcel.setGoodsCost(userDeliverOrderItem.getGoodsCost());
+
 							String address = deliverOrder.getProvince() + deliverOrder.getCity()
 									+ deliverOrder.getArea() + deliverOrder.getAddress();
 							deliverOrderExcel.setAddress(address);

+ 0 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/callback/PayCallBackController.java

@@ -68,7 +68,6 @@ public class PayCallBackController {
     //回调金额与订单金额一致性校验
     PayOrder order = payOrderService.getById(shopOrderNo);
     if(order.getTransactionAmount() != payMoney){
-      //Todo 告警
       logger.error("回调金额与订单金额不一致");
       responseWrite(response,"error");
       return;

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

@@ -64,7 +64,7 @@ public class ChannelTicketController extends BaseApiController {
           @ApiResponse(code = 200, message = "success", response = TicketBoxListVO.class)
   )
   public TableDataInfo list(@RequestBody TicketBoxParam param) {
-    // TODO 根据标签过滤
+
 
     Long channelId = SecurityUtils.getLoginUser().getChannelId();
     Channel channel = channelService.getById(channelId);

+ 4 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserShareController.java

@@ -8,6 +8,7 @@ import com.qs.mp.user.domain.vo.UserShareVO;
 import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
@@ -16,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Objects;
+
 /**
  * @auther zhongcp
  * @create 2022-02-28 16:17:48
@@ -43,7 +46,7 @@ public class UserShareController extends BaseApiController {
 		String boxId = jsonObject.getString("boxId"); // 票组ID
 		String type = jsonObject.getString("type"); // 分享类型,1/2
 		Long userId = SecurityUtils.getUserId();
-		if (UserShareVO.SHARE_TYPE_SITE.equals(type)) {
+		if (UserShareVO.SHARE_TYPE_SITE.equals(type) && StringUtils.isBlank(boxId)) {
 			// 经销商分享,默认到盲票小程序首页
 			String rst = wxUrlLinkService.generateUnlimitCode("", userId + "&" + type, userAppId);
 			return new AjaxResult(Type.SUCCESS, "", rst);

+ 13 - 5
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
 import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
 import com.qs.mp.admin.domain.*;
+import com.qs.mp.admin.domain.dto.TicketDrawNumDTO;
 import com.qs.mp.admin.domain.param.TicketBoxParam;
 import com.qs.mp.admin.domain.param.TicketParam;
 import com.qs.mp.admin.domain.vo.*;
@@ -17,10 +18,7 @@ import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.core.redis.DistributedLocker;
 import com.qs.mp.common.enums.*;
 import com.qs.mp.common.exception.ServiceException;
-import com.qs.mp.common.utils.AESUtil;
-import com.qs.mp.common.utils.DateUtils;
-import com.qs.mp.common.utils.LogUtil;
-import com.qs.mp.common.utils.StringUtils;
+import com.qs.mp.common.utils.*;
 import com.qs.mp.framework.redis.RedisLockKey;
 import com.qs.mp.framework.security.handle.HostHolder;
 import com.qs.mp.user.domain.UserHitPrize;
@@ -101,7 +99,7 @@ public class UserTicketController extends BaseApiController {
   @PostMapping("/mall/ticket/list")
   @ApiOperation(value = "盲票组列表", notes = "获取所有盲票信息")
   public TableDataInfo list(@RequestBody TicketBoxParam param) {
-    // TODO 根据标签过滤
+
     startPage();
     List<TicketBox> ticketBoxes = ticketBoxService.list(
         new LambdaQueryWrapper<TicketBox>().eq(TicketBox::getType, param.getType())
@@ -249,6 +247,16 @@ public class UserTicketController extends BaseApiController {
     ticketVO.setStatus(ticket.getStatus().getValue());
     ticketVO.setPicUrl(ticketBox.getPicUrl());
 
+    // 设置奖项名
+    if (Objects.nonNull(ticket.getPlainLuckyNum())) {
+      List<TicketDrawNumDTO> drawNumDTOList = JSONObject.parseArray(ticket.getDrawNum(), TicketDrawNumDTO.class);
+      for (TicketDrawNumDTO ticketDrawNumDTO : drawNumDTOList) {
+        if (ticketDrawNumDTO.getNum() == ticket.getPlainLuckyNum()) {
+          ticketVO.setAwardsName(ticketDrawNumDTO.getName());
+        }
+      }
+    }
+
     if (ticketPackage.getIsPre() == 1) {
       // 预付票设置售价为0
       ticketVO.setSalePrice(0);

+ 4 - 4
mp-common/src/main/java/com/qs/mp/common/enums/AwardsLabelEnum.java

@@ -12,10 +12,10 @@ import io.swagger.annotations.ApiModel;
 @ApiModel("奖级标签枚举类")
 public enum AwardsLabelEnum implements IEnum<String> {
 
-    LABEL_ONE("传说", "v2/cs.jpg"),
-    LABEL_TWO("史诗", "v2/ss.jpg"),
-    LABEL_THREE("稀有", "v2/xy.jpg"),
-    LABEL_FOUR("尊贵", "v2/zg.jpg");
+    LABEL_ONE("传说", "v2/cs.png"),
+    LABEL_TWO("史诗", "v2/ss.png"),
+    LABEL_THREE("稀有", "v2/xy.png"),
+    LABEL_FOUR("尊贵", "v2/zg.png");
 
     private final String value;
     private final String picUrl;

+ 1 - 1
mp-common/src/main/java/com/qs/mp/common/utils/LogUtil.java

@@ -199,7 +199,7 @@ public class LogUtil {
             }
         }
         if(ServerEnvEnum.PROD.getCode().equals(env)){
-            // TODO
+
 //            DingService.sendAlertDing(getLogString(message, params) + "/n" + throwable);
         }
 

+ 1 - 0
mp-framework/src/main/java/com/qs/mp/framework/monitor/SendErrorMsgAppender.java

@@ -31,6 +31,7 @@ public class SendErrorMsgAppender extends UnsynchronizedAppenderBase<ILoggingEve
         || throwableMsg.startsWith("盲票已付款,") || throwableMsg.startsWith("盲票已兑奖") || throwableMsg.startsWith("登录用户不存在:")
         || throwableMsg.startsWith("用户不存在/密码错误") || throwableMsg.startsWith("验证码已失效") || throwableMsg.startsWith("您已经助力过了")
         || throwableMsg.startsWith("您已经获取过抽奖码了") || throwableMsg.startsWith("奖品总数值不相同") || throwableMsg.startsWith("包含已兑奖记录的奖品不能从奖级中删除")
+        || throwableMsg.startsWith("登录账号不存在") || throwableMsg.startsWith("已选择更高级的渠道,不支持渠道相互嵌套!")
         )) {
           return;
         }

+ 10 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/TicketBox.java

@@ -12,6 +12,7 @@ import com.qs.mp.common.enums.TicketBoxStatusEnum;
 import com.qs.mp.common.enums.TicketTypeEnum;
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Date;
 import java.util.Objects;
 
@@ -239,4 +240,13 @@ public class TicketBox implements Serializable {
     return 0;
   }
 
+  @ApiModelProperty("分佣金额")
+  public BigDecimal saleCommPrice() {
+    if (Objects.isNull(this.saleCommRate) || Objects.isNull(this.salePrice)) {
+      return BigDecimal.ZERO;
+    }
+
+    return this.saleCommRate.multiply(new BigDecimal(this.salePrice)).divide(new BigDecimal(100),2, RoundingMode.HALF_UP);
+  }
+
 }

+ 11 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/TicketBoxListVO.java

@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.qs.mp.admin.domain.TicketBox;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Date;
+import java.util.Objects;
 
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -113,4 +115,13 @@ public class TicketBoxListVO {
    */
   @ApiModelProperty("上架时间")
   private Date onTime;
+
+  @ApiModelProperty("分佣金额")
+  public BigDecimal saleCommPrice() {
+    if (Objects.isNull(this.saleCommRate) || Objects.isNull(this.salePrice)) {
+      return BigDecimal.ZERO;
+    }
+
+    return this.saleCommRate.multiply(new BigDecimal(this.salePrice)).divide(new BigDecimal(100),2, RoundingMode.HALF_UP);
+  }
 }

+ 3 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/TicketVO.java

@@ -67,6 +67,9 @@ public class TicketVO {
   @ApiModelProperty("明文幸运数字")
   private Integer plainLuckyNum;
 
+  @ApiModelProperty("奖项名称")
+  private String awardsName;
+
   /**
    * 盲票状态(未付款、已激活、已兑奖、付款中)
    */

+ 1 - 1
mp-service/src/main/java/com/qs/mp/admin/service/impl/CouponServiceImpl.java

@@ -173,7 +173,7 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> impleme
 					couponTicket.setCouponId(couponTicket.getCouponId());
 				}
 			}
-			// TODO 未完待续
+
 			LambdaQueryWrapper<CouponTicket> queryWrapper = new LambdaQueryWrapper<>();
 			queryWrapper.eq(CouponTicket::getCouponId, coupon.getCouponId());
 			boolean delRes = couponTicketService.remove(queryWrapper);

+ 9 - 0
mp-service/src/main/java/com/qs/mp/user/domain/excel/DeliverOrderExcel.java

@@ -42,6 +42,9 @@ public class DeliverOrderExcel {
     @Excel(name = "数量")
     private Integer goodsNum;
 
+    @Excel(name = "商品成本")
+    private Integer goodsCost;
+
     @Excel(name = "供应商名称")
     private String supplierName;
 
@@ -92,6 +95,12 @@ public class DeliverOrderExcel {
     @Excel(name = "商品发货状态")
     private String itemStatus;
 
+    @Excel(name = "快递公司")
+    private String companyName;
+
+    @Excel(name = "快递单号")
+    private String deliveryFlowId;
+
 
     @Excel(name = "买家留言")
     private String memo;

+ 4 - 0
mp-service/src/main/java/com/qs/mp/user/domain/vo/UserDeliverOrderItemVO.java

@@ -1,6 +1,7 @@
 package com.qs.mp.user.domain.vo;
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.qs.mp.common.annotation.Excel;
 import com.qs.mp.user.domain.UserDeliverOrderItem;
 
 import io.swagger.annotations.ApiModel;
@@ -28,6 +29,9 @@ public class UserDeliverOrderItemVO  extends UserDeliverOrderItem {
 	@ApiModelProperty("商品价值")
 	private Integer goodsValue;
 
+	@ApiModelProperty("商品成本")
+	private Integer goodsCost;
+
 	@JSONField(serialize = false)
 	@ApiModelProperty("sku价值")
 	private Integer skuValue;

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

@@ -112,7 +112,7 @@ public class UserCouponServiceImpl extends ServiceImpl<UserCouponMapper, UserCou
             .le("t1.valid_start", DateUtils.getToday()).ge("t1.valid_end", DateUtils.getToday())
             .le("t2.min_order_amt", orderAmt)
             .le("t2.discount", orderAmt)
-            .orderByDesc("t2.discount"));
+            .orderByDesc("t2.discount","t1.id"));
     return userCouponVOList;
   }
 }

+ 9 - 1
mp-service/src/main/java/com/qs/mp/user/service/impl/UserHitPrizeServiceImpl.java

@@ -45,6 +45,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 /**
  * <p>
@@ -272,7 +273,14 @@ public class UserHitPrizeServiceImpl extends ServiceImpl<UserHitPrizeMapper, Use
     @Transactional(rollbackFor = Exception.class)
     public void cashPrize(Ticket ticket, Long userId, String awardsId, String prizeId) {
         // 更新奖品已兑奖数量
-        TicketAwardsPrize ticketAwardsPrize = ticketAwardsPrizeService.getById(prizeId);
+//        TicketAwardsPrize ticketAwardsPrize = ticketAwardsPrizeService.getById(prizeId);
+        QueryWrapper<TicketAwardsPrize> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("t1.prize_id", prizeId);
+        List<TicketAwardsPrize> ticketAwardsPrizeList = ticketAwardsPrizeService.listByQueryWrapper(queryWrapper);
+        if (CollectionUtils.isEmpty(ticketAwardsPrizeList)) {
+            throw new ServiceException("奖品不存在");
+        }
+        TicketAwardsPrize ticketAwardsPrize = ticketAwardsPrizeList.get(0);
         if (ticketAwardsPrize.getRemainQty() <= 0) {
             throw new ServiceException("奖品已兑完,请重新选择");
         }

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

@@ -36,7 +36,7 @@
 	
 	 <!-- 查询用户订单明细列表 -->
     <select id="selectUserDeliverOrderItemVOList" resultType="com.qs.mp.user.domain.vo.UserDeliverOrderItemVO">
-		select t1.*, t2.company_name ,t2.company_home_url ,t2.query_url,t3.goods_code,t3.value goodsValue,t4.value skuValue,t4.sku_code,t5.name supplierName
+		select t1.*, t2.company_name ,t2.company_home_url ,t2.query_url,t3.goods_code,t3.value goodsValue,t3.cost goodsCost,t4.value skuValue,t4.sku_code,t5.name supplierName
 		from mp_user_deliver_order_item t1
 		left join mp_delivery_company t2 on t1.delivery_id = t2.delivery_id
         left join mp_goods t3 on t1.goods_id = t3.goods_id