Просмотр исходного кода

商户详情接口优化 仓库搜索寻找上级

mac 2 лет назад
Родитель
Сommit
4ebe84c147

+ 2 - 2
kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/model/KxsMachineRatio.java

@@ -127,9 +127,9 @@ public class KxsMachineRatio extends Model<KxsMachineRatio> implements Serializa
     private Integer merchantId;
 
     /**
-     * 状态 0设置失败 1设置成功
+     * 状态 -1 调整失败 0审核中 1设置成功
      */
-    @Schema(description = "状态 0设置失败 1设置成功")
+    @Schema(description = "状态 -1 调整失败 0审核中 1设置成功")
     private Integer status;
 
 

+ 11 - 0
kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/vo/kxsapp/merchant/MerchantDetailVO.java

@@ -128,6 +128,11 @@ public class MerchantDetailVO implements Serializable {
      */
     private String mchStatus;
 
+    /**
+     * 机器费率
+     */
+    private BigDecimal machineFee;
+
     /**
      * 费率调升标记
      */
@@ -140,6 +145,12 @@ public class MerchantDetailVO implements Serializable {
     @Schema(description = "费率调升标记 0未调 1已调整")
     private Integer downFeeFlag;
 
+    /**
+     * 是否可调整费率 1是 0否
+     */
+    @Schema(description = "是否可调整费率 1是 0否")
+    private Integer isChangeFee = 0;
+
     /**
      * 调升时间
      */

+ 13 - 3
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/service/impl/KxsMerchantServiceImpl.java

@@ -79,10 +79,10 @@ public class KxsMerchantServiceImpl extends ServiceImpl<KxsMerchantMapper, KxsMe
     public Object merchantDetail(Long merchantId) {
         MerchantDetailVO merchantDetailVO = new MerchantDetailVO();
         //商户信息
-        KxsMerchant byId = getById(merchantId);
-        BeanUtil.copyProperties(byId,merchantDetailVO);
+        KxsMerchant mchInfo = getById(merchantId);
+        BeanUtil.copyProperties(mchInfo,merchantDetailVO);
         //机具信息
-        KxsMachine kxsMachine = kxsMachineMapper.selectById(byId.getMachineId());
+        KxsMachine kxsMachine = kxsMachineMapper.selectById(mchInfo.getMachineId());
         merchantDetailVO.setPosSn(kxsMachine.getPosSn());
         merchantDetailVO.setBrand(kxsMachine.getBrandId().toString());
         merchantDetailVO.setActTime(kxsMachine.getActTime().toString());
@@ -106,6 +106,16 @@ public class KxsMerchantServiceImpl extends ServiceImpl<KxsMerchantMapper, KxsMe
         merchantDetailVO.setDownFeeDate(downFee != null ? downFee.getCreateTime() : null);
         merchantDetailVO.setUpFeeFlag(kxsMachine.getUpFeeFlag());
         merchantDetailVO.setDownFeeFlag(kxsMachine.getDownFeeFlag());
+        merchantDetailVO.setMachineFee(kxsMachine.getMachineRatio());
+
+        if(kxsMachine.getMachineRatio().compareTo(CommonConstants.FEE_63) == 0){
+            merchantDetailVO.setIsChangeFee(1);
+        }
+        //如果在审核中则不可调
+        if (downFee != null &&downFee.getStatus() == 0) {
+            merchantDetailVO.setIsChangeFee(0);
+        }
+
         if (kxsMachine.getBrandId() == 12 || kxsMachine.getBrandId() == 13 || kxsMachine.getBrandId() == 15)
         {
             if (kxsMachine.getUpFeeFlag() == 1 && kxsMachine.getDownFeeFlag() == 0)

+ 6 - 0
kxs-store/kxs-store-api/src/main/java/com/kxs/store/api/dto/kxsapp/store/StoreSearchListDTO.java

@@ -21,6 +21,12 @@ public class StoreSearchListDTO {
     @NotNull(message = "品牌ID不能为空")
     private Integer brandId;
 
+    /**
+     * 用户上级ID集合
+     */
+    @Schema(description = "用户上级ID集合")
+    private String[] whsUserIds;
+
 
     /**
      * 搜索关键字

+ 18 - 0
kxs-store/kxs-store-biz/src/main/java/com/kxs/store/biz/service/impl/KxsWarehouseServiceImpl.java

@@ -1,10 +1,16 @@
 package com.kxs.store.biz.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.common.core.constant.SecurityConstants;
+import com.kxs.common.core.constant.enums.ErrorTypeEnum;
+import com.kxs.common.core.exception.GlobalCustomerException;
+import com.kxs.common.core.util.R;
+import com.kxs.common.core.util.RetOps;
 import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.store.api.dto.kxsapp.store.StoreSearchListDTO;
 import com.kxs.store.api.model.*;
@@ -16,6 +22,8 @@ import com.kxs.store.biz.constant.enums.MachineOrderEnum;
 import com.kxs.store.biz.constant.enums.MachineOrderStatusEnum;
 import com.kxs.store.biz.mapper.*;
 import com.kxs.store.biz.service.KxsWarehouseService;
+import com.kxs.user.api.feign.RemoteKxsUserService;
+import com.kxs.user.api.model.KxsUser;
 import lombok.RequiredArgsConstructor;
 import org.checkerframework.checker.units.qual.K;
 import org.springframework.stereotype.Service;
@@ -42,9 +50,19 @@ public class KxsWarehouseServiceImpl extends ServiceImpl<KxsWarehouseMapper, Kxs
     private final KxsMachineRecycleMapper kxsMachineRecycleMapper;
     private final KxsWarehouseMapper kxsWarehouseMapper;
 
+    private final RemoteKxsUserService remoteKxsUserService;
+
     @Override
     public IPage<StoreSearchListVO> searchList(Page<StoreSearchListVO> page, StoreSearchListDTO param) {
 
+        Long userId = SecurityUtils.getUser().getId();
+        R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(userId, SecurityConstants.FROM_IN);
+        KxsUser user = RetOps.of(kxsUserR)
+                .getData()
+                .orElseThrow(() -> new GlobalCustomerException(ErrorTypeEnum.USER_NOT_FOUND.getDescription()));
+        String[] pidPaths = user.getPidPath().split(StrUtil.COMMA);
+        param.setWhsUserIds(pidPaths);
+
         return baseMapper.searchList(page, param);
     }
 

+ 6 - 0
kxs-store/kxs-store-biz/src/main/resources/mapper/KxsWarehouseMapper.xml

@@ -43,6 +43,12 @@
             <if test="query.brandId != null">
                 and a.brand_id = #{query.brandId}
             </if>
+            <if test="query.whsUserIds != null">
+                and a.user_id in
+                <foreach collection="query.whsUserIds" item="userId" index="index" open="(" close=")" separator=",">
+                    #{userId}
+                </foreach>
+            </if>
             <if test="query.keyword != null and query.keyword != ''">
                 and a.warehouse_name like concat('%' #{query.keyword}, '%')
             </if>

+ 1 - 1
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsCampServiceImpl.java

@@ -226,7 +226,7 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
                     .getData()
                     .orElseThrow(() -> new GlobalCustomerException(ErrorTypeEnum.USER_NOT_FOUND.getDescription()));
             //下单用户的上级路径
-            String[] pidPaths = user.getPidPath().split(",");
+            String[] pidPaths = user.getPidPath().split(StrUtil.COMMA);
             //翻转上级从最近的开始查询
             Arrays.sort(pidPaths, Collections.reverseOrder());
             KxsCampUser campUser = baseMapper.selectUsersCamp(pidPaths, now);