博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
App的登录注册相关接口
阅读量:4683 次
发布时间:2019-06-09

本文共 17175 字,大约阅读时间需要 57 分钟。

我用的是MybatisPuls package com.zldev.controller.api.seller; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.UUID; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import com.alibaba.fastjson.JSON; import com.aliyuncs.exceptions.ClientException; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zldev.entity.RegionEntity; import com.zldev.entity.SellEntity; import com.zldev.entity.SmsCodeEntity; import com.zldev.framework.BusinessRuntimeException; import com.zldev.framework.Constant; import com.zldev.framework.common.NoAuthCheck; import com.zldev.framework.common.PageUtils; import com.zldev.framework.common.R; import com.zldev.framework.util.SmsUtils; import com.zldev.framework.util.SubjectContextHolder; import com.zldev.framework.util.VerifyCodeUtil; import com.zldev.framework.validata.Assert; import com.zldev.framework.wxpay.util.MD5; import com.zldev.framework.wxpay.util.MD5Util; import com.zldev.service.RegionService; import com.zldev.service.SellService; import com.zldev.service.SmsCodeService; /**  * 商家表  *  * @author fs  * @email startsuper  * @date 2019-01-18 15:45:24  */ @RestController @RequestMapping("/api/seller/sell") public class SellController {
@Autowired private SellService sellService; @Autowired private SmsCodeService smsCodeService; @Autowired private RegionService regionService; /** * 绑定微信并且注册 * @throws ClientException */ @RequestMapping("/registerBindWechat") @NoAuthCheck @ResponseBody public R registerBindWechat( String phone,String smsCode,String openId,String imgHead ,String nickName) throws ClientException {
Assert.isBlank(phone, "手机号码不能为空"); Assert.isBlank(smsCode, "验证码不能为空"); Assert.isBlank(openId, "openId不能为空"); Assert.isNull(smsCodeService.validateSmsCode(smsCode, phone),"验证码不正确或已失效"); SellEntity condition=new SellEntity(); condition.setSPhone(phone); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); String uuid = UUID.randomUUID().toString().replaceAll("-", ""); if(reponseData==null) {
condition.setSWxAppid(openId); entityWrapper=new EntityWrapper
(condition); reponseData=sellService.selectOne(entityWrapper); if(reponseData==null) {
String pwd="xndx123"; PageUtils papgeUtil=sellService.queryPage(new HashMap<>()); String cqNumber="1"+ String.format("%06d", papgeUtil!=null?papgeUtil.getTotalCount():1); reponseData=new SellEntity(); reponseData.setSPhone(phone); reponseData.setSFlag(Constant.VISIABLE); reponseData.setSPassword(MD5.MD5Encode(pwd)); reponseData.setToken(uuid); reponseData.setSWxAppid(openId); reponseData.setSHead(imgHead); reponseData.setSNickname(nickName!=null?nickName:"商户"+cqNumber); sellService.insert(reponseData); //发送短信 Map
paramMap=new HashMap<>(); paramMap.put("phone",VerifyCodeUtil.mobileEncrypt(phone)); paramMap.put("password", pwd); SmsUtils.sendSms(phone, JSON.toJSONString(paramMap),SmsUtils.registerTemplateId); }else {
return R.error("您的微信已绑定已绑定其他商户账号,不能重复绑定多个商户,如有疑问请联系客服!"); } }else {
if(StringUtils.isNotBlank(reponseData.getSWxAppid())&&!openId.equals(reponseData.getSWxAppid())) {
Map
resultMap=new HashMap<>(); SmsCodeEntity smsCondition=new SmsCodeEntity(); smsCondition.setSmsPhone(phone); EntityWrapper
smsEntityWrapper=new EntityWrapper
(smsCondition); SmsCodeEntity smsReponseData=smsCodeService.selectOne(smsEntityWrapper); String code=VerifyCodeUtil.getPhoneCode(); if(reponseData!=null) { smsReponseData.setSmsCode(code); smsReponseData.setSmsTime(new Date()); smsReponseData.setSmsId(null); smsReponseData.setSmsFlag(null); smsCodeService.update(smsReponseData, smsEntityWrapper); } resultMap.put("phone", phone); resultMap.put("smsCode", code); return R.error("1001","该手机号已绑定过其他微信账号").put("data",resultMap); }else if(StringUtils.isBlank(reponseData.getSWxAppid())) { reponseData.setSWxAppid(openId); reponseData.setSHead(imgHead); reponseData.setSNickname(nickName!=null?nickName:reponseData.getSNickname()); sellService.update(reponseData, entityWrapper); } } return R.ok(); } /** * 绑定微信更换 * @throws ClientException */ @RequestMapping("/modiftyBindWechat") @NoAuthCheck @ResponseBody public R modiftyBindWechat(String phone,String smsCode,String openId,String imgHead ,String nickName) throws ClientException { Assert.isBlank(phone, "手机号码不能为空"); Assert.isBlank(smsCode, "验证码不能为空"); Assert.isBlank(openId, "openId不能为空"); Assert.isNull(smsCodeService.validateSmsCode(smsCode, phone),"验证码不正确或已失效"); SellEntity condition=new SellEntity(); condition.setSPhone(phone); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); if(reponseData!=null) { reponseData.setSWxAppid(openId); reponseData.setSHead(imgHead); reponseData.setSNickname(nickName!=null?nickName:reponseData.getSNickname()); sellService.update(reponseData, entityWrapper); }else { return R.error("商户账号不存在!"); } return R.ok(); } /** * 注册 */ @RequestMapping("/register") @NoAuthCheck @ResponseBody public R register( String phone,String smsCode,String passwd) { Assert.isBlank(phone, "手机号码不能为空"); Assert.isBlank(smsCode, "验证码不能为空"); Assert.isBlank(passwd, "密码不能为空"); if(!VerifyCodeUtil.isLetterDigit(passwd)) { throw new BusinessRuntimeException("密码格式不正确,应包含大小写字母及数字且在6-18位"); } Assert.isNull(smsCodeService.validateSmsCode(smsCode, phone),"验证码不正确或已失效"); SellEntity condition=new SellEntity(); condition.setSPhone(phone); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); String uuid = UUID.randomUUID().toString().replaceAll("-", ""); Map
resMap=new HashMap<>(); if(reponseData==null) { PageUtils papgeUtil=sellService.queryPage(new HashMap<>()); String cqNumber="1"+ String.format("%06d", papgeUtil!=null?papgeUtil.getTotalCount():1); reponseData=new SellEntity(); reponseData.setSPhone(phone); reponseData.setSFlag(Constant.VISIABLE); reponseData.setSPassword(MD5.MD5Encode(passwd)); reponseData.setToken(uuid); reponseData.setSNickname("商户"+cqNumber); sellService.insert(reponseData); }else { return R.error("您的手机号已注册使用,无法重复注册,如有疑问请联系客服!"); } return R.ok(resMap); } /** *找回密码 */ @RequestMapping("/findPwd") @NoAuthCheck @ResponseBody public R findPwd( String phone,String smsCode,String passwd) { Assert.isBlank(phone, "手机号码不能为空"); Assert.isBlank(smsCode, "验证码不能为空"); Assert.isBlank(passwd, "密码不能为空"); if(!VerifyCodeUtil.isLetterDigit(passwd)) { throw new BusinessRuntimeException("密码格式不正确,应包含大小写字母及数字且在6-18位"); } Assert.isNull(smsCodeService.validateSmsCode(smsCode, phone),"验证码不正确或已失效"); SellEntity condition=new SellEntity(); condition.setSPhone(phone); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); String uuid = UUID.randomUUID().toString().replaceAll("-", ""); Map
resMap=new HashMap<>(); if(reponseData!=null) { SellEntity changeSell=new SellEntity(); changeSell.setSPassword(MD5.MD5Encode(passwd)); //changeSell.setToken(" "); sellService.update(changeSell, entityWrapper); }else { return R.error("您的手机号未注册使用,无法找回密码!"); } return R.ok(resMap); } /** *修改手机号 */ @RequestMapping("/modifyPhone") @ResponseBody public R modifyPhone( String phone,String smsCode) { Assert.isBlank(phone, "手机号码不能为空"); Assert.isBlank(smsCode, "验证码不能为空"); Assert.isNull(smsCodeService.validateSmsCode(smsCode, phone),"验证码不正确或已失效"); if(phone.equals(SubjectContextHolder.getSubject().getPhone())) { throw new BusinessRuntimeException("新手机号和当前使用手机号相同,不能修改"); } SellEntity condition=new SellEntity(); condition.setSPhone(phone); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); if(reponseData==null) { condition=new SellEntity(); condition.setToken(SubjectContextHolder.getSubject().getToken()); entityWrapper=new EntityWrapper
(condition); reponseData=sellService.selectOne(entityWrapper); if(reponseData!=null) { SellEntity changeSell=new SellEntity(); changeSell.setSPhone(phone); sellService.update(changeSell, entityWrapper); } }else { return R.error("该手机号已被注册使用,不能修改!"); } return R.ok(); } /** *查询电话号码是否注册 */ @RequestMapping("/queryPhone") @NoAuthCheck @ResponseBody public R queryPhone( String phone) { Assert.isBlank(phone, "手机号码不能为空"); SellEntity condition=new SellEntity(); condition.setSPhone(phone); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); Map
resMap=new HashMap<>(); if(reponseData!=null) { resMap.put("state", "1"); }else { resMap.put("state", "0"); } return R.ok(resMap); } /** *登录 */ @RequestMapping("/login") @NoAuthCheck @ResponseBody public R login( String phone,String passwd) { Assert.isBlank(phone, "手机号码不能为空"); Assert.isBlank(passwd, "密码不能为空"); SellEntity condition=new SellEntity(); condition.setSPhone(phone); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); Map
resMap=new HashMap<>(); if(reponseData!=null) { if(!reponseData.getSForbidden().equals(Constant.HIDE)) { String myPwd=MD5.MD5Encode(passwd); if(myPwd.equals(reponseData.getSPassword())) { String uuid = UUID.randomUUID().toString().replaceAll("-", ""); SellEntity changeSell=new SellEntity(); changeSell.setToken(uuid); sellService.update(changeSell, entityWrapper); resMap.put("sshkey",uuid); }else { return R.error("您的密码不正确,请重新输入!如忘记密码,请找回密码"); } }else { return R.error("1001","您的账号已被禁用,如有疑问请联系客服"); } }else { return R.error("您的手机号尚未注册,请先注册!"); } return R.ok(resMap); } /** *短信登录 */ @RequestMapping("/smsLogin") @NoAuthCheck @ResponseBody public R smsLogin( String phone,String smsCode) { Assert.isBlank(phone, "手机号码不能为空"); Assert.isBlank(smsCode, "验证码不能为空"); Assert.isNull(smsCodeService.validateSmsCode(smsCode, phone),"验证码不正确或已失效"); SellEntity condition=new SellEntity(); condition.setSPhone(phone); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); Map
resMap=new HashMap<>(); if(reponseData!=null) { if(!reponseData.getSForbidden().equals(Constant.HIDE)) { String uuid = UUID.randomUUID().toString().replaceAll("-", ""); SellEntity changeSell=new SellEntity(); changeSell.setToken(uuid); sellService.update(changeSell, entityWrapper); resMap.put("sshkey",uuid); }else { return R.error("1001","您的账号已被禁用,如有疑问请联系客服"); } }else { return R.error("您的手机号尚未注册,请先注册!"); } return R.ok(resMap); } /** *退出登录 */ @RequestMapping("/loginOut") @ResponseBody public R LoginOut() { SellEntity condition=new SellEntity(); condition.setToken(SubjectContextHolder.getSubject().getToken()); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); Map
resMap=new HashMap<>(); if(reponseData!=null) { SellEntity changeSell=new SellEntity(); changeSell.setToken(" "); sellService.update(changeSell, entityWrapper); } return R.ok(resMap); } /** *微信账号登录 */ @RequestMapping("/findSellByChat") @NoAuthCheck @ResponseBody public R findSellByChat( String openId) { Assert.isBlank(openId, "openId不能为空"); SellEntity condition=new SellEntity(); condition.setSWxAppid(openId); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); Map
resMap=new HashMap<>(); if(reponseData!=null) { if(!reponseData.getSForbidden().equals(Constant.HIDE)) { String uuid = UUID.randomUUID().toString().replaceAll("-", ""); SellEntity changeSell=new SellEntity(); changeSell.setToken(uuid); sellService.update(changeSell, entityWrapper); resMap.put("bindYn","1"); resMap.put("sshkey",uuid); }else { return R.error("1001","您的账号已被禁用,如有疑问请联系客服"); } }else { resMap.put("bindYn","0"); } return R.ok(resMap); } /** *商家详情查询 */ @RequestMapping("/sellDetail") @ResponseBody public R sellDetail() { SellEntity condition=new SellEntity(); condition.setToken(SubjectContextHolder.getSubject().getToken()); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); if(reponseData==null) { return R.error("not find data"); }else { reponseData.setSPassword(null); reponseData.setToken(null); RegionEntity regionEntity=null; RegionEntity condt=new RegionEntity(); reponseData.setSPhone(VerifyCodeUtil.mobileEncrypt(reponseData.getSPhone())); if(StringUtils.isNotBlank(reponseData.getSProvinceCode())) { regionEntity=regionService.selectById(reponseData.getSProvinceCode()); reponseData.setsProvinceName(regionEntity!=null?regionEntity.getName():""); } if(StringUtils.isNotBlank(reponseData.getSCityCode())) { regionEntity=regionService.selectById(reponseData.getSCityCode()); reponseData.setsCityName(regionEntity!=null?regionEntity.getName():""); } if(StringUtils.isNotBlank(reponseData.getSAreaCode())) { regionEntity=regionService.selectById(reponseData.getSAreaCode()); reponseData.setsAreaName(regionEntity!=null?regionEntity.getName():""); } } return R.ok(reponseData); } /** *商家实名认证 */ @RequestMapping("/authedSeller") @ResponseBody public R authedSeller(SellEntity sellDto) { Assert.isNull(sellDto.getSType(), "店铺类型不能为空"); Assert.isNull(sellDto.getSRealName(), "真实姓名不能为空"); Assert.isNull(sellDto.getSIdCard(), "身份证号不能为空"); Assert.isNull(sellDto.getSPic1(), "身份证正面照片不能为空"); Assert.isNull(sellDto.getSPic2(), "身份证反面照片不能为空"); Assert.isNull(sellDto.getSPic3(), "手持身份证照片不能为空"); Assert.isNull(sellDto.getSPic4(), "土地证/林地证照片不能为空"); Assert.isNull(sellDto.getSPic5(), "土地承包合同照片不能为空"); Assert.isNull(sellDto.getSPic6(), "合作社资质照片不能为空"); if(!VerifyCodeUtil.IDCardValidate(sellDto.getSIdCard())) { throw new BusinessRuntimeException("证件号不正确"); } SellEntity condition=new SellEntity(); condition.setToken(SubjectContextHolder.getSubject().getToken()); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); if(reponseData==null) { return R.error("not find data"); }else { SellEntity changeSell=new SellEntity(); changeSell.setSType(sellDto.getSType()); changeSell.setSRealName(sellDto.getSRealName()); changeSell.setSIdCard(sellDto.getSIdCard()); changeSell.setSPic1(sellDto.getSPic1()); changeSell.setSPic2(sellDto.getSPic2()); changeSell.setSPic3(sellDto.getSPic3()); changeSell.setSPic4(sellDto.getSPic4()); changeSell.setSPic5(sellDto.getSPic5()); changeSell.setSPic6(sellDto.getSPic6()); sellService.update(changeSell, entityWrapper); } return R.ok(reponseData); } /** *完善个人信息 */ @RequestMapping("/fillPerfect") @ResponseBody public R fillPerfect(SellEntity sellDto) { Assert.isNull(sellDto.getShopName(), "店铺名称不能为空"); Assert.isNull(sellDto.getSProvinceCode(), "发货地址省份不能为空"); Assert.isNull(sellDto.getSCityCode(), "发货地址市区不能为空"); Assert.isNull(sellDto.getSAreaCode(), "发货地址区域不能为空"); Assert.isNull(sellDto.getSDetailAddress(), "发货地址详细地址不能为空"); Assert.isNull(sellDto.getSBackName(), "退货联系人不能为空"); Assert.isNull(sellDto.getSBackPhone(), "退货联系电话不能为空"); Assert.isNull(sellDto.getShopDesc(), "商家介绍不能为空"); Assert.isNull(sellDto.getSHourExpress(), "发货时长不能为空"); if(!VerifyCodeUtil.isPhone(sellDto.getSBackPhone())) { throw new BusinessRuntimeException("退货联系电话格式不正确"); } SellEntity condition=new SellEntity(); condition.setToken(SubjectContextHolder.getSubject().getToken()); EntityWrapper
entityWrapper=new EntityWrapper
(condition); SellEntity reponseData=sellService.selectOne(entityWrapper); if(reponseData==null) { return R.error("not find data"); }else { SellEntity changeSell=new SellEntity(); changeSell.setShopName(sellDto.getShopName()); changeSell.setSProvinceCode(sellDto.getSProvinceCode()); changeSell.setSCityCode(sellDto.getSCityCode()); changeSell.setSAreaCode(sellDto.getSAreaCode()); changeSell.setSDetailAddress(sellDto.getSDetailAddress()); changeSell.setSHourExpress(sellDto.getSHourExpress()); changeSell.setSHead(sellDto.getSHead()); changeSell.setSBackName(sellDto.getSBackName()); changeSell.setSBackPhone(sellDto.getSBackPhone()); changeSell.setShopDesc(sellDto.getShopDesc()); changeSell.setSAduitState(1); changeSell.setSAttestation(2);//审核通过将该状态设置为 3已认证 sellService.update(changeSell, entityWrapper); } return R.ok(reponseData); } }

转载于:https://www.cnblogs.com/buwang/p/10405754.html

你可能感兴趣的文章
Aurora — 一个在 MSOffice 内输入 LaTeX 公式的很好用插件
查看>>
关于sql优化的一个小总结
查看>>
Java语言中的正则表达式
查看>>
Java环境变量设置
查看>>
【JBPM4】判断节点decision 方法3 handler
查看>>
filter 过滤器(监听)
查看>>
Linux进程间通信---共享内存
查看>>
Computer Information
查看>>
交换机/路由器上的 S口 F口 E口
查看>>
P1298(矩阵切割)DP
查看>>
wzplayer for delphi demo截图
查看>>
Zookeeper的安装与使用:
查看>>
密码策略限制最大与最小长度
查看>>
正则表达式模式
查看>>
使用iframe实现同域跨站提交数据
查看>>
Mouse点击之后,复制GridView控件的数据行
查看>>
ASP.NET开发,从二层至三层,至面向对象 (2)
查看>>
如何查看自己电脑支持OpenGL core版本
查看>>
页面元素定位 XPath 简介
查看>>
[转]loadrunner:系统的平均并发用户数和并发数峰值如何估算
查看>>