123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345 |
- package com.caimei365.user.controller;
- import com.caimei365.user.idempotent.Idempotent;
- import com.caimei365.user.idempotent.IpSave;
- import com.caimei365.user.model.ResponseJson;
- import com.caimei365.user.model.dto.*;
- import com.caimei365.user.model.vo.ClubTemporaryVo;
- import com.caimei365.user.service.RegisterService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.http.HttpHeaders;
- import org.springframework.web.bind.annotation.*;
- /**
- * 注册Api
- *
- * @author : Charles
- * @date : 2021/3/10
- */
- @Api(tags = "注册Api")
- @RestController
- @RequiredArgsConstructor
- @RequestMapping("/user/register")
- public class RegisterApi {
- private final RegisterService registerService;
- /**
- * 检查手机号是否可以注册
- * <p>
- * spi旧接口:/seller/club/check
- *
- * @param bindMobile 手机号
- */
- @ApiOperation("检查手机号是否可以注册")
- @ApiImplicitParam(required = true, name = "bindMobile", value = "手机号或邮箱")
- @IpSave(saveName = "检查手机号是否可以注册",saveParams = true)
- @GetMapping("/check")
- public ResponseJson registerCheck(String bindMobile) {
- return registerService.registerCheck(bindMobile);
- }
- /**
- * 检查手机号是否可以注册 -- 组织
- * <p>
- * spi旧接口:/seller/club/check
- *
- * @param bindMobile 手机号
- * @param organizeId 组织Id
- */
- @ApiOperation("检查手机号是否可以注册 -- 组织")
- @ApiImplicitParam(required = true, name = "bindMobile", value = "手机号")
- @IpSave(saveName = "检查手机号是否可以注册 -- 组织",saveParams = true)
- @GetMapping("/organizeCheck")
- public ResponseJson registerMobile(String bindMobile, Integer organizeId) {
- return registerService.registerMobile(bindMobile, organizeId);
- }
- /**
- * 普通机构入驻(注册)
- * <p>
- * spi旧接口:/club/common
- *
- * @param clubRegisterDto ClubRegisterDto{
- * source 注册来源: 0网站 1小程序
- * userName 用户名
- * bindMobile 企业绑定手机号
- * password 密码
- * unionId 微信unionId
- * nickName 微信昵称
- * avatarUrl 微信头像(旧:headimgurl)
- * passWordConfirm 用户确认密码
- * smsCode 短信验证码(旧:activationCode)
- * isAgreed 是否同意勾选同意协议,1是,其他否
- * insideFLag 内外部协销标记 0内部协销,1外部协销
- * }
- * @param headers HttpHeaders
- */
- @ApiOperation("注册普通机构")
- @Idempotent(prefix = "idempotent_club", keys = {"#clubRegisterDto"}, expire = 5)
- @IpSave(saveName = "注册普通机构",saveParams = true)
- @PostMapping("/club")
- public ResponseJson clubRegister(ClubRegisterDto clubRegisterDto, @RequestHeader HttpHeaders headers) {
- return registerService.clubRegister(clubRegisterDto, headers);
- }
- /**
- * 分销人员生成特殊机构(注册)
- * <p>
- * spi旧接口:/club/common
- *
- * @param clubRegisterDto ClubRegisterDto{
- * name 机构名称
- * userName 联系人
- * bindMobile 企业绑定手机号
- * }
- * @param headers HttpHeaders
- */
- @ApiOperation("分销人员生成特殊机构")
- @Idempotent(prefix = "idempotent_distributionClub", keys = {"#distributionClubRegisterDto"}, expire = 5)
- // @IpSave(saveName = "分销人员生成特殊机构",saveParams = true)
- @PostMapping("/distributionClub")
- public ResponseJson distributionClubRegister(ClubRegisterDto clubRegisterDto, @RequestHeader HttpHeaders headers) {
- return registerService.distributionClubRegister(clubRegisterDto, headers);
- }
- /**
- * 组织普通机构 注册校验
- * @param bindMobile
- * @param smsCode
- * @param password
- * @param passWordConfirm
- * @return
- */
- @ApiOperation("组织普通机构")
- @GetMapping("/accountInfo")
- public ResponseJson accountInfo(String bindMobile, String smsCode, String password, String passWordConfirm) {
- return registerService.accountInfo(bindMobile, smsCode, password, passWordConfirm);
- }
- /**
- * 组织普通机构注册
- * @param organizeRegisterDto
- * @param headers
- * @return
- */
- @ApiOperation("组织普通机构注册")
- @PostMapping("/accountRegister")
- public ResponseJson accountRegister(OrganizeRegisterDto organizeRegisterDto, @RequestHeader HttpHeaders headers) {
- return registerService.accountRegister(organizeRegisterDto, headers);
- }
- /**
- * 普通机构升级会员机构
- * <p>
- * spi旧接口:/club/upgrade
- *
- * @param upgradeDto ClubUpgradeDto:{
- * clubId 机构ID
- * userId 用户ID
- * name 机构名称
- * shortName 机构简称
- * contractEmail 邮箱(contractEmail1)
- * contractPhone 固定电话
- * linkMan 联系人(linkMan1)
- * provinceId 省Id
- * cityId 市Id
- * townId 县区Id
- * address 地址
- * shopPhoto 门头照(headpic)
- * businessLicense 营业执照(businessLicenseImage)
- * socialCreditCode 统一社会信用代码(socialCreditCode)
- * firstClubType 一级分类:医美=1和生美=2
- * secondClubType 医美的二级分类:诊所=1、门诊=2、医院=3。 生美没有二级分类
- * department 医美分类下的门诊和医院则需要填写科室
- * medicalPracticeLicense 医美分类必须上传医疗执业许可证(medicalPracticeLicenseImg)
- * mainProduct 主打项目(mainpro)
- * fax 传真
- * profile 公司简介
- * }
- * @param headers HttpHeaders
- */
- @ApiOperation("普通机构升级会员机构")
- @PostMapping("/club/upgrade")
- public ResponseJson clubUpgrade(ClubUpgradeDto upgradeDto, @RequestHeader HttpHeaders headers) {
- return registerService.clubUpgrade(upgradeDto, headers);
- }
- /**
- * 协销拉机构上线(用户点击注册)
- * <p>
- * spi旧接口:/seller/club/register
- *
- * @param online 暂存数据id
- * @param headers HttpHeaders
- */
- @ApiOperation("协销拉机构上线(机构注册)")
- @ApiImplicitParam(required = true, name = "id", value = "暂存机构数据id")
- @Idempotent(prefix = "idempotent_club", keys = {"#userOnlineDto"}, expire = 5)
- @PostMapping("/club/online")
- public ResponseJson<Integer> clubOnline(OnlineDto online, @RequestHeader HttpHeaders headers) {
- Integer id = online.getId();
- if (id == null) {
- return ResponseJson.error("参数异常", null);
- }
- return registerService.clubOnline(id, headers);
- }
- /**
- * 供应商注册
- * <p>
- * spi旧接口:supplier/appletsRegistered
- *
- * @param shopRegisterDto ShopRegisterDto{
- * source 注册来源: 0网站 1小程序
- * name 组织名称
- * shortName 供应商公司简称(sname)
- * bindMobile 企业绑定手机号
- * email 邮箱
- * password 密码
- * linkMan 联系人
- * provinceId 省(provinceID)
- * cityId 市(cityID)
- * townId 所在县区Id(townID)
- * address 地址
- * socialCreditCode 统一社会信用代码
- * businessLicense 营业执照(businessLicenseImage)
- * firstShopType 医疗=1和非医疗=2
- * secondShopType 医疗的二级分类 一类器械=1、二类器械 =2、三类器械=3、其他=4 /// 1和非医疗没有二级分类
- * mainProduct 主打项目(mainpro)
- * mainProductDesc 主打系列商品说明
- * passWordConfirm 用户确认密码
- * shopDesc 公司介绍
- * website 官网网址
- * wxOfficialAccount 微信公众号
- * wxApplets 微信小程序
- * smsCode 短信验证码(旧:activationCode)
- * isAgreed 是否同意勾选同意协议,1是,其他否
- * whichStep 注册步数: PC(0),小程序(1,2,3)
- * }
- * @param headers HttpHeaders
- */
- @ApiOperation("供应商注册")
- @Idempotent(prefix = "idempotent_shop", keys = {"#shopRegisterDto"}, expire = 5)
- @PostMapping("/shop")
- public ResponseJson shopRegister(ShopRegisterDto shopRegisterDto, @RequestHeader HttpHeaders headers) {
- String passWordConfirm = shopRegisterDto.getPassWordConfirm();
- String smsCode = shopRegisterDto.getSmsCode();
- Integer isAgreed = shopRegisterDto.getIsAgreed();
- Integer whichStep = shopRegisterDto.getWhichStep();
- return registerService.shopRegister(shopRegisterDto, passWordConfirm, smsCode, isAgreed, whichStep, headers);
- }
- /**
- * 更新供应商申请信息
- * <p>
- * spi旧接口:/supplier/updateCompanyInfo
- *
- * @param shopApplyDto ShopApplyDto
- * @param headers HttpHeaders
- * @return ShopPo
- */
- @ApiOperation("更新供应商申请信息")
- @PostMapping("/shop/apply")
- public ResponseJson updateShopApplyInfo(ShopApplyDto shopApplyDto, @RequestHeader HttpHeaders headers) {
- return registerService.updateShopApply(shopApplyDto, headers);
- }
- /**
- * 引导升级后改变guideFlag状态
- *
- * @param userId 用户Id(userId)
- */
- @ApiOperation("引导升级后改变guideFlag状态")
- @ApiImplicitParam(required = true, name = "userId", value = "用户Id")
- @GetMapping("/guide")
- public ResponseJson updateGuideFlag(Integer userId) {
- return registerService.updateGuideFlag(userId);
- }
- /**
- * @param onlineDto ClubOnlineDto:{
- * source 注册来源: 0网站 1小程序
- * userId 协销用户ID(userID)
- * name 机构名称
- * shortName 机构简称(shortName)
- * bindMobile 企业绑定手机号
- * contractEmail 邮箱(email)
- * linkMan 联系人(linkMan1)
- * provinceId 省Id
- * cityId 市Id
- * townId 县区Id
- * address 地址
- * shopPhoto 门头照(headpic)
- * businessLicense 营业执照(businessLicenseImage)
- * socialCreditCode 统一社会信用代码(socialCreditCode)
- * firstClubType 一级分类:医美=1和生美=2
- * secondClubType 医美的二级分类:诊所=1、门诊=2、医院=3。 生美没有二级分类
- * department 医美分类下的门诊和医院则需要填写科室
- * medicalPracticeLicense 医美分类必须上传医疗执业许可证(medicalPracticeLicenseImg)
- * mainProduct 主打项目(mainpro)
- * isAgreed 是否同意勾选同意协议,1是,其他否
- * }
- */
- @ApiOperation("协销拉机构上线(资料填写)")
- @PostMapping("/club/temporary")
- public ResponseJson<Integer> clubTemporary(ClubOnlineDto onlineDto) {
- if (null == onlineDto.getUserId()) {
- return ResponseJson.error("参数异常:用户Id不能为空!", null);
- }
- if (StringUtils.isBlank(onlineDto.getBindMobile())) {
- return ResponseJson.error("参数异常:企业绑定手机号不能为空!", null);
- }
- if (StringUtils.isBlank(onlineDto.getLinkMan())) {
- return ResponseJson.error("参数异常:联系人不能为空!", null);
- }
- if (null == onlineDto.getIsAgreed() || 1 != onlineDto.getIsAgreed()) {
- return ResponseJson.error("请勾选同意协议", null);
- }
- return registerService.clubTemporary(onlineDto);
- }
- @ApiOperation("协销拉机构上线(查询暂时数据)")
- @GetMapping("/temporary/data")
- public ResponseJson<ClubTemporaryVo> temporaryData(Integer id) {
- if (id == null) {
- return ResponseJson.error("参数异常", null);
- }
- return registerService.temporaryData(id);
- }
- @ApiOperation("采美豆开通超级会员")
- @GetMapping("/super/beans")
- public ResponseJson superVipUpByBeans(Integer userId,Integer packageId, @RequestHeader HttpHeaders headers) {
- if (null == userId) {
- return ResponseJson.error("参数异常:购买套餐不能为空!", null);
- }
- if (null == packageId) {
- return ResponseJson.error("参数异常:用户id不能为空", null);
- }
- return registerService.superVipUpByBeans(userId, packageId,headers);
- }
- @ApiOperation("在线支付开通超级会员")
- @GetMapping("/super/pay")
- public ResponseJson<Integer> superVipUpByPay(Integer userId,Integer packageId, @RequestHeader HttpHeaders headers) {
- if (null == userId) {
- return ResponseJson.error("参数异常:购买套餐不能为空!", null);
- }
- if (null == packageId) {
- return ResponseJson.error("参数异常:用户id不能为空", null);
- }
- return registerService.superVipUpByPay(userId, packageId,headers);
- }
- }
|