qxy hai 1 mes
pai
achega
64e7e14658

+ 10 - 0
alien-entity/src/main/java/shop/alien/entity/store/LifeUserExpertWorks.java

@@ -2,6 +2,8 @@ package shop.alien.entity.store;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+
+import java.math.BigDecimal;
 import java.util.Date;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.FieldFill;
@@ -86,4 +88,12 @@ public class LifeUserExpertWorks extends Model<LifeUserExpertWorks> {
     @TableField(value = "updated_user_id", fill = FieldFill.INSERT_UPDATE)
     private Integer updatedUserId;
 
+    @ApiModelProperty(value = "gmv")
+    @TableField(value = "order_gmv")
+    private BigDecimal orderGmv;
+
+    @ApiModelProperty(value = "动态id")
+    @TableField(value = "dynamics_id")
+    private Integer dynamicsId;
+
 }

+ 5 - 0
alien-entity/src/main/java/shop/alien/entity/store/LifeUserOrder.java

@@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -92,4 +93,8 @@ public class LifeUserOrder {
     @ApiModelProperty(value = "核销发送优惠券(0:未发送,1:已发送)")
     @TableField("send_discount_coupon_flag")
     private Integer sendDiscountCouponFlag;
+
+    @ApiModelProperty(value = "默认0 通过gmv链接购买为 1")
+    @TableField("order_gmv")
+    private Integer orderGmv;
 }

+ 39 - 8
alien-store/src/main/java/shop/alien/store/controller/LifeUserDynamicsController.java

@@ -1,5 +1,6 @@
 package shop.alien.store.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -10,10 +11,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
-import shop.alien.entity.store.LifeBrowseRecord;
-import shop.alien.entity.store.LifeUserDynamics;
+import shop.alien.entity.store.*;
 import shop.alien.entity.store.vo.LifePinglunVo;
 import shop.alien.entity.store.vo.LifeUserDynamicsVo;
+import shop.alien.mapper.LifeUserExpertOrderMapper;
+import shop.alien.mapper.LifeUserExpertWorksMapper;
 import shop.alien.store.service.LifeUserDynamicsService;
 import shop.alien.util.common.ListToPage;
 import shop.alien.util.common.safe.*;
@@ -33,6 +35,11 @@ public class LifeUserDynamicsController {
 
     private final LifeUserDynamicsService lifeUserDynamicsService;
 
+    private final LifeUserExpertWorksMapper lifeUserExpertWorksMapper;
+
+    private final LifeUserExpertOrderMapper lifeUserExpertOrderMapper;
+
+
     @Autowired
     private TextModerationUtil textModerationUtil;
 
@@ -106,7 +113,27 @@ public class LifeUserDynamicsController {
                 return R.data(3);
             }
             lifeUserDynamics.setUpdatedTime(new Date());
-            int cnt = lifeUserDynamicsService.addOrUpdateStore(lifeUserDynamics);
+            int cnt = 0;
+            if(lifeUserDynamics.getType().equals(4)){
+                cnt = lifeUserDynamicsService.addOrUpdateStore(lifeUserDynamics);
+                if(cnt > 0){
+                        LifeUserExpertOrder lifeUserExpertOrder = lifeUserExpertOrderMapper.selectById(new LambdaQueryWrapper<LifeUserExpertOrder>()
+                                .eq(LifeUserExpertOrder :: getId, lifeUserDynamics.getBusinessId()));
+                        if(lifeUserExpertOrder !=null){
+                            lifeUserExpertOrder.setStatus(4);
+                            lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
+                        }
+                        LifeUserExpertWorks lifeUserExpertWorks = new LifeUserExpertWorks();
+                        lifeUserExpertWorks.setExpertId(lifeUserDynamics.getExpertId());
+                        lifeUserExpertWorks.setOrderId(lifeUserDynamics.getBusinessId());
+                        lifeUserExpertWorks.setWorksUrl(lifeUserDynamics.getImagePath());
+                        lifeUserExpertWorks.setIntroduction(lifeUserDynamics.getContext());
+                        lifeUserExpertWorks.setDynamicsId(lifeUserDynamics.getId());
+                        lifeUserExpertWorksMapper.insert(lifeUserExpertWorks);
+                }
+            }else{
+                cnt = lifeUserDynamicsService.addOrUpdateStore(lifeUserDynamics);
+            }
             if (cnt == 0) {
                 return R.data(1);
             }
@@ -249,15 +276,19 @@ public class LifeUserDynamicsController {
     }
 
 
-    @ApiOperation("GVM推荐用户完成支付")
+    @ApiOperation("GMV用户购买推荐店铺订单")
     @ApiOperationSupport(order = 7)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "dynamicsId", value = "达人动态Id", dataType = "Integer", paramType = "query", required = true),
-            @ApiImplicitParam(name = "finalPrice", value = "最终付款金额", dataType = "String", paramType = "query", required = true)})
+            @ApiImplicitParam(name = "finalPrice", value = "最终付款金额", dataType = "String", paramType = "query", required = true),
+            @ApiImplicitParam(name = "orderId", value = "用户订单id", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "expertId", value = "达人id", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "expertOrderId", value = "达人订单id", dataType = "Integer", paramType = "query", required = true)
+    })
     @GetMapping("/getOrderGmvUser")
-    public R getOrderGmvUser(@RequestParam() Integer dynamicsId, @RequestParam() String finalPrice) {
-        log.info("LifeUserDynamicsController.getOrderGmvUser?dynamicsId={}&finalPrice={}", dynamicsId, finalPrice);
-        return R.data(lifeUserDynamicsService.countGvm(dynamicsId, finalPrice));
+    public R getOrderGmvUser(@RequestParam() Integer dynamicsId, @RequestParam() String finalPrice, @RequestParam() Integer orderId, @RequestParam() Integer expertId, @RequestParam() Integer expertOrderId) {
+        log.info("LifeUserDynamicsController.getOrderGmvUser?dynamicsId={}&finalPrice={}&userId={}&expertId={}expertOrderId", dynamicsId, finalPrice, orderId, expertId, expertOrderId);
+        return R.data(lifeUserDynamicsService.countGvm(dynamicsId, finalPrice, orderId, expertId, expertOrderId));
     }
 
     @ApiOperation("用户通过达人推广进入店铺浏览数")

+ 45 - 28
alien-store/src/main/java/shop/alien/store/service/LifeUserDynamicsService.java

@@ -68,6 +68,10 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
 
     private final LifeBrowseRecordMapper lifeBrowseRecordMapper;
 
+    private final LifeUserExpertWorksMapper lifeUserExpertWorksMapper;
+
+    private final LifeUserOrderMapper lifeUserOrderMapper;
+
     @Resource
     LifeBrowseRecordService lifeBrowseRecordService;
 
@@ -592,36 +596,34 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
                 List<String> imagePathList = Arrays.asList(imagePath.split(","));
                 lifeUserDynamicsVo.setImagePathList(imagePathList);
             }
-            //查询动态表中的 gvm和评论数是否满足当前达人订单规定值 都满足修改订单状态为已完成
-            LifeUserExpertOrder lifeUserExpertOrder = lifeUserExpertOrderMapper.selectOne(new LambdaQueryWrapper<LifeUserExpertOrder>().eq(LifeUserExpertOrder::getId, lifeUserDynamicsVo.getBusinessId()));
-            if (lifeUserExpertOrder != null && lifeUserExpertOrder.getStatus() != 2) {
-                  int liulanNum = lifeBrowseRecordMapper.selectCount(new LambdaQueryWrapper<LifeBrowseRecord>().eq(LifeBrowseRecord :: getDynamicsId, id).eq(LifeBrowseRecord :: getOrderId, lifeUserDynamicsVo.getBusinessId()));
-                if (lifeUserDynamicsVo.getOrderGmv().compareTo(lifeUserExpertOrder.getOrderGmv()) >= 0 && liulanNum >= lifeUserExpertOrder.getOrderPlayCount()) {
-                    lifeUserExpertOrder.setStatus(2);
-                    lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
-                }
-            }
-
         }
         return lifeUserDynamicsVo;
     }
 
-    public R countGvm(Integer dynamicsId, String finalPrice) {
-        LifeUserDynamics lifeUserDynamics = lifeUserDynamicsMapper.selectOne(new LambdaQueryWrapper<LifeUserDynamics>().eq(LifeUserDynamics::getId, dynamicsId));
-        if (lifeUserDynamics != null) {
-            BigDecimal price = new BigDecimal(finalPrice);
-            lifeUserDynamics.setOrderGmv(lifeUserDynamics.getOrderGmv().add(price));
-            lifeUserDynamicsMapper.updateById(lifeUserDynamics);
-        }
-        LifeUserExpertOrder lifeUserExpertOrder = lifeUserExpertOrderMapper.selectOne(new LambdaQueryWrapper<LifeUserExpertOrder>().eq(LifeUserExpertOrder::getId, lifeUserDynamics.getBusinessId()));
-        if (lifeUserExpertOrder != null && lifeUserExpertOrder.getStatus() != 2) {
-            LifeUserDynamics lifeUserDynamics1 = lifeUserDynamicsMapper.selectOne(new LambdaQueryWrapper<LifeUserDynamics>().eq(LifeUserDynamics::getId, dynamicsId));
-            int liulanNum = lifeBrowseRecordMapper.selectCount(new LambdaQueryWrapper<LifeBrowseRecord>().eq(LifeBrowseRecord :: getDynamicsId, dynamicsId).eq(LifeBrowseRecord :: getOrderId, lifeUserDynamics1.getBusinessId()));
-            if (lifeUserDynamics1.getOrderGmv().compareTo(lifeUserExpertOrder.getOrderGmv()) >= 0 && liulanNum >= lifeUserExpertOrder.getOrderPlayCount()) {
-                lifeUserExpertOrder.setStatus(2);
+    public R countGvm(Integer dynamicsId, String finalPrice, Integer orderId, Integer expertId, Integer expertOrderId) {
+            LambdaQueryWrapper<LifeUserExpertWorks> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+            lambdaQueryWrapper.eq(LifeUserExpertWorks :: getExpertId, expertId);
+            LifeUserExpertWorks lifeUserExpertWorks = lifeUserExpertWorksMapper.selectOne(lambdaQueryWrapper);
+            if(lifeUserExpertWorks != null){
+                BigDecimal price = new BigDecimal(finalPrice);
+                lifeUserExpertWorks.setOrderGmv(lifeUserExpertWorks.getOrderGmv().add(price));
+                lifeUserExpertWorksMapper.updateById(lifeUserExpertWorks);
+            }
+
+        LifeUserExpertOrder lifeUserExpertOrder = lifeUserExpertOrderMapper.selectOne(new LambdaQueryWrapper<LifeUserExpertOrder>().eq(LifeUserExpertOrder::getId, expertOrderId));
+        if (lifeUserExpertOrder != null && lifeUserExpertOrder.getStatus() != 5) {
+            LifeUserExpertWorks lifeUserExpertWorks1 = lifeUserExpertWorksMapper.selectOne(new LambdaQueryWrapper<LifeUserExpertWorks>().eq(LifeUserExpertWorks::getOrderId, expertOrderId));
+            int liulanNum = lifeBrowseRecordMapper.selectCount(new LambdaQueryWrapper<LifeBrowseRecord>().eq(LifeBrowseRecord :: getDynamicsId, dynamicsId).eq(LifeBrowseRecord :: getOrderId, expertOrderId));
+            if (lifeUserExpertWorks1.getOrderGmv().compareTo(lifeUserExpertOrder.getOrderGmv()) >= 0 && liulanNum >= lifeUserExpertOrder.getOrderPlayCount()) {
+                lifeUserExpertOrder.setStatus(5);
                 lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
             }
         }
+        LambdaQueryWrapper<LifeUserOrder> userOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        userOrderLambdaQueryWrapper.eq(LifeUserOrder :: getId, orderId);
+        LifeUserOrder lifeUserOrder = lifeUserOrderMapper.selectOne(userOrderLambdaQueryWrapper);
+        lifeUserOrder.setOrderGmv(1);
+        lifeUserOrderMapper.updateById(lifeUserOrder);
         return R.success("请求成功");
     }
 
@@ -639,13 +641,28 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
             lifeBrowseRecord.setLiulanDate(sdf.format(new Date()));
             lifeBrowseRecordMapper.insert(lifeBrowseRecord);
-            //查询当前动态浏记录数
+            //查询当前达人动态进入店铺详情浏记录数
             int liulanNum = lifeBrowseRecordMapper.selectCount(new LambdaQueryWrapper<LifeBrowseRecord>().eq(LifeBrowseRecord :: getDynamicsId, lifeBrowseRecord.getDynamicsId())
                     .eq(LifeBrowseRecord :: getOrderId, lifeBrowseRecord.getOrderId()).in(LifeBrowseRecord :: getDeleteFlag, 0, 1));
-            LambdaUpdateWrapper<LifeUserDynamics> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
-            lambdaUpdateWrapper.eq(LifeUserDynamics :: getId, lifeBrowseRecord.getDynamicsId());
-            lambdaUpdateWrapper.set(LifeUserDynamics :: getStoreCount, liulanNum);
-            lifeUserDynamicsMapper.update(null,lambdaUpdateWrapper);
+            LambdaUpdateWrapper<LifeUserExpertWorks> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+            lambdaUpdateWrapper.eq(LifeUserExpertWorks :: getId, lifeBrowseRecord.getDynamicsId());
+            lambdaUpdateWrapper.set(LifeUserExpertWorks :: getPlayCount, liulanNum);
+            lifeUserExpertWorksMapper.update(null,lambdaUpdateWrapper);
+        }
+
+        //查询gvm和进店详情浏览数数是否满足当前达人订单规定值 都满足修改订单状态为已完成
+        LifeUserExpertOrder lifeUserExpertOrder = lifeUserExpertOrderMapper.selectOne(new LambdaQueryWrapper<LifeUserExpertOrder>().eq(LifeUserExpertOrder::getId, lifeBrowseRecord.getOrderId()));
+        if (lifeUserExpertOrder != null && lifeUserExpertOrder.getStatus() != 5) {
+            int liulanNum = lifeBrowseRecordMapper.selectCount(new LambdaQueryWrapper<LifeBrowseRecord>().eq(LifeBrowseRecord :: getDynamicsId, lifeBrowseRecord.getDynamicsId())
+                    .eq(LifeBrowseRecord :: getOrderId, lifeBrowseRecord.getOrderId()));
+            LifeUserExpertWorks lifeUserExpertWorks = lifeUserExpertWorksMapper.selectOne(new LambdaQueryWrapper<LifeUserExpertWorks>().eq(LifeUserExpertWorks :: getDynamicsId, lifeBrowseRecord.getDynamicsId())
+                    .eq(LifeUserExpertWorks :: getOrderId, lifeBrowseRecord.getOrderId()));
+            if(lifeUserExpertWorks != null){
+                if (lifeUserExpertWorks.getOrderGmv().compareTo(lifeUserExpertOrder.getOrderGmv()) >= 0 && liulanNum >= lifeUserExpertOrder.getOrderPlayCount()) {
+                    lifeUserExpertOrder.setStatus(5);
+                    lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
+                }
+            }
         }
         return true;
     }