Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev' into dev

lyx 1 mesiac pred
rodič
commit
b0143e92d0
21 zmenil súbory, kde vykonal 258 pridanie a 72 odobranie
  1. 4 0
      alien-entity/src/main/java/shop/alien/entity/store/LifeUserDynamics.java
  2. 4 0
      alien-entity/src/main/java/shop/alien/entity/store/LifeUserExpertOrder.java
  3. 6 0
      alien-entity/src/main/java/shop/alien/entity/store/vo/LifeUserDynamicsVo.java
  4. 6 0
      alien-entity/src/main/java/shop/alien/entity/store/vo/LifeUserExpertOrderVo.java
  5. 1 1
      alien-entity/src/main/java/shop/alien/entity/store/vo/StoreCommentAppealVo.java
  6. 1 0
      alien-entity/src/main/java/shop/alien/entity/store/vo/StoreInfoVo.java
  7. 1 1
      alien-entity/src/main/java/shop/alien/mapper/LifeUserExpertOrderMapper.java
  8. 1 1
      alien-entity/src/main/java/shop/alien/mapper/StoreCommentAppealMapper.java
  9. 13 0
      alien-entity/src/main/java/shop/alien/mapper/StoreInfoMapper.java
  10. 2 0
      alien-entity/src/main/resources/mapper/LifeUserDynamicsMapper.xml
  11. 3 1
      alien-entity/src/main/resources/mapper/LifeUserExpertOrderMapper.xml
  12. 3 2
      alien-entity/src/main/resources/mapper/ManagementInfoMapper.xml
  13. 14 4
      alien-store/src/main/java/shop/alien/store/controller/LifeUserDynamicsController.java
  14. 9 3
      alien-store/src/main/java/shop/alien/store/controller/LifeUserExpertController.java
  15. 64 28
      alien-store/src/main/java/shop/alien/store/service/LifeUserDynamicsService.java
  16. 1 1
      alien-store/src/main/java/shop/alien/store/service/LifeUserExpertService.java
  17. 4 3
      alien-store/src/main/java/shop/alien/store/service/LifeUserStoreService.java
  18. 36 10
      alien-store/src/main/java/shop/alien/store/service/impl/LifeUserExpertServiceImpl.java
  19. 67 15
      alien-store/src/main/java/shop/alien/store/service/impl/ManagementInfoServiceImpl.java
  20. 12 0
      alien-store/src/main/java/shop/alien/store/service/impl/StoreCommentAppealServiceImpl.java
  21. 6 2
      alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

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

@@ -121,4 +121,8 @@ public class LifeUserDynamics {
     @ApiModelProperty(value = "业务id")
     @TableField("business_id")
     private Integer businessId;
+
+    @ApiModelProperty(value = "根据动态进入店铺详情浏览数")
+    @TableField("store_count")
+    private Integer storeCount;
 }

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

@@ -123,4 +123,8 @@ public class LifeUserExpertOrder extends Model<LifeUserExpertOrder> {
     @TableField(value = "reason_refusal")
     private String reasonRefusal;
 
+    @ApiModelProperty(value = "预付款审核时间")
+    @TableField(value = "advance_payment_time")
+    private Date advancePaymentTime;
+
 }

+ 6 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeUserDynamicsVo.java

@@ -71,4 +71,10 @@ public class LifeUserDynamicsVo extends LifeUserDynamics {
 
     @ApiModelProperty(value = "商家评分")
     private String scoreAvg;
+
+    @ApiModelProperty(value = "门店id")
+    private String storeId;
+
+    @ApiModelProperty(value = "门店经营板块")
+    private String businessSection;
 }

+ 6 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/LifeUserExpertOrderVo.java

@@ -106,4 +106,10 @@ public class LifeUserExpertOrderVo extends LifeUserExpertOrder {
     @ApiModelProperty(value = "身份证号")
     private String idCard;
 
+    @ApiModelProperty(value = "预付款审核时间")
+    @TableField(value = "advance_payment_time")
+    private Date advancePaymentTime;
+
+    @ApiModelProperty(value = "门店电话")
+    private String storeTel;
 }

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

@@ -25,7 +25,7 @@ public class StoreCommentAppealVo extends StoreCommentAppeal {
     @ApiModelProperty(value = "评论图片链接")
     private List<String> commentImgList;
 
-    @ApiModelProperty(value = "商家申诉图片id")
+    @ApiModelProperty(value = "评论图片id")
     private String commentImgId;
 
     @ApiModelProperty(value = "申诉状态字符串")

+ 1 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/StoreInfoVo.java

@@ -174,6 +174,7 @@ public class StoreInfoVo extends StoreInfo {
     private Integer totalDynamicsNum;
 
     private StoreBusinessInfo storeBusinessInfo;
+    private List<StoreBusinessInfo> storeBusinessInfos;
 
     @ApiModelProperty(value = "是否营业中(0否1是)")
     private Integer yyFlag;

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

@@ -104,7 +104,7 @@ public interface LifeUserExpertOrderMapper extends BaseMapper<LifeUserExpertOrde
 
 
 
-    @Select("SELECT ccc.* ,info.store_name,user.real_name,expert.promote_type,expert.advance_rate,expert.commission_rate,user.user_phone,user.id_card,package.name " +
+    @Select("SELECT ccc.* ,info.store_name,info.store_tel,user.real_name,expert.promote_type,expert.advance_rate,expert.commission_rate,user.user_phone,user.id_card,package.name " +
             "FROM life_user_expert_order ccc " +
             "LEFT JOIN store_info info on info.id = ccc.store_id " +
             "left join life_user_expert expert on expert.id = ccc.expert_id " +

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

@@ -26,7 +26,7 @@ public interface StoreCommentAppealMapper extends BaseMapper<StoreCommentAppeal>
      * @param queryWrapper 查询条件
      * @return IPage<StoreCommentAppealVo>
      */
-    @Select("select a.*, b.dict_detail appeal_status_str, c.comment_content, c.comment_star, c.score score, c.other_score,c.is_anonymous, d.user_name, d.user_image, e.store_name, f.phone store_phone, f.name store_contact, e.store_type " +
+    @Select("select a.*, b.dict_detail appeal_status_str, c.comment_content, c.comment_star, c.score score, c.other_score,c.is_anonymous,c.img_id commentImgId, d.user_name, d.user_image, e.store_name, f.phone store_phone, f.name store_contact, e.store_type " +
             "from store_comment_appeal a " +
             "left join store_dictionary b on a.appeal_status = b.dict_id and b.type_name = 'appealStatus' and b.delete_flag = 0 " +
             "left join store_comment c on a.comment_id = c.id " +

+ 13 - 0
alien-entity/src/main/java/shop/alien/mapper/StoreInfoMapper.java

@@ -53,6 +53,19 @@ public interface StoreInfoMapper extends BaseMapper<StoreInfo> {
             " ${ew.customSqlSegment}")
     List<StoreInfoVo> getStoreInfoVoList(@Param(Constants.WRAPPER) QueryWrapper<StoreInfoVo> queryWrapper);
 
+    @Select("with menu as (select store_id,GROUP_CONCAT(dish_name) dish_name from store_menu GROUP BY store_id) " +
+            "select a.*, b.name store_contact, b.phone store_phone, b.password, c.dish_name, a.store_type, img.img_url entranceImage, d.img_url, dict.dict_detail storeTypeStr, dict2.dict_detail businessStatusStr," +
+            "            ROUND(ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(', REPLACE(#{position}, ',', ' '), ')' )), ST_GeomFromText(CONCAT('POINT(', REPLACE(a.store_position, ',', ' '), ')' ))) / 1000, 2) dist " +
+            "from store_info a " +
+            "left join store_user b on a.id = b.store_id  AND b.delete_flag = 0 " +
+            "left join menu c on a.id = c.store_id " +
+            "left join store_img img on img.store_id = a.id and img.img_type = 1 and img.delete_flag = 0 " +
+            "left join store_dictionary dict on dict.type_name = 'storeType' and dict.dict_id = a.store_type and dict.delete_flag = 0 " +
+            "left join store_dictionary dict2 on dict2.type_name = 'businessStatus' and a.business_status = dict2.dict_id and dict2.delete_flag = 0 " +
+            "left join store_img d on d.store_id = a.id and d.img_type = 10 and d.delete_flag = 0" +
+            " ${ew.customSqlSegment}")
+    List<StoreInfoVo> getStoreInfoVoListNew(@Param(Constants.WRAPPER) QueryWrapper<StoreInfoVo> queryWrapper,  @Param("position") String position);
+
     /**
      * web端-门店列表
      *

+ 2 - 0
alien-entity/src/main/resources/mapper/LifeUserDynamicsMapper.xml

@@ -93,6 +93,8 @@
         dy.*,
         info.score_avg as scoreAvg,
         info.store_name as storeName,
+        info.id as storeId,
+        info.business_section as businessSection,
         COUNT(comment.id) AS commentCount
         FROM
         life_user_dynamics AS dy

+ 3 - 1
alien-entity/src/main/resources/mapper/LifeUserExpertOrderMapper.xml

@@ -28,11 +28,13 @@
         <result column="advance_payment_status" property="advancePaymentStatus" />
         <result column="end_funds_button" property="endFundsButton" />
         <result column="reason_refusal" property="reasonRefusal" />
+        <result column="advance_payment_time" property="advancePaymentTime" />
+
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, order_id, expert_id, package_id , store_id, order_money, account_money, order_time, complete_time, first_payment_time, final_payment_time, order_play_count, order_gmv, actual_gmv, status, delete_flag, created_time, created_user_id, updated_time, updated_user_id, advance_payment_status, end_funds_button ,reason_refusal
+        id, order_id, expert_id, package_id , store_id, order_money, account_money, order_time, complete_time, first_payment_time, final_payment_time, order_play_count, order_gmv, actual_gmv, status, delete_flag, created_time, created_user_id, updated_time, updated_user_id, advance_payment_status, end_funds_button ,reason_refusal,advancePaymentTime
     </sql>
 
 </mapper>

+ 3 - 2
alien-entity/src/main/resources/mapper/ManagementInfoMapper.xml

@@ -152,7 +152,7 @@
                 END AS type_name,
             coupon.`name`,
             "1" AS buy_count,
-            ROUND(userOrder.price / 100,2) AS buy_amount,
+            ROUND(userOrder.price ,2) AS buy_amount,
             userOrder.buy_time AS buy_time,
             userOrder.used_time AS used_time,
             userOrder.refund_time AS refund_time,
@@ -170,7 +170,8 @@
                 WHEN 4 THEN
                     "已退款"
                 END AS status_name,
-        userOrder.order_no
+        userOrder.order_no,
+        userOrder.coupon_type
         FROM
             life_user_order userOrder
                 LEFT JOIN life_coupon coupon ON coupon.id = userOrder.id

+ 14 - 4
alien-store/src/main/java/shop/alien/store/controller/LifeUserDynamicsController.java

@@ -10,6 +10,7 @@ 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.vo.LifePinglunVo;
 import shop.alien.entity.store.vo.LifeUserDynamicsVo;
@@ -251,11 +252,20 @@ public class LifeUserDynamicsController {
     @ApiOperation("GVM推荐用户完成支付")
     @ApiOperationSupport(order = 7)
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "expertId", value = "达人动态Id", dataType = "Integer", paramType = "query", required = true),
+            @ApiImplicitParam(name = "dynamicsId", value = "达人动态Id", dataType = "Integer", paramType = "query", required = true),
             @ApiImplicitParam(name = "finalPrice", value = "最终付款金额", dataType = "String", paramType = "query", required = true)})
     @GetMapping("/getOrderGmvUser")
-    public R getOrderGmvUser(@RequestParam() Integer expertId, @RequestParam() String finalPrice) {
-        log.info("LifeUserDynamicsController.getOrderGmvUser?expertId={}&finalPrice={}", expertId, finalPrice);
-        return R.data(lifeUserDynamicsService.countGvm(expertId, finalPrice));
+    public R getOrderGmvUser(@RequestParam() Integer dynamicsId, @RequestParam() String finalPrice) {
+        log.info("LifeUserDynamicsController.getOrderGmvUser?dynamicsId={}&finalPrice={}", dynamicsId, finalPrice);
+        return R.data(lifeUserDynamicsService.countGvm(dynamicsId, finalPrice));
     }
+
+    @ApiOperation("用户通过达人推广进入店铺浏览数")
+    @ApiOperationSupport(order = 8)
+    @PostMapping("/addUserStoreBrowseNumber")
+    public R addUserStoreBrowseNumber(@RequestBody LifeBrowseRecord lifeBrowseRecord) {
+        log.info("LifeUserDynamicsController.addUserStoreBrowseNumber?lifeBrowseRecord={}",lifeBrowseRecord.toString());
+        return R.data(lifeUserDynamicsService.addUserStoreBrowseNumber(lifeBrowseRecord));
+    }
+
 }

+ 9 - 3
alien-store/src/main/java/shop/alien/store/controller/LifeUserExpertController.java

@@ -15,6 +15,7 @@ import shop.alien.entity.store.vo.LifeUserExpertOrderVo;
 import shop.alien.entity.store.vo.LifeUserExpertVo;
 import shop.alien.store.service.LifeUserExpertService;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @Api(tags = {"平台-达人管理"})
@@ -161,12 +162,17 @@ public class LifeUserExpertController {
     @ApiOperationSupport(order = 12)
     @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "达人订单表id", dataType = "Integer", paramType = "query",required = true),
                         @ApiImplicitParam(name = "reasonRefusal", value = "拒绝原因", dataType = "String", paramType = "query"),
+                        @ApiImplicitParam(name = "userPhone", value = "用户手机号", dataType = "String", paramType = "query"),
+                        @ApiImplicitParam(name = "name", value = "套餐名称", dataType = "String", paramType = "query"),
+                        @ApiImplicitParam(name = "storeTel", value = "门店电话", dataType = "String", paramType = "query"),
+                        @ApiImplicitParam(name = "orderNo", value = "订单号", dataType = "String", paramType = "query"),
+                        @ApiImplicitParam(name = "orderMoney", value = "用户id", dataType = "String", paramType = "query"),
                         @ApiImplicitParam(name = "advancePaymentStatus", value = "预付款审核状态", dataType = "String", paramType = "query")
     })
     @GetMapping("/getAdvancePaymentReview")
-    public R <Boolean> getAdvancePaymentReview( Integer id,String reasonRefusal, String advancePaymentStatus) {
-        log.info("LifeUserExpertController.getViewDetails?Id={},reasonRefusal{},advancePaymentStatus{}",id,reasonRefusal,advancePaymentStatus);
-        return R.data(lifeUserExpertService.getAdvancePaymentReview(id, reasonRefusal, advancePaymentStatus));
+    public R <Boolean> getAdvancePaymentReview(Integer id, String reasonRefusal, String userPhone, String name, String storeTel, String orderNo, String orderMoney, String advancePaymentStatus) {
+        log.info("LifeUserExpertController.getViewDetails?Id={},reasonRefusal{},userPhone{},name{},orderNo{},orderMoney{},advancePaymentStatus{}",id,reasonRefusal,userPhone,name,orderNo,orderMoney,advancePaymentStatus);
+        return R.data(lifeUserExpertService.getAdvancePaymentReview(id, reasonRefusal, userPhone, name,storeTel,orderNo,orderMoney,advancePaymentStatus));
     }
 
 

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

@@ -1,5 +1,6 @@
 package shop.alien.store.service;
 
+import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -21,7 +22,12 @@ import shop.alien.entity.store.vo.LifeUserOrderVo;
 import shop.alien.entity.store.vo.StoreCommentVo;
 import shop.alien.mapper.*;
 
+import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -60,6 +66,11 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
 
     private final PromotionPackageService promotionPackageService;
 
+    private final LifeBrowseRecordMapper lifeBrowseRecordMapper;
+
+    @Resource
+    LifeBrowseRecordService lifeBrowseRecordService;
+
 
     public int addLiulanCount(String id) {
         LambdaUpdateWrapper<LifeUserDynamics> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
@@ -70,13 +81,13 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
 
 
     public int setTopStatus(LifeUserDynamicsVo lifeUserDynamicsVo) {
-        if(!StringUtils.isEmpty(lifeUserDynamicsVo.getId()) && !StringUtils.isEmpty(lifeUserDynamicsVo.getTopStatus())){
+        if (!StringUtils.isEmpty(lifeUserDynamicsVo.getId()) && !StringUtils.isEmpty(lifeUserDynamicsVo.getTopStatus())) {
             LambdaUpdateWrapper<LifeUserDynamics> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
             lambdaUpdateWrapper.eq(LifeUserDynamics::getId, lifeUserDynamicsVo.getId());
             lambdaUpdateWrapper.set(LifeUserDynamics::getTopStatus, lifeUserDynamicsVo.getTopStatus());
-            if(lifeUserDynamicsVo.getTopStatus() == 0){
+            if (lifeUserDynamicsVo.getTopStatus() == 0) {
                 lambdaUpdateWrapper.set(LifeUserDynamics::getTopTime, null);
-            } else{
+            } else {
                 lambdaUpdateWrapper.set(LifeUserDynamics::getTopTime, new Date());
 
             }
@@ -87,7 +98,7 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
     }
 
     public int enableStatus(LifeUserDynamicsVo lifeUserDynamicsVo) {
-        if(!StringUtils.isEmpty(lifeUserDynamicsVo.getId()) && !StringUtils.isEmpty(lifeUserDynamicsVo.getEnableStatus())) {
+        if (!StringUtils.isEmpty(lifeUserDynamicsVo.getId()) && !StringUtils.isEmpty(lifeUserDynamicsVo.getEnableStatus())) {
             LambdaUpdateWrapper<LifeUserDynamics> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
             lambdaUpdateWrapper.eq(LifeUserDynamics::getId, lifeUserDynamicsVo.getId());
             lambdaUpdateWrapper.set(LifeUserDynamics::getEnableStatus, lifeUserDynamicsVo.getEnableStatus());
@@ -106,7 +117,7 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
             //如果发布,则将创建时间修改为当前时间
             LifeUserDynamics lifeUserDynamics = lifeUserDynamicsMapper.selectById(store.getId());
             int draft = lifeUserDynamics.getDraft();
-            if(draft == 1 && store.getDraft() == 0){
+            if (draft == 1 && store.getDraft() == 0) {
                 store.setCreatedTime(new Date());
             }
             return lifeUserDynamicsMapper.updateById(store);
@@ -495,11 +506,11 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
 
     public List<LifeUserDynamicsVo> getDianZanList(String phoneId) {
         List<LifeUserDynamicsVo> lifeUserDynamicsVos = lifeUserDynamicsMapper.selectDianZanList(phoneId);
-        if (!CollectionUtils.isEmpty(lifeUserDynamicsVos)){
+        if (!CollectionUtils.isEmpty(lifeUserDynamicsVos)) {
             for (LifeUserDynamicsVo lifeUserDynamicsVo : lifeUserDynamicsVos) {
-                if (lifeUserDynamicsVo.getType().equals("2")){
+                if (lifeUserDynamicsVo.getType().equals("2")) {
                     String phoneIdNew = lifeUserDynamicsVo.getPhoneId().substring(6);
-                     StoreInfo storeInfo=storeInfoMapper.getStoreNameByPhone(phoneIdNew);
+                    StoreInfo storeInfo = storeInfoMapper.getStoreNameByPhone(phoneIdNew);
                     lifeUserDynamicsVo.setStoreName(storeInfo.getStoreName());
                 } else if (lifeUserDynamicsVo.getType().equals("1")) {
                     String phoneIdNew = lifeUserDynamicsVo.getPhoneId().substring(5);
@@ -509,7 +520,7 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
                 }
             }
         }
-        return  lifeUserDynamicsVos;
+        return lifeUserDynamicsVos;
     }
 
     public List<LifeUserDynamicsVo> getDynamicsList(Integer page, Integer size, String nickName, String userType, Integer dynamicsType, String releaseStartTime, String releaseEndTime) {
@@ -521,10 +532,10 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
         // 查询动态数据并按类型过滤
         LifeUserDynamicsVo lifeUserDynamicsVo = new LifeUserDynamicsVo();
         List<LifeUserDynamicsVo> lifeUserDynamicsVoList = lifeUserDynamicsMapper.getDynamicsDetail(id);
-        if(!CollectionUtils.isEmpty(lifeUserDynamicsVoList)){
+        if (!CollectionUtils.isEmpty(lifeUserDynamicsVoList)) {
             lifeUserDynamicsVo = lifeUserDynamicsVoList.get(0);
             String imagePath = lifeUserDynamicsVo.getImagePath();
-            if(!StringUtils.isEmpty(imagePath)){
+            if (!StringUtils.isEmpty(imagePath)) {
                 List<String> imagePathList = Arrays.asList(imagePath.split(","));
                 lifeUserDynamicsVo.setImagePathList(imagePathList);
             }
@@ -536,18 +547,18 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
         // 查询动态数据并按类型过滤
         LifeUserDynamicsVo lifeUserDynamicsVo = new LifeUserDynamicsVo();
         List<LifeUserDynamicsVo> lifeUserDynamicsVoList = lifeUserDynamicsMapper.getExpertDynamicsDetail(id);
-        if(!CollectionUtils.isEmpty(lifeUserDynamicsVoList)){
+        if (!CollectionUtils.isEmpty(lifeUserDynamicsVoList)) {
             lifeUserDynamicsVo = lifeUserDynamicsVoList.get(0);
             String imagePath = lifeUserDynamicsVo.getImagePath();
-            if(!StringUtils.isEmpty(imagePath)){
+            if (!StringUtils.isEmpty(imagePath)) {
                 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){
-                LifePromotionPackage lifePromotionPackage = promotionPackageService.getById(lifeUserExpertOrder.getPackageId());
-                if(lifeUserDynamicsVo.getOrderGmv().compareTo(lifeUserExpertOrder.getOrderGmv()) >= 0 && lifeUserDynamicsVo.getLiulanCount()>=Integer.parseInt(lifePromotionPackage.getPlayCount())){
+            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);
                 }
@@ -557,22 +568,47 @@ public class LifeUserDynamicsService extends ServiceImpl<LifeUserDynamicsMapper,
         return lifeUserDynamicsVo;
     }
 
-    public R countGvm(Integer expertId, String finalPrice){
-        LifeUserDynamics lifeUserDynamics = lifeUserDynamicsMapper.selectOne(new LambdaQueryWrapper<LifeUserDynamics>().eq(LifeUserDynamics :: getId, expertId));
-        if(lifeUserDynamics != null){
-           BigDecimal price = new BigDecimal(finalPrice);
-           lifeUserDynamics.setOrderGmv(lifeUserDynamics.getOrderGmv().add(price));
-           lifeUserDynamicsMapper.updateById(lifeUserDynamics);
+    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){
-            LifePromotionPackage lifePromotionPackage = promotionPackageService.getById(lifeUserExpertOrder.getPackageId());
-            LifeUserDynamics lifeUserDynamics1 = lifeUserDynamicsMapper.selectOne(new LambdaQueryWrapper<LifeUserDynamics>().eq(LifeUserDynamics :: getId, expertId));
-            if(lifeUserDynamics1.getOrderGmv().compareTo(lifeUserExpertOrder.getOrderGmv()) >= 0 && lifeUserDynamics1.getLiulanCount()>=Integer.parseInt(lifePromotionPackage.getPlayCount())){
+        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);
                 lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
             }
         }
         return R.success("请求成功");
     }
+
+    public boolean addUserStoreBrowseNumber(LifeBrowseRecord lifeBrowseRecord) {
+        // 获取当天开始时间(00:00:00)
+        LocalDateTime todayStart = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
+        // 获取当天结束时间(23:59:59.999)
+        LocalDateTime todayEnd = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
+        LifeBrowseRecord selectOne = lifeBrowseRecordMapper.selectOne(new LambdaQueryWrapper<LifeBrowseRecord>().eq(LifeBrowseRecord::getUserId, lifeBrowseRecord.getUserId())
+                .between(LifeBrowseRecord::getLiulanTime, todayStart, todayEnd).in(LifeBrowseRecord::getDeleteFlag, 0, 1).eq(LifeBrowseRecord::getDynamicsId, lifeBrowseRecord.getDynamicsId())
+                .eq(LifeBrowseRecord::getOrderId, lifeBrowseRecord.getOrderId()));
+        if (selectOne == null) {
+            lifeBrowseRecord.setCreatedTime(new DateTime());
+            lifeBrowseRecord.setLiulanTime(new DateTime());
+            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);
+        }
+        return true;
+    }
 }

+ 1 - 1
alien-store/src/main/java/shop/alien/store/service/LifeUserExpertService.java

@@ -48,5 +48,5 @@ public interface LifeUserExpertService extends IService<LifeUserExpert> {
 
     IPage<LifeUserExpertOrderVo> getAdvancePaymentList(Integer page, Integer size,String realName, String userPhone, String advancePaymentStatus, String orderCreatedTime, String orderEndTime ,String name, Integer userId);
 
-    Boolean getAdvancePaymentReview(Integer id,String reasonRefusal, String advancePaymentStatus);
+    Boolean getAdvancePaymentReview(Integer id,String reasonRefusal, String userPhone,String name,String storeTel,String orderNo, String orderMoney,String advancePaymentStatus);
 }

+ 4 - 3
alien-store/src/main/java/shop/alien/store/service/LifeUserStoreService.java

@@ -82,7 +82,7 @@ public class LifeUserStoreService {
             // 过滤掉永久关门的店铺
             wrapper.ne("a.business_status", 99);
             // 根据构建的条件查询门店信息
-            List<StoreInfoVo> storeInfoVoList = storeInfoMapper.getStoreInfoVoList(wrapper);
+            List<StoreInfoVo> storeInfoVoList = storeInfoMapper.getStoreInfoVoListNew(wrapper,weidu + "," + jingdu);
             // 如果查询结果为空,则直接返回空列表
             if (storeInfoVoList.isEmpty()) {
                 return returnMaps;
@@ -113,7 +113,7 @@ public class LifeUserStoreService {
 
                 Map<String, Object> storeMap = new HashMap<>();
                 // 如果用户提供了经纬度信息,则计算并添加门店到用户的距离
-                if ((jingdu != null && !jingdu.isEmpty()) && (weidu != null && !weidu.isEmpty())) {
+                /*if ((jingdu != null && !jingdu.isEmpty()) && (weidu != null && !weidu.isEmpty())) {
                     double storeJing = Double.parseDouble(store.getStorePosition().split(",")[0]);
                     double storeWei = Double.parseDouble(store.getStorePosition().split(",")[1]);
                     double storeDistance = DistanceUtil.haversineCalculateDistance(Double.parseDouble(jingdu), Double.parseDouble(weidu), storeJing, storeWei);
@@ -121,7 +121,8 @@ public class LifeUserStoreService {
                 } else {
                     // 否则,返回提示信息
                     storeMap.put("distance", "没有位置信息");
-                }
+                }*/
+                storeMap.put("distance", store.getDist());
                 // 添加门店的业务状态及其描述
                 storeMap.put("businessStatus", store.getBusinessStatus());
                 storeMap.put("businessStatusStr", store.getBusinessStatusStr());

+ 36 - 10
alien-store/src/main/java/shop/alien/store/service/impl/LifeUserExpertServiceImpl.java

@@ -16,6 +16,7 @@ import shop.alien.entity.store.vo.LifeUserExpertOrderVo;
 import shop.alien.entity.store.vo.LifeUserExpertVo;
 import shop.alien.mapper.*;
 import shop.alien.store.service.LifeUserExpertService;
+import shop.alien.store.util.ali.AliApi;
 import shop.alien.util.common.ListToPage;
 
 import java.math.BigDecimal;
@@ -46,6 +47,7 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
     private final ExpertImgMapper expertImgMapper;
     private final LifeUserExpertOrderMapper lifeUserExpertOrderMapper;
     private final LifeNoticeMapper lifeNoticeMapper;
+    private final AliApi aliApi;
 
     @Override
     public IPage<LifeUserExpertVo> getUserExpertList(int page, int size, String userName, String expertCode, Integer userId) {
@@ -75,6 +77,8 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
     @Override
     public boolean becomeExpert(Integer id,  String userPhone, String comment, Integer expertStatus ,Integer commissionRate, Integer advanceRate) {
         LambdaQueryWrapper<LifeUserExpert> wrapper = new LambdaQueryWrapper<>();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        String formattedDate = LocalDateTime.now().format(formatter);
         wrapper.eq(LifeUserExpert::getId, id);
         LifeUserExpert lifeUserExpert = lifeUserExpertMapper.selectIsExpertById(id);
         if (lifeUserExpert == null) {
@@ -89,41 +93,42 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
             lifeUserExpert.setExpertCode(setExpertCode());
             lifeUserExpert.setCommissionRate(commissionRate);
             lifeUserExpert.setAdvanceRate(advanceRate);
+            String text = "您在"+formattedDate+"提交的信息已经通过审核。恭喜您成为达人。";
+            String title = "审核通过通知";
+            sendMessage(expertStatus, userPhone, text,title);
         } else if (expertStatus == 2) {
             lifeUserExpert.setRefuseBecause(comment);
             lifeUserExpert.setExpertStatus(2);
+            String text = "您在"+formattedDate+"提交的信息未通过审核,拒绝原因:"+comment+"。请您重新填写信息后再次提交至平台审核。";
+            String title = "审核失败通知";
+            sendMessage(expertStatus, userPhone, text,title);
         }
-        sendMessage(expertStatus, userPhone, comment);
         return lifeUserExpertMapper.updateExpert(lifeUserExpert);
     }
 
 
-    public void sendMessage(Integer expertStatus,String userPhone ,String comment) {
+    public void sendMessage(Integer expertStatus,String userPhone ,String text,String title) {
         LifeNotice lifeMessage = new LifeNotice();
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        String formattedDate = LocalDateTime.now().format(formatter);
         if (expertStatus == 0){
-            String text = "您在"+formattedDate+"提交的信息已经通过审核。恭喜您成为达人。";
             JSONObject jsonObject = new JSONObject();
             jsonObject.put("message", text);
             lifeMessage.setReceiverId("user_"+userPhone);
-            lifeMessage.setTitle("审核通过通知");
             lifeMessage.setContext(jsonObject.toJSONString());
             lifeMessage.setNoticeType(1);
             lifeMessage.setIsRead(0);
             lifeMessage.setDeleteFlag(0);
             lifeMessage.setSenderId("system");
+            lifeMessage.setTitle(title);
             lifeNoticeMapper.insert(lifeMessage);
         } else if (expertStatus == 2) {
-            String text = "您在"+formattedDate+"提交的信息未通过审核,拒绝原因:"+comment+"。请您重新填写信息后再次提交至平台审核。";
             JSONObject jsonObject = new JSONObject();
             jsonObject.put("message", text);
             lifeMessage.setReceiverId("user_"+userPhone);
-            lifeMessage.setTitle("审核失败通知");
             lifeMessage.setContext(jsonObject.toJSONString());
             lifeMessage.setNoticeType(1);
             lifeMessage.setIsRead(0);
             lifeMessage.setDeleteFlag(0);
+            lifeMessage.setTitle(title);
             lifeMessage.setSenderId("system");
             lifeNoticeMapper.insert(lifeMessage);
         }
@@ -428,13 +433,34 @@ public class LifeUserExpertServiceImpl extends ServiceImpl<LifeUserExpertMapper,
     }
 
     @Override
-    public Boolean getAdvancePaymentReview(Integer id,String reasonRefusal, String advancePaymentStatus) {
+    public Boolean getAdvancePaymentReview(Integer id,String reasonRefusal,String userPhone, String name,String storeTel,String orderNo, String orderMoney,String advancePaymentStatus) {
         LifeUserExpertOrder lifeUserExpertOrder =new LifeUserExpertOrder() ;
         lifeUserExpertOrder.setId(id);
         lifeUserExpertOrder.setAdvancePaymentStatus(advancePaymentStatus);
-        lifeUserExpertOrder.setUpdatedTime(new Date());
+        lifeUserExpertOrder.setAdvancePaymentTime(new Date());
         lifeUserExpertOrder.setReasonRefusal(reasonRefusal);
         int i=lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
+
+        Integer advancePaymentStatu= Integer.valueOf(advancePaymentStatus);
+        if ("0".equals(advancePaymentStatus)){
+            String text = "您的"+name+"已被商家订购,可在应用内我的-我的钱包中查看预付款金额。";
+            String title = "发放预付款通知";
+            sendMessage(advancePaymentStatu,userPhone ,text,title);
+        } else if ("2".equals(advancePaymentStatus)){
+            String text = "您订购的达人推广套餐-"+name+",审核未通过,拒绝原因:"+reasonRefusal+",平台会在1-3个工作日将全部款项发放到你的支付宝账户,请注意查收。如未到账,请联系客服处理。";
+            String title = "订单退款通知";
+            sendMessage(advancePaymentStatu,storeTel ,text,title);
+
+
+            //退款逻辑
+            String partialRefundCode = "";
+            String result=aliApi.processRefund(orderNo, orderMoney, reasonRefusal, partialRefundCode);
+            if ("调用成功".equals(result)){
+                String text1 = "您订购的达人推广套餐-"+name+",订单金额:"+orderMoney+"元,已经成功发放到您的支付宝账户,请注意查收。";
+                String title1 = "退款到账成功通知";
+                sendMessage(advancePaymentStatu,userPhone ,text1,title1);
+            }
+        }
         if (i>0){
             return true;
         }

+ 67 - 15
alien-store/src/main/java/shop/alien/store/service/impl/ManagementInfoServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang.StringUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -14,8 +15,10 @@ import org.springframework.core.io.ClassPathResource;
 import org.springframework.stereotype.Service;
 import shop.alien.entity.store.*;
 import shop.alien.entity.store.vo.ManagementInfoVo;
+import shop.alien.entity.store.vo.SystemConfigVo;
 import shop.alien.mapper.*;
 import shop.alien.store.service.ManagementInfoService;
+import shop.alien.store.service.StoreDictService;
 import shop.alien.util.ali.AliOSSUtil;
 
 import java.io.*;
@@ -47,6 +50,8 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
     @Value("${spring.web.resources.url}")
     private String fileUrl;
 
+    private final StoreDictService storeDictService;
+
     private final ManagementInfoMapper managementInfoMapper;
 
     private final StoreIncomeDetailsRecordMapper storeIncomeDetailsRecordMapper;
@@ -90,12 +95,23 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
     @Override
     public HashMap<String, Object> storeBillingStatistics(String queryType) {
 
+        int freeze = 0;
+        //查询冻结配置
+        SystemConfigVo systemConfigVo = storeDictService.getConfig("freeze");
+        if(systemConfigVo != null){
+            String freezeFlag = systemConfigVo.getConfigValue1();
+            String freezeDay =  systemConfigVo.getConfigValue2();
+            if(StringUtils.isNotBlank(freezeFlag) && freezeFlag.equals("1") && StringUtils.isNotBlank(freezeDay)){
+                freeze = Integer.parseInt(freezeDay);
+            }
+        }
+
         HashMap<String, Object> result = new HashMap<>();
 
         // 获取当前日期
         LocalDate currentDate = LocalDate.now();
         // 计算三天前的日期
-        LocalDate threeDaysAgo = currentDate.minusDays(3);
+        LocalDate threeDaysAgo = currentDate.minusDays(freeze);
         // 设置时间为当天的 0 点
         LocalDateTime threeDaysAgoMidnight = threeDaysAgo.atStartOfDay();
 
@@ -130,15 +146,22 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
         ManagementInfoVo writtenOffAmount = managementInfoMapper.getWrittenOffAmount(startDate, endDate, null);
 
         //查询已冻结金额
+        LambdaQueryWrapper<StoreIncomeDetailsRecord> storeIncomeDetailsRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(freeze > 0){
+            storeIncomeDetailsRecordLambdaQueryWrapper.gt(StoreIncomeDetailsRecord::getCreatedTime, threeDaysAgoMidnight);
+        }
+        storeIncomeDetailsRecordLambdaQueryWrapper.gt(StoreIncomeDetailsRecord::getCreatedTime, startDate);
+        storeIncomeDetailsRecordLambdaQueryWrapper.lt(StoreIncomeDetailsRecord::getCreatedTime, endDate);
+
         List<StoreIncomeDetailsRecord> storeIncomeDetailsRecords = storeIncomeDetailsRecordMapper
-                .selectList(
-                        new LambdaQueryWrapper<StoreIncomeDetailsRecord>()
-                                .gt(StoreIncomeDetailsRecord::getCreatedTime, threeDaysAgoMidnight)
-                                .gt(StoreIncomeDetailsRecord::getCreatedTime, startDate)
-                                .lt(StoreIncomeDetailsRecord::getCreatedTime, endDate)
-                );
+                .selectList(storeIncomeDetailsRecordLambdaQueryWrapper);
         Double storeIncomeDetailsCount = 0d;
+        Double storeIncomeDetailsNoCashCount = 0d;
+
         for (StoreIncomeDetailsRecord storeIncomeDetailsRecord : storeIncomeDetailsRecords) {
+            if(storeIncomeDetailsRecord.getCashOutId() == null || storeIncomeDetailsRecord.getCashOutId() == 0){
+                storeIncomeDetailsNoCashCount += storeIncomeDetailsRecord.getMoney();
+            }
             storeIncomeDetailsCount += storeIncomeDetailsRecord.getMoney();
         }
 
@@ -148,9 +171,16 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
         result.put("amountPaid", amountPaid.getAmountPaid());
 
         //存入冻结未提现金额
-        result.put("unwithdrawnAmountsFrozen", withdrawalAmount.getTotalWithdrawalAmount() - storeIncomeDetailsCount);
+        result.put("unwithdrawnAmountsFrozen", storeIncomeDetailsNoCashCount);
         //存入未解冻金额
-        result.put("freezeAmounts", storeIncomeDetailsCount);
+        if(freeze == 0){
+            result.put("freezeAmounts", 0);
+            result.put("unwithdrawnAmountsFrozen", 0);
+
+        } else {
+            result.put("freezeAmounts", storeIncomeDetailsCount);
+            result.put("unwithdrawnAmountsFrozen", storeIncomeDetailsNoCashCount);
+        }
         // 已提现金额
         result.put("withdrawalAmount", withdrawalAmount.getTotalWithdrawalAmount());
         //存入未核销金额
@@ -185,10 +215,21 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
 
     @Override
     public HashMap<String, Object> storeDetailBillingStatistics(String storeId) {
+        int freeze = 0;
+        //查询冻结配置
+        SystemConfigVo systemConfigVo = storeDictService.getConfig("freeze");
+        if(systemConfigVo != null){
+            String freezeFlag = systemConfigVo.getConfigValue1();
+            String freezeDay =  systemConfigVo.getConfigValue2();
+            if(StringUtils.isNotBlank(freezeFlag) && freezeFlag.equals("1") && StringUtils.isNotBlank(freezeDay)){
+                freeze = Integer.parseInt(freezeDay);
+            }
+        }
+
         // 获取当前日期
         LocalDate currentDate = LocalDate.now();
         // 计算三天前的日期
-        LocalDate threeDaysAgo = currentDate.minusDays(3);
+        LocalDate threeDaysAgo = currentDate.minusDays(freeze);
         // 设置时间为当天的 0 点
         LocalDateTime threeDaysAgoMidnight = threeDaysAgo.atStartOfDay();
 
@@ -213,11 +254,15 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
                                 .eq(StoreIncomeDetailsRecord::getStoreId, storeId)
                 );
         Double storeIncomeDetailsCount = 0d;
+        Double storeIncomeDetailsNoCashCount = 0d;
+
         for (StoreIncomeDetailsRecord storeIncomeDetailsRecord : storeIncomeDetailsRecords) {
+            if(storeIncomeDetailsRecord.getCashOutId() == null || storeIncomeDetailsRecord.getCashOutId() == 0){
+                storeIncomeDetailsNoCashCount += storeIncomeDetailsRecord.getMoney();
+            }
             storeIncomeDetailsCount += storeIncomeDetailsRecord.getMoney();
         }
 
-
         //存入已付款金额
         result.put("allOrderAmount", allOrderAmount.getAllOrderAmount());
         //存入总交易金额
@@ -226,15 +271,22 @@ public class ManagementInfoServiceImpl implements ManagementInfoService {
         result.put("orderTransactionNumber", orderTransactionNumber.getOrderTransactionNumber());
         //存入核验金额
         result.put("verificationAmount", verificationAmount.getVerificationAmount());
-
         //已提现金额
         result.put("totalWithdrawalAmount", totalWithdrawalAmount.getTotalWithdrawalAmount());
 
         //冻结金额
-        result.put("freezeAmounts", storeIncomeDetailsCount);
+        if(freeze == 0){
+            //冻结金额
+            result.put("freezeAmounts", 0);
+            //冻结待提现金额
+            result.put("unwithdrawnAmountsFrozen", 0);
+        } else {
+            //冻结金额
+            result.put("freezeAmounts", storeIncomeDetailsCount);
+            //冻结待提现金额
+            result.put("unwithdrawnAmountsFrozen", storeIncomeDetailsNoCashCount);
 
-        //冻结待提现金额
-        result.put("unwithdrawnAmountsFrozen", storeIncomeDetailsCount);
+        }
         return result;
     }
 

+ 12 - 0
alien-store/src/main/java/shop/alien/store/service/impl/StoreCommentAppealServiceImpl.java

@@ -108,6 +108,18 @@ public class StoreCommentAppealServiceImpl extends ServiceImpl<StoreCommentAppea
                 }
             }
             item.setImgList(imgList);
+
+            if (StringUtils.isNotEmpty(item.getCommentImgId())) {
+                String[] imgId = item.getCommentImgId().split(",");
+                List<String> commentImg = new ArrayList<>();
+                for (String s : imgId) {
+                    StoreImg storeImg = storeImgMapper.selectById(s);
+                    if (null != storeImg) {
+                        commentImg.add(storeImg.getImgUrl());
+                    }
+                }
+                item.setCommentImgList(commentImg);
+            }
         });
         return storeCommentAppealPage;
     }

+ 6 - 2
alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

@@ -47,6 +47,8 @@ import shop.alien.util.common.constant.OrderStatusEnum;
 import javax.annotation.Resource;
 import java.io.File;
 import java.io.IOException;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.time.*;
@@ -1187,7 +1189,9 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
         List<StoreBusinessInfo> storeBusinessInfos = storeBusinessInfoMapper.selectList(new LambdaQueryWrapper<StoreBusinessInfo>().eq(StoreBusinessInfo::getStoreId, storeId).eq(StoreBusinessInfo::getDeleteFlag, 0));
         if (ObjectUtils.isNotEmpty(storeBusinessInfos)) {
             result.setStoreBusinessInfo(storeBusinessInfos.get(0));
-            StoreBusinessInfo storeBusinessInfo = result.getStoreBusinessInfo();
+            result.setStoreBusinessInfos(storeBusinessInfos);
+            //StoreBusinessInfo storeBusinessInfo = result.getStoreBusinessInfo();
+            StoreBusinessInfo storeBusinessInfo = result.getStoreBusinessInfos().stream().filter(item -> item.getBusinessType() == 1).findFirst().orElse(null) ;
             if (ObjectUtils.isNotEmpty(storeBusinessInfo)) {
 
                 Calendar calendar = Calendar.getInstance(); // 获取Calendar实例
@@ -1631,7 +1635,7 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
             storeMap.put("storeId", store.getId());
             // 如果存在评分数据,则添加评分、平均消费及评价总数
             if (avgScoreMap.containsKey(String.valueOf(store.getId()))) {
-                store.setAvgScore(avgScoreMap.get(String.valueOf(store.getId())).get(0).get("avg_score").toString());
+                store.setAvgScore(new BigDecimal(avgScoreMap.get(String.valueOf(store.getId())).get(0).get("avg_score").toString()).setScale(1, RoundingMode.HALF_UP).toString());
                 store.setTotalNum(avgScoreMap.get(String.valueOf(store.getId())).get(0).get("total_num").toString());
                 /*storeMap.put("avgScore", avgScoreMap.get(String.valueOf(store.getId())).get(0).get("avg_score"));
                 storeMap.put("avgPrice", avgPriceMap.get(String.valueOf(store.getId())).get(0).get("avg_price"));