Selaa lähdekoodia

待注册机构列表

plf 4 vuotta sitten
vanhempi
commit
35ec6c122e

+ 54 - 3
src/main/java/com/caimei365/user/controller/SellerApi.java

@@ -1,10 +1,18 @@
 package com.caimei365.user.controller;
 
+import com.caimei365.user.model.ResponseJson;
+import com.caimei365.user.model.dto.ClubTemporaryDto;
+import com.caimei365.user.model.dto.OnlineDto;
+import com.caimei365.user.model.vo.ClubTemporaryVo;
 import com.caimei365.user.service.SellerService;
+import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * Description
@@ -12,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @author : Charles
  * @date : 2021/3/24
  */
-@Api(tags="协销用户API")
+@Api(tags = "协销用户API")
 @RestController
 @RequiredArgsConstructor
 @RequestMapping("/user/seller")
@@ -20,5 +28,48 @@ public class SellerApi {
 
     private final SellerService sellerService;
 
+    /**
+     * 待注册机构列表
+     */
+    @ApiOperation("待注册机构列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", required = true, value = "协销userId"),
+            @ApiImplicitParam(name = "searchName", required = false, value = "搜索名称"),
+            @ApiImplicitParam(name = "pageNum", required = true, value = "第几页"),
+            @ApiImplicitParam(name = "pageSize", required = true, value = "一页多少条")
+    })
 
+    @GetMapping("/temporary/club")
+    public ResponseJson<PageInfo<ClubTemporaryVo>> temporaryClub(Integer userId, String searchName,
+                                                                 @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+                                                                 @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        if (userId == null) {
+            return ResponseJson.error("参数异常", null);
+        }
+        return sellerService.temporaryClub(userId, searchName, pageNum, pageSize);
+    }
+
+    /**
+     * 修改待注册机构资料
+     */
+    @ApiOperation("修改待注册机构资料")
+    @PostMapping("/modify/temporary/club")
+    public ResponseJson<String> modifyTemporaryClub(ClubTemporaryDto temporaryDto) {
+        if (temporaryDto.getId() == null || StringUtils.isBlank(temporaryDto.getBindMobile())) {
+            return ResponseJson.error("参数异常", null);
+        }
+        return sellerService.modifyTemporaryClub(temporaryDto);
+    }
+
+    /**
+     * 删除待注册机构资料
+     */
+    @ApiOperation("删除待注册机构资料")
+    @PostMapping("/delete/temporary/club")
+    public ResponseJson<String> deleteTemporaryClub(OnlineDto onlineDto) {
+        if (onlineDto.getId() == null) {
+            return ResponseJson.error("参数异常", null);
+        }
+        return sellerService.deleteTemporaryClub(onlineDto.getId());
+    }
 }

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

@@ -1,7 +1,12 @@
 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.UserLoginVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * Description
@@ -13,6 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 public interface SellerMapper {
     /**
      * 根据手机号获取协销
+     *
      * @param mobile 手机号
      * @return UserLoginVo
      */
@@ -20,9 +26,33 @@ public interface SellerMapper {
 
     /**
      * 更新协销
+     *
      * @param userId
      * @param openId
      * @param unionId
      */
     void updateServiceProviderByUserId(Integer userId, String openId, String unionId);
+
+    /**
+     * 查询待注册机构数据
+     *
+     * @param userId
+     * @param searchName
+     * @return
+     */
+    List<ClubTemporaryVo> findClubTemporary(@Param("userId") Integer userId, @Param("searchName") String searchName);
+
+    /**
+     * 修改待注册机构数据
+     *
+     * @param temporaryDto
+     */
+    void updateClubTemporary(ClubTemporaryDto temporaryDto);
+
+    /**
+     * 删除待注册机构数据
+     *
+     * @param id
+     */
+    void deleteTemporaryClub(Integer id);
 }

+ 115 - 0
src/main/java/com/caimei365/user/model/dto/ClubTemporaryDto.java

@@ -0,0 +1,115 @@
+package com.caimei365.user.model.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+/**
+ * Description
+ *
+ * @author : plf
+ * @date : 2021/5/31
+ */
+@Data
+public class ClubTemporaryDto implements Serializable {
+    @NotNull
+    @ApiModelProperty("暂存数据id")
+    private Integer id;
+    /**
+     * 机构名称
+     */
+    @ApiModelProperty("机构名称")
+    private String name;
+    /**
+     * 机构简称
+     */
+    @ApiModelProperty("机构简称")
+    private String shortName;
+    /**
+     * 企业绑定手机号
+     */
+    @ApiModelProperty("企业绑定手机号")
+    private String bindMobile;
+    /**
+     * 联系邮箱
+     */
+    @ApiModelProperty("联系邮箱")
+    private String contractEmail;
+    /**
+     * 联系人
+     */
+    @ApiModelProperty("联系人")
+    private String linkMan;
+    /**
+     * 省
+     */
+    @ApiModelProperty("省")
+    private Integer provinceId;
+    /**
+     * 市
+     */
+    @ApiModelProperty("市")
+    private Integer cityId;
+    /**
+     * 地址Id
+     */
+    @ApiModelProperty("地址Id")
+    private Integer townId;
+    /**
+     * 地址
+     */
+    @ApiModelProperty("地址")
+    private String address;
+    /**
+     * 门头照
+     */
+    @ApiModelProperty("门头照")
+    private String shopPhoto;
+    /**
+     * 营业执照(businessLicenseImage)
+     */
+    @ApiModelProperty("营业执照(businessLicenseImage)")
+    private String businessLicense;
+    /**
+     * 统一社会信用代码
+     */
+    @ApiModelProperty("统一社会信用代码")
+    private String socialCreditCode;
+    /**
+     * 一级分类为医美=1和生美=2
+     */
+    @ApiModelProperty("一级分类为医美=1和生美=2")
+    private Integer firstClubType;
+    /**
+     * 医美的二级分类为诊所=1、门诊=2、医院=3。  生美没有二级分类
+     */
+    @ApiModelProperty("医美的二级分类为诊所=1、门诊=2、医院=3。  生美没有二级分类")
+    private Integer secondClubType;
+    /**
+     * 若为医美分类下的门诊和医院则需要填写科室。
+     */
+    @ApiModelProperty("若为医美分类下的门诊和医院则需要填写科室")
+    private String department;
+    /**
+     * 医美分类必须上传医疗执业许可证(medicalPracticeLicenseImg)
+     */
+    @ApiModelProperty("医美分类必须上传医疗执业许可证(medicalPracticeLicenseImg)")
+    private String medicalPracticeLicense;
+    /**
+     * 主打项目(mainpro)
+     */
+    @ApiModelProperty("主打项目(mainpro)")
+    private String mainProduct;
+    /**
+     * 是否同意勾选同意协议,1是,其他否
+     */
+    @ApiModelProperty("是否同意勾选同意协议,1是,其他否")
+    private Integer isAgreed;
+    /**
+     * 省市区地址
+     */
+    @ApiModelProperty("省市区地址")
+    private String provincialAddress;
+}

+ 1 - 0
src/main/java/com/caimei365/user/model/vo/ClubTemporaryVo.java

@@ -12,6 +12,7 @@ import java.io.Serializable;
  */
 @Data
 public class ClubTemporaryVo implements Serializable {
+    private Integer id;
     /**
      * 协销用户Id
      */

+ 33 - 3
src/main/java/com/caimei365/user/service/SellerService.java

@@ -1,7 +1,10 @@
 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.UserLoginVo;
+import com.github.pagehelper.PageInfo;
 
 /**
  * Description
@@ -13,10 +16,37 @@ public interface SellerService {
     /**
      * 协销登录(手机号,密码)
      *
-     * @param mobile    手机号
-     * @param password  密码
-     * @param unionId   微信unionId
+     * @param mobile   手机号
+     * @param password 密码
+     * @param unionId  微信unionId
      * @return UserLoginVo
      */
     ResponseJson<UserLoginVo> passwordLogin(String mobile, String password, String unionId);
+
+    /**
+     * 待注册机构列表
+     *
+     * @param userId     协销用户id
+     * @param searchName 搜索名称
+     * @param pageNum    第几页
+     * @param pageSize   一页多少条
+     * @return ClubTemporaryVo
+     */
+    ResponseJson<PageInfo<ClubTemporaryVo>> temporaryClub(Integer userId, String searchName, Integer pageNum, Integer pageSize);
+
+    /**
+     * 修改待注册机构资料
+     *
+     * @param temporaryDto
+     * @return
+     */
+    ResponseJson<String> modifyTemporaryClub(ClubTemporaryDto temporaryDto);
+
+    /**
+     * 删除待注册机构资料
+     *
+     * @param id 暂存数据id
+     * @return
+     */
+    ResponseJson<String> deleteTemporaryClub(Integer id);
 }

+ 32 - 1
src/main/java/com/caimei365/user/service/impl/SellerServiceImpl.java

@@ -4,15 +4,20 @@ import com.caimei365.user.components.RedisService;
 import com.caimei365.user.components.WeChatService;
 import com.caimei365.user.mapper.SellerMapper;
 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.UserLoginVo;
 import com.caimei365.user.service.SellerService;
 import com.caimei365.user.utils.JwtUtil;
 import com.caimei365.user.utils.Md5Util;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -51,7 +56,7 @@ public class SellerServiceImpl implements SellerService {
         }
         UserLoginVo seller = sellerMapper.getLoginSellerByMobile(mobile);
         if (null == seller || !Md5Util.md5(password).equals(seller.getPassword())) {
-            return ResponseJson.error("密码和账户名不匹配" ,null);
+            return ResponseJson.error("密码和账户名不匹配", null);
         }
         // 生成token
         String token = JwtUtil.createToken(seller.getUserId());
@@ -65,4 +70,30 @@ public class SellerServiceImpl implements SellerService {
         return ResponseJson.success(seller);
     }
 
+    /**
+     * 待注册机构列表
+     *
+     * @param userId 协销用户id
+     * @return ClubTemporaryVo
+     */
+    @Override
+    public ResponseJson<PageInfo<ClubTemporaryVo>> temporaryClub(Integer userId, String searchName, Integer pageNum, Integer pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<ClubTemporaryVo> clubTemporaryList = sellerMapper.findClubTemporary(userId, searchName);
+        PageInfo<ClubTemporaryVo> pageInfo = new PageInfo<>(clubTemporaryList);
+        return ResponseJson.success(pageInfo);
+    }
+
+    @Override
+    public ResponseJson<String> modifyTemporaryClub(ClubTemporaryDto temporaryDto) {
+        sellerMapper.updateClubTemporary(temporaryDto);
+        return ResponseJson.success("");
+    }
+
+    @Override
+    public ResponseJson<String> deleteTemporaryClub(Integer id) {
+        sellerMapper.deleteTemporaryClub(id);
+        return ResponseJson.success("");
+    }
+
 }

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

@@ -25,4 +25,64 @@
         set openid = #{openId}, unionId = #{unionId}
         where userID = #{userId}
     </update>
+
+    <select id="findClubTemporary" resultType="com.caimei365.user.model.vo.ClubTemporaryVo">
+        SELECT
+          `id`,
+          `userId`,
+          `name`,
+          `shortName`,
+          `bindMobile`,
+          `contractEmail`,
+          `linkMan`,
+          `provinceId`,
+          `cityId`,
+          `townId`,
+          `address`,
+          `shopPhoto`,
+          `businessLicense`,
+          `socialCreditCode`,
+          `firstClubType`,
+          `secondClubType`,
+          `department`,
+          `medicalPracticeLicense`,
+          `mainProduct`,
+          `isAgreed`
+        FROM
+          club_temporary
+        WHERE
+          userId = #{userId}
+          AND (name LIKE CONCAT('%',#{searchName},'%') OR linkMan LIKE CONCAT('%',#{searchName},'%'))
+        ORDER BY
+          id DESC
+    </select>
+
+    <update id="updateClubTemporary">
+        UPDATE
+          `club_temporary`
+        SET
+          `name` = #{name},
+          `shortName` = #{shortName},
+          `bindMobile` = #{bindMobile},
+          `contractEmail` = #{contractEmail},
+          `linkMan` = #{linkMan},
+          `provinceId` = #{provinceId},
+          `cityId` = #{cityId},
+          `townId` = #{townId},
+          `address` = #{address},
+          `shopPhoto` = #{shopPhoto},
+          `businessLicense` = #{businessLicense},
+          `socialCreditCode` = #{socialCreditCode},
+          `firstClubType` = #{firstClubType},
+          `secondClubType` = #{secondClubType},
+          `department` = #{department},
+          `medicalPracticeLicense` = #{medicalPracticeLicense},
+          `mainProduct` = #{mainProduct},
+          `isAgreed` = #{isAgreed}
+        WHERE `id` = #{id}
+    </update>
+
+    <delete id="deleteTemporaryClub">
+        DELETE FROM `club_temporary` WHERE `id` = #{id}
+    </delete>
 </mapper>