Quellcode durchsuchen

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

qxy vor 1 Monat
Ursprung
Commit
0d5c0951ec

+ 9 - 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,12 @@ public class LifeUserOrder {
     @ApiModelProperty(value = "核销发送优惠券(0:未发送,1:已发送)")
     @TableField("send_discount_coupon_flag")
     private Integer sendDiscountCouponFlag;
+
+    @ApiModelProperty(value = "达人订单id")
+    @TableField("expert_order_id")
+    private Integer expertOrderId;
+
+    @ApiModelProperty(value = "订单评价 0:未评价 1:已评价")
+    @TableField("order_appraise")
+    private Integer orderAppraise;
 }

+ 12 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeUserOrderVo.java

@@ -182,4 +182,16 @@ public class LifeUserOrderVo {
     @ApiModelProperty(value = "修改人ID")
     @TableField("updated_user_id")
     private Integer updatedUserId;
+
+    @ApiModelProperty(value = "用户GMV")
+    @TableField("orderGmv")
+    private Integer orderGmv;
+
+    @ApiModelProperty(value = "达人订单id")
+    @TableField("expert_order_id")
+    private Integer expertOrderId;
+
+    @ApiModelProperty(value = "订单评价 0:未评价 1:已评价")
+    @TableField("order_appraise")
+    private Integer orderAppraise;
 }

+ 3 - 3
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 where lc.delete_flag = 0\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,\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" +
@@ -58,7 +58,7 @@ public interface LifeUserOrderMapper extends BaseMapper<LifeUserOrder> {
             "left join store_info si on si.id = luo.store_id  -- 查询店铺相关 \n" +
             "left join life_user lu on lu.id = luo.user_id and lu.delete_flag = 0 -- 查询用户相关 \n" +
             "left join order_coupon_middle ocm on ocm.order_id = luo.id and ocm.delete_flag = 0\n" +
-            "inner join total_coupon tc on tc.coupon_id = ocm.coupon_id and tc.coupon_type = luo.coupon_type\n" +
+            "left join total_coupon tc on tc.coupon_id = ocm.coupon_id and tc.coupon_type = luo.coupon_type\n" +
             "left join  store_img simg on simg.id = tc.image_id and simg.delete_flag = 0 \n" +
             "left join  store_comment sc on sc.business_id = luo.id and sc.delete_flag = 0 and sc.business_type = 5\n" +
             "left join life_discount_coupon_user ldcu on ldcu .id = luo.quan_id \n" +
@@ -71,7 +71,7 @@ public interface LifeUserOrderMapper extends BaseMapper<LifeUserOrder> {
      * @param selectWrapper
      * @return
      */
-    List<LifeUserOrderVo> selectRefundList(LambdaUpdateWrapper<LifeUserOrder> selectWrapper);
+    List<LifeUserOrderVo> selectRefundList(@Param(Constants.WRAPPER) QueryWrapper<LifeUserOrder> selectWrapper);
 
     @Select("SELECT count( luo.id ) FROM life_user_order luo LEFT JOIN order_coupon_middle ocm ON luo.id = ocm.order_id WHERE luo.`status` IN ( 0, 1, 2, 7 ) AND luo.delete_flag = 0 AND luo.coupon_type = 2 AND ocm.coupon_id = #{groupId}")
     Integer countBuyGroup(@Param("groupId") String groupId);

+ 17 - 4
alien-entity/src/main/resources/mapper/LifeUserOrderMapper.xml

@@ -55,6 +55,8 @@
         <result column="reservation_rules" property="reservationRules"/>
         <result column="original_price" property="originalPrice"/>
         <result column="order_str" property="orderStr"/>
+        <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" />
@@ -79,13 +81,20 @@
                0 effective_date_type,expiration_date effective_date_value,use_rule use_rules,reservation_rules,applicable_num,1 quota_type,buy_limit quota_value,single_qty
         from life_coupon lc where lc.delete_flag = 0
         )
-        select luo.id,luo.order_no,luo.created_time , luo.price ,luo.final_price,luo.order_str,
-        luo.pay_method,luo.buy_time,luo.cancel_time,luo.pay_time,luo.finish_time,luo.status order_status,luo.quan_id,luo.refund_time total_refund_time,
+        select luo.id,luo.order_no,luo.created_time , luo.price ,
+        CASE
+        WHEN luo.final_price IS NOT NULL AND luo.final_price != '' THEN
+        FORMAT(CAST(luo.final_price AS DECIMAL(10,2)), 2)
+        ELSE '0.00'
+        END as final_price,
+        luo.order_str,
+        luo.pay_method,luo.buy_time,luo.cancel_time,luo.pay_time,luo.finish_time,luo.status order_status,luo.quan_id,luo.refund_time total_refund_time,luo.expert_order_id,
         tc.*,
         ldc.nominal_value,ldc.type,
         lu.user_phone,lu.user_name,lu.id user_id,
         ocm.id ocmId,ocm.status,ocm.coupon_code,ocm.refund_time,ocm.refund_reason,ocm.price refundPrice,
         si.id store_id,si.store_name,si.commission_rate,si.store_address,si.store_tel,si.business_status,si.collect_num,si.business_section store_type,si.store_status,
+        su.phone store_user_tel,
         <if test="position != null and position != ''">
             ROUND(
             ST_Distance_Sphere(
@@ -106,6 +115,7 @@
         left join life_user lu on lu.id = luo.user_id and lu.delete_flag = 0
         left join store_img simg on simg.id = tc.image_id and simg.delete_flag = 0
         left join store_business_info sbi on sbi.store_id = si.id and sbi.delete_flag = 0
+        left join store_user su on su.store_id = si.id and su.delete_flag = 0
         where luo.id = #{orderId}
         order by luo.created_time desc
     </select>
@@ -132,13 +142,16 @@
         from life_user_order luo
         left join store_info si on si.id = luo.store_id and si.delete_flag = 0
         left join order_coupon_middle ocm on ocm.order_id = luo.id and ocm.delete_flag = 0
-        left join total_coupon tc on tc.coupon_id = ocm.coupon_id and tc.coupon_type = luo.coupon_type
+        inner join total_coupon tc on tc.coupon_id = ocm.coupon_id and tc.coupon_type = luo.coupon_type
         left join life_discount_coupon_user ldcu on ldcu.id = luo.quan_id and ldcu.delete_flag = 0
         left join life_discount_coupon ldc on ldc.id = ldcu.coupon_id and ldc.delete_flag = 0
         left join life_user lu on lu.id = luo.user_id and lu.delete_flag = 0
         left join store_img simg on simg.id = tc.image_id and simg.delete_flag = 0
         left join store_business_info sbi on sbi.store_id = si.id and sbi.delete_flag = 0
-        where luo.status = 1
+        <where>
+            <!-- 引用 LambdaQueryWrapper 构建的条件 -->
+            ${ew.sqlSegment}
+        </where>
         order by luo.created_time desc
     </select>
 </mapper>

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