Quellcode durchsuchen

spi的/seller/club/list接口迁移到user,
返回数据增加超级会员信息

zhijiezhao vor 3 Jahren
Ursprung
Commit
104a2e8550

+ 24 - 0
src/main/java/com/caimei365/user/controller/SellerApi.java

@@ -72,4 +72,28 @@ public class SellerApi {
         }
         return sellerService.deleteTemporaryClub(onlineDto.getId());
     }
+
+
+    /**
+     * 协销机构列表
+     * 原spi的 /seller/club/list
+     * @param serviceProviderId 协销Id
+     * @param status            机构状态
+     * @param name              机构名字关键字(搜索用)
+     * @return
+     */
+    @ApiOperation("协销机构列表")
+    @GetMapping("/club/list")
+    public ResponseJson getClubList(@RequestParam("spId") Integer serviceProviderId,
+                                 @RequestParam("status") Integer status,
+                                 @RequestParam("name") String name,
+                                 @RequestParam("userIdentity") Integer userIdentity,
+                                 @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                 @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        if (null == serviceProviderId || null == status) {
+            return ResponseJson.error("参数不全!");
+        }
+        return sellerService.getClubList(serviceProviderId, status, name, userIdentity, pageNum, pageSize);
+    }
+
 }

+ 5 - 0
src/main/java/com/caimei365/user/mapper/SellerMapper.java

@@ -2,6 +2,7 @@ package com.caimei365.user.mapper;
 
 import com.caimei365.user.model.dto.ClubTemporaryDto;
 import com.caimei365.user.model.vo.ClubTemporaryVo;
+import com.caimei365.user.model.vo.ClubVo;
 import com.caimei365.user.model.vo.UserLoginVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -55,4 +56,8 @@ public interface SellerMapper {
      * @param id
      */
     void deleteTemporaryClub(Integer id);
+
+    List<ClubVo> findClubs(@Param("serviceProviderId") Integer serviceProviderId, @Param("status") Integer status, @Param("name") String name, @Param("userIdentity") Integer userIdentity);
+
+    Integer findOrderNum(ClubVo club);
 }

+ 2 - 5
src/main/java/com/caimei365/user/model/dto/SuperVipDto.java

@@ -20,9 +20,6 @@ public class SuperVipDto implements Serializable {
 
     @ApiModelProperty("用户Id")
     private Integer userId;
-
-    @ApiModelProperty("会员标记 0不是会员,1是会员")
-    private Integer vipFlag;
     /**
      * 购买套餐id,1套餐12个月,2套餐3个月,3套餐1个月
      */
@@ -32,6 +29,6 @@ public class SuperVipDto implements Serializable {
     @ApiModelProperty("套餐到期时间")
     private Date endTime;
 
-    @ApiModelProperty("过期套餐标记,0过期,1未过期")
-    private Integer endFlag;
+    @ApiModelProperty("过期套餐标记,-1不是会员,0过期,1未过期")
+    private Integer vipFlag;
 }

+ 26 - 0
src/main/java/com/caimei365/user/model/vo/ClubVo.java

@@ -11,6 +11,32 @@ import java.io.Serializable;
  */
 @Data
 public class ClubVo implements Serializable {
+
+    /**
+     * svip标记,1是,0否
+     */
+    private Integer vipFlag;
+    /**
+     * 手机验证码
+     */
+    private String mobileCode;
+
+    /**
+     * 新的手机验证码
+     */
+    private String newMobileCode;
+
+    /**
+     * 用户身份 1、协销 2、会员机构 3、供应商 4.普通机构
+     */
+    private Integer userIdentity;
+
+    /**
+     * 协销未查看机构自主订单
+     */
+    private Integer orderNum;
+
+
     /**
      * 机构ID
      */

+ 11 - 0
src/main/java/com/caimei365/user/service/SellerService.java

@@ -3,6 +3,7 @@ package com.caimei365.user.service;
 import com.caimei365.user.model.ResponseJson;
 import com.caimei365.user.model.dto.ClubTemporaryDto;
 import com.caimei365.user.model.vo.ClubTemporaryVo;
+import com.caimei365.user.model.vo.ClubVo;
 import com.caimei365.user.model.vo.UserLoginVo;
 import com.github.pagehelper.PageInfo;
 
@@ -13,6 +14,16 @@ import com.github.pagehelper.PageInfo;
  * @date : 2021/3/24
  */
 public interface SellerService {
+
+    /**
+     * 协销机构列表
+     *
+     * @param serviceProviderId 协销Id
+     * @param status            机构状态
+     * @param name              机构名字关键字(搜索用)
+     * @return
+     */
+    ResponseJson<PageInfo<ClubVo>> getClubList(Integer serviceProviderId, Integer status, String name, Integer userIdentity, Integer pageNum, Integer pageSize);
     /**
      * 协销登录(手机号,密码)
      *

+ 3 - 3
src/main/java/com/caimei365/user/service/impl/BaseServiceImpl.java

@@ -478,14 +478,14 @@ public class BaseServiceImpl implements BaseService {
         SuperVipPo superVip = vipMapper.findSuperVip(userId);
         SuperVipDto superVipDto = new SuperVipDto();
         if (superVip == null) {
-            superVipDto.setEndFlag("0");
+            superVipDto.setVipFlag(0);
         }
         SuperVipPo endTime = vipMapper.findEndTime(userId);
         if (endTime == null) {
-            superVipDto.setEndFlag("-1");
+            superVipDto.setVipFlag(-1);
             superVipDto.setEndTime(superVip.getEndTime());
         }
-        superVipDto.setEndFlag("1");
+        superVipDto.setVipFlag(1);
         superVipDto.setEndTime(endTime.getEndTime());
         Map<String, Object> map = new HashMap(3);
         map.put("vip", superVipDto);

+ 2 - 3
src/main/java/com/caimei365/user/service/impl/ClubServiceImpl.java

@@ -258,14 +258,13 @@ public class ClubServiceImpl implements ClubService {
         if (vip == null) {
             vipDto.setVipFlag(0);
         }else {
-            vipDto.setVipFlag(1);
             vipDto.setEndTime(vip.getEndTime());
             SuperVipPo endTime = vipMapper.findEndTime(userId);
             //不为空则有效期内
             if(endTime!=null){
-                vipDto.setEndFlag(1);
+                vipDto.setVipFlag(1);
             }else {
-                vipDto.setEndFlag(0);
+                vipDto.setVipFlag(-1);
             }
         }
         map.put("vip", vipDto);

+ 37 - 0
src/main/java/com/caimei365/user/service/impl/SellerServiceImpl.java

@@ -3,9 +3,12 @@ package com.caimei365.user.service.impl;
 import com.caimei365.user.components.RedisService;
 import com.caimei365.user.components.WeChatService;
 import com.caimei365.user.mapper.SellerMapper;
+import com.caimei365.user.mapper.SuperVipMapper;
 import com.caimei365.user.model.ResponseJson;
 import com.caimei365.user.model.dto.ClubTemporaryDto;
+import com.caimei365.user.model.po.SuperVipPo;
 import com.caimei365.user.model.vo.ClubTemporaryVo;
+import com.caimei365.user.model.vo.ClubVo;
 import com.caimei365.user.model.vo.UserLoginVo;
 import com.caimei365.user.service.SellerService;
 import com.caimei365.user.utils.JwtUtil;
@@ -36,7 +39,41 @@ public class SellerServiceImpl implements SellerService {
     private WeChatService weChatService;
     @Resource
     private SellerMapper sellerMapper;
+    @Resource
+    private SuperVipMapper vipMapper;
 
+    /**
+     * 协销机构列表
+     *
+     * @param serviceProviderId 协销Id
+     * @param status            机构状态:
+     *                          1:待审查资料, 2:电话预约, 3:已预约
+     *                          20:待确认, 21:待拜访, 30:待员工推荐
+     *                          90:已上线, 91:已冻结, 92:审查资料未通过,待补充资料, 40:已完成第一次采购
+     *                          66:协销下所有上线的机构----虚拟状态
+     * @param name              机构名字关键字(搜索用)
+     * @return
+     */
+    @Override
+    public ResponseJson<PageInfo<ClubVo>> getClubList(Integer serviceProviderId, Integer status, String name, Integer userIdentity, Integer pageNum, Integer pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        // 获取协销用户下的机构列表
+        List<ClubVo> clubList = sellerMapper.findClubs(serviceProviderId, status, name, userIdentity);
+        for (ClubVo club : clubList) {
+            //未查看订单数量
+            Integer orderNum = sellerMapper.findOrderNum(club);
+            club.setOrderNum(orderNum);
+            //查是不是vip
+            SuperVipPo vip = vipMapper.findEndTime(club.getUserId());
+            if (vip != null) {
+                club.setVipFlag(1);
+            }else {
+                club.setVipFlag(-1);
+            }
+        }
+        PageInfo<ClubVo> pageData = new PageInfo<>(clubList);
+        return ResponseJson.success(pageData);
+    }
 
     /**
      * 协销登录(手机号,密码)

+ 32 - 0
src/main/resources/mapper/SellerMapper.xml

@@ -87,4 +87,36 @@
     <delete id="deleteTemporaryClub">
         DELETE FROM `club_temporary` WHERE `id` = #{id}
     </delete>
+
+    <select id="findOrderNum" resultType="integer">
+        SELECT
+        COUNT(*)
+        FROM
+        cm_order
+        WHERE
+        userID = #{userID}
+        AND orderSubmitType IN (0, 1, 2)
+        <if test="lastCheckOrderDate != null">
+            AND orderTime > #{lastCheckOrderDate}
+        </if>
+    </select>
+
+    <select id="findClubs" resultType="com.caimei365.user.model.vo.ClubVo">
+        select c.*,u.userIdentity from club c
+        left join user u on c.userID = u.userID
+        where c.spID = #{serviceProviderId}
+        <if test="status != null and status != 66">
+            AND c.status = #{status}
+        </if>
+        <if test="status == 66">
+            AND c.status IN (1,90,92,93)
+        </if>
+        <if test="name != null and name != ''">
+            AND (c.name LIKE CONCAT('%',#{name},'%') OR c.linkMan LIKE CONCAT('%',#{name},'%'))
+        </if>
+        <if test="userIdentity != null">
+            AND u.userIdentity = #{userIdentity}
+        </if>
+        order by c.clubID desc
+    </select>
 </mapper>

+ 1 - 1
src/main/resources/mapper/SuperVipMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.caimei365.user.mapper.SuperVipMapper">
 
     <select id="findSuperVip" resultType="com.caimei365.user.model.po.SuperVipPo">
-        select beginTime, endTime, delFlag, updateTime
+        select beginTime, endTime, updateTime
         from cm_svip_user
         where userId = #{#userId}
     </select>