浏览代码

bugfix:391 已完成的订单,评价店铺能评价两次 修改

qxy 1 月之前
父节点
当前提交
56232ad025

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

@@ -97,4 +97,8 @@ public class LifeUserOrder {
     @ApiModelProperty(value = "达人订单id")
     @TableField("expert_order_id")
     private Integer expertOrderId;
+
+    @ApiModelProperty(value = "订单评价 0:未评价 1:已评价")
+    @TableField("order_appraise")
+    private Integer orderAppraise;
 }

+ 5 - 1
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeUserOrderVo.java

@@ -189,7 +189,11 @@ public class LifeUserOrderVo {
     @TableField("orderGmv")
     private Integer orderGmv;
 
-    @ApiModelProperty(value = "用户GMV")
+    @ApiModelProperty(value = "达人订单id")
     @TableField("expert_order_id")
     private Integer expertOrderId;
+
+    @ApiModelProperty(value = "订单评价 0:未评价 1:已评价")
+    @TableField("order_appraise")
+    private Integer orderAppraise;
 }

+ 1 - 1
alien-entity/src/main/java/shop/alien/mapper/LifeUserOrderMapper.java

@@ -42,7 +42,7 @@ public interface LifeUserOrderMapper extends BaseMapper<LifeUserOrder> {
             "\tselect id coupon_id,1 coupon_type,lc.name coupon_name, SUBSTRING_INDEX(image_path, ',', 1) AS image_id,0 effective_date_type,expiration_date effective_date_value \n" +
             "from life_coupon lc \n" +
             ")\n" +
-            "select luo.id,luo.buy_time,luo.status,luo.price,luo.final_price,luo.user_id,luo.store_id,luo.order_no,luo.pay_time,luo.cancel_time,luo.finish_time,luo.order_str,luo.expert_order_id,\n" +
+            "select luo.id,luo.buy_time,luo.status,luo.price,luo.final_price,luo.user_id,luo.store_id,luo.order_no,luo.pay_time,luo.cancel_time,luo.finish_time,luo.order_str,luo.expert_order_id,luo.order_appraise,\n" +
             "si.store_name,si.commission_rate,si.business_section store_type,si.store_status,si.business_status,\n" +
             "count(ocm.coupon_code) coupon_count,\n" +
             "simg.img_url,\n" +

+ 1 - 0
alien-entity/src/main/resources/mapper/LifeUserOrderMapper.xml

@@ -56,6 +56,7 @@
         <result column="order_str" property="orderStr"/>
         <result column="store_user_tel" property="storeUserTel"/>
         <result column="expert_order_id" property="expertOrderId"/>
+        <result column="order_appraise" property="orderAppraise"/>
 
         <collection property="orderCouponMiddleList" ofType="shop.alien.entity.store.vo.OrderCouponMiddleVo">
             <id column="ocmId" property="id" />

+ 11 - 1
alien-store/src/main/java/shop/alien/store/service/impl/StoreCommentServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 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.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -76,6 +77,8 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
 
     private final TagsSynonymMapper tagsSynonymMapper;
 
+    private final LifeUserOrderMapper lifeUserOrderMapper;
+
     @Autowired
     private TextModerationUtil textModerationUtil;
     @Autowired
@@ -639,8 +642,15 @@ public class StoreCommentServiceImpl extends ServiceImpl<StoreCommentMapper, Sto
                 }
             }
             storeComment.setCreatedUserId(storeComment.getUserId());
-
             int i = this.save(storeComment) ? 0 : 1;
+
+            //判断类型如果为5是评价 更新订单表orderAppraise为1 订单已评价
+            if(businessType == 5){
+                LambdaUpdateWrapper<LifeUserOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+                lambdaUpdateWrapper.eq(LifeUserOrder :: getId, businessId );
+                lambdaUpdateWrapper.set(LifeUserOrder :: getOrderAppraise, 1);
+                lifeUserOrderMapper.update(null,lambdaUpdateWrapper);
+            }
             StoreInfoScoreVo storeInfoScoreVo = storeCommentMapper.getCommentCountAndScoreInfo(storeId);
             double total = storeInfoScoreVo.getTotal();
             double scoreAvg = (total == 0 ? 0 : storeInfoScoreVo.getScore() / total);