HongHu All rights reserved. */package com.honghu.cloud.controller; import java.math.BigDecimal;impo..._uniapp 三级分销商城">
赞
踩
@源码地址来源: https://minglisoft.cn/honghu2/business.html
手机端源码:
- /**
- * Copyright © 2012-2017 <a href="http://minglisoft.cn">HongHu</a> All rights reserved.
- */
- package com.honghu.cloud.controller;
-
- import java.math.BigDecimal;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
-
- import javax.servlet.http.HttpServletRequest;
-
- import org.apache.commons.lang.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.CrossOrigin;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
-
- import com.google.common.collect.Lists;
- import com.honghu.cloud.bean.SmsCode;
- import com.honghu.cloud.bean.SmsConfig;
- import com.honghu.cloud.bean.SmsTemplate;
- import com.honghu.cloud.bean.User;
- import com.honghu.cloud.code.ResponseCode;
- import com.honghu.cloud.constant.Globals;
- import com.honghu.cloud.dto.AccessoryDto;
- import com.honghu.cloud.dto.StoreDto;
- import com.honghu.cloud.dto.SysConfigDto;
- import com.honghu.cloud.dto.UserDto;
- import com.honghu.cloud.feign.AccessoryFeignClient;
- import com.honghu.cloud.feign.DistributionUserFeignClient;
- import com.honghu.cloud.feign.StoreFeignClient;
- import com.honghu.cloud.feign.SysConfigFeignClient;
- import com.honghu.cloud.redis.RedisUtil;
- import com.honghu.cloud.service.ISmsCodeService;
- import com.honghu.cloud.service.ISmsConfigService;
- import com.honghu.cloud.service.ISmsTemplateService;
- import com.honghu.cloud.service.IUserService;
- import com.honghu.cloud.tools.AliSmsUtil;
- import com.honghu.cloud.tools.SecurityUserHolder;
- import com.honghu.cloud.utils.CommUtil;
- import com.honghu.cloud.utils.JWT;
- import com.honghu.cloud.utils.tools.Md5Encrypt;
-
- import net.sf.json.JSONObject;
-
- /**
- * 短信服务
- * @author Administrator
- *
- */
- @RestController
- @RequestMapping(value = "/mobile")
- @CrossOrigin(origins = "*",maxAge = 3600)
- public class MobileController {
-
- @Autowired
- private ISmsConfigService smsConfigService;
- @Autowired
- private ISmsTemplateService smsTemplateService;
- @Autowired
- private ISmsCodeService smsCodeService;
- @Autowired
- private SysConfigFeignClient sysConfigFeignClient;
- @Autowired
- private IUserService userService;
- @Autowired
- private RedisUtil redisUtil;
- @Autowired
- private StoreFeignClient storeFeignClient;
- @Autowired
- private DistributionUserFeignClient disUserFeignClient;
- @Autowired
- private AccessoryFeignClient accessoryFeignClient;
-
-
- // 短信服务类型
- public static List<String> sms_items = Lists.newArrayList();
- static{
- sms_items.add("bind_mobile"); // 绑定手机发送短信
- sms_items.add("register_mobile"); // 手机号码注册发送短信
- sms_items.add("login_mobile"); // 手机登录发送短信
- sms_items.add("update_password"); // 修改密码
- sms_items.add("update_pay_password"); // 修改支付密码
- sms_items.add("forget_password"); // 忘记密码
- }
-
-
- /**
- * 发送短信服务
- * @param json(sms_type:bind_mobile,register_mobile,login_mobile)
- * @param request
- * @return
- */
- @RequestMapping(value = "/sendCode", method = RequestMethod.POST)
- public Map<String,Object> sendCode(@RequestBody JSONObject json, HttpServletRequest request){
- String sms_type = json.optString("sms_type");
- if(StringUtils.isEmpty(sms_type)){
- return ResponseCode.buildCodeMap("20001", "服务类型不能为空", null);
- }
- if(!sms_items.contains(sms_type)){
- return ResponseCode.buildCodeMap("20002", "服务类型错误", null);
- }
- String mobile = json.optString("mobile");
- if(StringUtils.isEmpty(mobile)){
- return ResponseCode.buildCodeMap("20003", "手机号码不能为空", null);
- }
-
- // 查询短信配置
- SmsConfig smsConfig = smsConfigService.findSmsConfig();
- if(smsConfig == null){
- return ResponseCode.buildCodeMap("20004", "系统未配置短信服务服务", null);
- }
-
- // 根据(英文模板名称)查询短信模板
- SmsTemplate smsTemplate = smsTemplateService.findByCodeEn(sms_type);
- if(smsTemplate == null){
- return ResponseCode.buildCodeMap("20005", "服务模板不存在", null);
- }
-
- String content = "";
- if (StringUtils.equals(sms_type, "bind_mobile") || StringUtils.equals(sms_type, "register_mobile")
- || StringUtils.equals(sms_type, "login_mobile") || StringUtils.equals(sms_type, "forget_password")
- || StringUtils.equals(sms_type, "update_password")|| StringUtils.equals(sms_type, "update_pay_password")) {
- // 入库验证码
- SmsCode smsCode = new SmsCode();
- smsCode.setMobile(mobile);
- smsCode.setSend_time(new Date());
- smsCode.setCode(CommUtil.randomInt(4));
- smsCode.setCode_en(sms_type);
- smsCodeService.saveEntity(smsCode);
- content = "{\"code\":\"" + smsCode.getCode() + "\"}";
- }
-
- // 发送短信
- String result = AliSmsUtil.sendByALY(mobile, content, smsConfig, smsTemplate);
- if(StringUtils.isNotEmpty(result)){
- return ResponseCode.buildCodeMap("20006", result, null);
- }
- return ResponseCode.buildSuccessMap("短信发送成功");
- }
-
-
- /**
- * 手机号注册(登录)
- * @param json
- * @param request
- * @return
- */
- @RequestMapping(value = "/register_mobile", method = RequestMethod.POST)
- public Map<String,Object> register_mobile(@RequestBody JSONObject json, HttpServletRequest request){
- String sms_type = json.optString("sms_type");
- if(StringUtils.isEmpty(sms_type)){
- return ResponseCode.buildCodeMap("20001", "服务类型不能为空", null);
- }
- if(!StringUtils.equals("register_mobile", sms_type)){
- return ResponseCode.buildCodeMap("20002", "服务类型错误", null);
- }
-
- String mobile = json.optString("mobile");
- if(StringUtils.isEmpty(mobile)){
- return ResponseCode.buildCodeMap("20003", "手机号码不能为空", null);
- }
- String code = json.optString("code");
- if(StringUtils.isEmpty(code)){
- return ResponseCode.buildCodeMap("20004", "验证码不能为空", null);
- }
- String password = json.optString("password");
- if(StringUtils.isEmpty(password)){
- return ResponseCode.buildCodeMap("20004", "密码不能为空", null);
- }
- // 查询短信配置
- SmsConfig smsConfig = smsConfigService.findSmsConfig();
- Integer use_minute = 5;
- if(smsConfig != null && smsConfig.getUse_minute() != null){
- use_minute = smsConfig.getUse_minute();
- }
- // 查询手机号有效期内的验证码
- SmsCode smsCode = smsCodeService.findByCode(mobile, sms_type, use_minute);
- if(smsCode == null){
- return ResponseCode.buildCodeMap("20005", "验证码已过期,请重新获取!", null);
- }
- if(!StringUtils.equals(code, smsCode.getCode())){
- return ResponseCode.buildCodeMap("20006", "验证码错误", null);
- }
-
- // 查询手机号码是否注册
- User user = userService.selectByUserName(mobile);
- if(user != null){
- return ResponseCode.buildCodeMap("20007", "手机号已注册", null);
- }
-
- user = new User();
- user.setDeleteStatus(0);
- user.setSex(-1); // 性别 1为男、0为女、-1为保密
- user.setDeleteStatus(0);
- user.setAddTime(new Date());
- user.setMonth_income(0);
- user.setIntegral(0);
- user.setIs_agent(0);
- user.setLoginCount(0);
- user.setAvailableBalance(BigDecimal.ZERO);
- user.setFreezeBlance(BigDecimal.ZERO);
- user.setMobile(mobile);
- user.setUserName(mobile);
- user.setPassword(Md5Encrypt.md5(password).toLowerCase());
- user.setYears(0); // 用户年龄
- user.setIs_live(0);
- user.setUser_type(0); // 用户类别,默认为0个人用户,1为企业用户
- user.setStore_apply_step(0); // 店铺申请进行的步骤,默认为0
- user.setInvoiceType(0); // 发票类型
- user.setLive_code(userService.selectMaxLiveCode() + 1);
- user.setWhether_attention(1); //是否允许关注 0为不允许,1为允许
- userService.saveEntity(user);
- userService.saveDisUser(user, "-1");
- // 修改登录信息
- user.setLoginCount(user.getLoginCount()+1);
- user.setLastLoginDate(new Date());
- user.setLastLoginIp(CommUtil.getIpAddr(request));
- // 生成token,格式:用户id;时间戳
- String token = JWT.sign(user.getId() + ";" + System.currentTimeMillis()+";"+"app", 0);
- // 将token存到redis中,有效期24小时
- redisUtil.set(Globals.ANDROID_LOGIN_MARK + user.getId(), token, Globals.USER_INFO_EXPIRE_TIME);
-
- // 返回结果集
- Map<String, Object> resultMap = new HashMap<String, Object>();
- resultMap.put("token", token);
- // 置空用户敏感字段
- user.setPassword("");
- user.setPay_password("");
- resultMap.put("user", user);
- // 置空系统配置敏感字段
- SysConfigDto sysConfig = sysConfigFeignClient.getSysConfig();
- sysConfig.setWeixin_appId("");
- sysConfig.setWeixin_appSecret("");
- sysConfig.setUploadFilePath("");
- sysConfig.setUser_level("");
- resultMap.put("sysConfig", sysConfig);
-
- return ResponseCode.buildSuccessMap(resultMap);
- }
-
-
- /**
- * 手机号登录
- * @param json
- * @param request
- * @return
- */
- @RequestMapping(value = "/login_mobile", method = RequestMethod.POST)
- public Map<String,Object> login_mobile(@RequestBody JSONObject json, HttpServletRequest request){
- String sms_type = json.optString("sms_type");
- if(StringUtils.isEmpty(sms_type)){
- return ResponseCode.buildCodeMap("20001", "服务类型不能为空", null);
- }
- if(!StringUtils.equals("login_mobile", sms_type)){
- return ResponseCode.buildCodeMap("20002", "服务类型错误", null);
- }
-
- String mobile = json.optString("mobile");
- if(StringUtils.isEmpty(mobile)){
- return ResponseCode.buildCodeMap("20003", "手机号码不能为空", null);
- }
- String code = json.optString("code");
- if(StringUtils.isEmpty(code)){
- return ResponseCode.buildCodeMap("20004", "验证码不能为空", null);
- }
-
- // 查询短信配置
- SmsConfig smsConfig = smsConfigService.findSmsConfig();
- Integer use_minute = 5;
- if(smsConfig != null && smsConfig.getUse_minute() != null){
- use_minute = smsConfig.getUse_minute();
- }
- // 查询手机号有效期内的验证码
- SmsCode smsCode = smsCodeService.findByCode(mobile, sms_type, use_minute);
- if(smsCode == null){
- return ResponseCode.buildCodeMap("20005", "验证码已过期,请重新获取!", null);
- }
- if(!StringUtils.equals(code, smsCode.getCode())){
- return ResponseCode.buildCodeMap("20006", "验证码错误", null);
- }
-
- // 查询手机号码是否注册
- User user = userService.selectByUserName(mobile);
- if(user == null){
- return ResponseCode.buildCodeMap("20007", "该用户不存在", null);
- }
- if(user.getSecurity() == 1){
- return ResponseCode.buildCodeMap("20008", "账户存在安全隐患禁止登录!", null);
- }
-
- String storestatus="";
- if (user.getStore_id()!=null) {
- StoreDto storeDto = storeFeignClient.selectByPrimaryKey(user.getStore_id());
- if (storeDto!=null) {
- storestatus=storeDto.getStore_status()+"";
- }
- }
- // 修改登录信息
- user.setLoginCount(user.getLoginCount()+1);
- user.setLastLoginDate(new Date());
- user.setLastLoginIp(CommUtil.getIpAddr(request));
- // 生成token,格式:用户id;时间戳
- String token = JWT.sign(user.getId() + ";" + System.currentTimeMillis()+";"+"app", 0);
- // 将token存到redis中,有效期24小时
- redisUtil.set(Globals.ANDROID_LOGIN_MARK + user.getId(), token, Globals.USER_INFO_EXPIRE_TIME);
-
- // 返回结果集
- Map<String, Object> resultMap = new HashMap<String, Object>();
- resultMap.put("token", token);
- // 置空用户敏感字段
- user.setPassword("");
- user.setPay_password("");
- if (user.getPhoto_id()!=null) {
- AccessoryDto accessoryDto = accessoryFeignClient.selectByPrimaryKey(user.getPhoto_id());
- if (accessoryDto!=null) user.setPhoto(accessoryDto);
- }
- resultMap.put("user", user);
- /*// 置空系统配置敏感字段
- SysConfigDto sysConfig = sysConfigFeignClient.getSysConfig();
- sysConfig.setWeixin_appId("");
- sysConfig.setWeixin_appSecret("");
- sysConfig.setUploadFilePath("");
- sysConfig.setUser_level("");
- resultMap.put("sysConfig", sysConfig);*/
- resultMap.put("storestatus", storestatus);
-
- return ResponseCode.buildSuccessMap(resultMap);
- }
-
- /**
- * 手机号绑定
- * @param json
- * @param request
- * @return
- */
- @RequestMapping(value = "/login_bind", method = RequestMethod.POST)
- public Map<String,Object> login_bind(@RequestBody JSONObject json, HttpServletRequest request){
-
- String sms_type = json.optString("sms_type");
- if(StringUtils.isEmpty(sms_type)){
- return ResponseCode.buildCodeMap("20001", "服务类型不能为空", null);
- }
- if(!StringUtils.equals("bind_mobile", sms_type)){
- return ResponseCode.buildCodeMap("20002", "服务类型错误", null);
- }
-
- String mobile = json.optString("mobile");
- if(StringUtils.isEmpty(mobile)){
- return ResponseCode.buildCodeMap("20003", "手机号码不能为空", null);
- }
- String code = json.optString("code");
- if(StringUtils.isEmpty(code)){
- return ResponseCode.buildCodeMap("20004", "验证码不能为空", null);
- }
- String id = json.optString("id");
- if(StringUtils.isEmpty(id)){
- return ResponseCode.buildCodeMap("20008", "id不能为空", null);
- }
-
- // 查询短信配置
- SmsConfig smsConfig = smsConfigService.findSmsConfig();
- Integer use_minute = 5;
- if(smsConfig != null && smsConfig.getUse_minute() != null){
- use_minute = smsConfig.getUse_minute();
- }
- // 查询手机号有效期内的验证码
- SmsCode smsCode = smsCodeService.findByCode(mobile, sms_type, use_minute);
- if(smsCode == null){
- return ResponseCode.buildCodeMap("20005", "验证码已过期,请重新获取!", null);
- }
- if(!StringUtils.equals(code, smsCode.getCode())){
- return ResponseCode.buildCodeMap("20006", "验证码错误", null);
- }
- // 返回结果集
- Map<String, Object> resultMap = new HashMap<String, Object>();
- // 查询手机号码是否注册
- User UserName = userService.selectByUserName(mobile); //原用户
- User user = userService.selectByPrimaryKey(CommUtil.null2Long(id)); //刚注册的用户
- // 原手机号存在用户, 并且登录用户有微信union ,需要合并用户 , 手机号存在, 并且 unionid 为空
- if (UserName!=null&&StringUtils.isEmpty(UserName.getWeixin_unionID())&&user.getWeixin_unionID()!=null) {
-
- UserName.setWeixin_unionID(user.getWeixin_unionID()); //将新unionid 存入旧数据中
- if (UserName.getLive_code()==null) {
- UserName.setLive_code(userService.selectMaxLiveCode() + 1);
- }
- if (StringUtils.isEmpty(UserName.getNickName())) {
- UserName.setNickName(user.getNickName());
- }
- if (user.getPhoto_id()!=null) {
- UserName.setPhoto_id(user.getPhoto_id());
- }
- if (user.getOpenId()!=null) {
- UserName.setOpenId(user.getOpenId());
- }
- userService.updateById(UserName);
- user.setDeleteStatus(1);
- user.setMobile("del"+CommUtil.null2String(mobile));
- user.setUserName("del"+CommUtil.null2String(mobile));
- user.setWeixin_unionID("del"+UserName.getId()+"");
- userService.updateById(user);
- disUserFeignClient.deleteByUserId(user.getId()); //删除新的 分销关系表
- //redisUtil.remove(Globals.ANDROID_LOGIN_MARK + user.getId());
- //redisUtil.remove(Globals.WECHAT_LOGIN_MARK + user.getId());
- //换用户登录
- // 生成token,格式:用户id;时间戳
- // String token = JWT.sign(UserName.getId() + ";" + System.currentTimeMillis()+";"+"app", 0);
- String tokenStr = request.getHeader("token");
- // 将token存到redis中,有效期24小时
- redisUtil.set(Globals.ANDROID_LOGIN_MARK + UserName.getId(), tokenStr, Globals.USER_INFO_EXPIRE_TIME);
- resultMap.put("token", tokenStr);
- // 覆盖redis用户信息
- UserDto userDto = new UserDto();
- BeanUtils.copyProperties(UserName, userDto);
- redisUtil.set(Globals.USER_INFO_MARK + UserName.getId(), userDto, Globals.USER_INFO_EXPIRE_TIME);
- resultMap.put("user", UserName);
- return ResponseCode.buildSuccessMap(resultMap);
- }else if(UserName!=null){
- return ResponseCode.buildCodeMap("20007", "手机号已存在", null);
-
- }else{
- if (user!=null) {
- user.setMobile(mobile);
- user.setUserName(mobile);
- }
- userService.update(user);
- }
-
- // 修改登录信息
- /*user.setLoginCount(user.getLoginCount()+1);
- user.setLastLoginDate(new Date());
- user.setLastLoginIp(CommUtil.getIpAddr(request));
-
- // 生成token,格式:用户id;时间戳
- String token = JWT.sign(user.getId() + ";" + System.currentTimeMillis(), 0);
- // 将token存到redis中,有效期24小时
- redisUtil.set(Globals.WECHAT_LOGIN_MARK + user.getId(), token, Globals.USER_INFO_EXPIRE_TIME);*/
-
-
- // resultMap.put("token", token);
- // 置空用户敏感字段
- /*user.setPassword("");
- user.setPay_password("");*/
-
- resultMap.put("user", user);
- // 置空系统配置敏感字段
- /*SysConfigDto sysConfig = sysConfigFeignClient.getSysConfig();
- sysConfig.setWeixin_appId("");
- sysConfig.setWeixin_appSecret("");
- sysConfig.setUploadFilePath("");
- sysConfig.setUser_level("");
- resultMap.put("sysConfig", sysConfig);*/
-
- return ResponseCode.buildSuccessMap(resultMap);
- }
- /**
- * 用户名密码登录
- * @param json
- * @param request
- * @return
- */
- @RequestMapping(value = "/login_user", method = RequestMethod.POST)
- public Map<String,Object> login_user(@RequestBody JSONObject json, HttpServletRequest request){
- String username = json.optString("username");
- if(StringUtils.isEmpty(username)){
- return ResponseCode.buildCodeMap("20001", "用户不能为空", null);
- }
- String password = json.optString("password");
- if(StringUtils.isEmpty(password)){
- return ResponseCode.buildCodeMap("20002", "验证码不能为空", null);
- }
-
- User user = userService.selectByUserName(username);
- if(user == null){
- return ResponseCode.buildCodeMap("20003", "用户不存在", null);
- }
- if(!StringUtils.equals(user.getPassword(), Md5Encrypt.md5(password).toLowerCase())){
- return ResponseCode.buildCodeMap("20006", "密码错误", null);
- }
- if(user.getSecurity() == 1){
- return ResponseCode.buildCodeMap("20008", "账户存在安全隐患禁止登录!", null);
- }
- String storestatus="";
- if (user.getStore_id()!=null) {
- StoreDto storeDto = storeFeignClient.selectByPrimaryKey(user.getStore_id());
- if (storeDto!=null) {
- storestatus=storeDto.getStore_status()+"";
- }
- }
- // 修改登录信息
- user.setLoginCount(user.getLoginCount()+1);
- user.setLastLoginDate(new Date());
- user.setLastLoginIp(CommUtil.getIpAddr(request));
- // 生成token,格式:用户id;时间戳
- String token = JWT.sign(user.getId() + ";" + System.currentTimeMillis()+";"+"app", 0);
- // 将token存到redis中,有效期24小时
- redisUtil.set(Globals.ANDROID_LOGIN_MARK + user.getId(), token, Globals.USER_INFO_EXPIRE_TIME);
-
- // 返回结果集
- Map<String, Object> resultMap = new HashMap<String, Object>();
- resultMap.put("token", token);
- // 置空用户敏感字段
- user.setPassword("");
- user.setPay_password("");
- resultMap.put("user", user);
- // 置空系统配置敏感字段
- SysConfigDto sysConfig = sysConfigFeignClient.getSysConfig();
- sysConfig.setWeixin_appId("");
- sysConfig.setWeixin_appSecret("");
- sysConfig.setUploadFilePath("");
- sysConfig.setUser_level("");
- resultMap.put("sysConfig", sysConfig);
- resultMap.put("storestatus", storestatus);
-
- return ResponseCode.buildSuccessMap(resultMap);
- }
-
- /**
- * 忘记密码保存
- * @param json
- * @param request
- * @return
- */
- @RequestMapping(value = "/forget_password_save", method = RequestMethod.POST)
- public Map<String,Object> forget_password_save(@RequestBody JSONObject json, HttpServletRequest request){
- String sms_type = json.optString("sms_type");
- if(StringUtils.isEmpty(sms_type)){
- return ResponseCode.buildCodeMap("20001", "服务类型不能为空", null);
- }
- if(!StringUtils.equals("forget_password", sms_type)){
- return ResponseCode.buildCodeMap("20002", "服务类型错误", null);
- }
-
- String mobile = json.optString("mobile");
- if(StringUtils.isEmpty(mobile)){
- return ResponseCode.buildCodeMap("20003", "手机号码不能为空", null);
- }
- String code = json.optString("code");
- if(StringUtils.isEmpty(code)){
- return ResponseCode.buildCodeMap("20004", "验证码不能为空", null);
- }
- String password = json.optString("password");
- if(StringUtils.isEmpty(password)){
- return ResponseCode.buildCodeMap("20005", "密码不能为空", null);
- }
-
- // 查询短信配置
- SmsConfig smsConfig = smsConfigService.findSmsConfig();
- Integer use_minute = 5;
- if(smsConfig != null && smsConfig.getUse_minute() != null){
- use_minute = smsConfig.getUse_minute();
- }
- // 查询手机号有效期内的验证码
- SmsCode smsCode = smsCodeService.findByCode(mobile, sms_type, use_minute);
- if(smsCode == null){
- return ResponseCode.buildCodeMap("20006", "验证码已过期,请重新获取!", null);
- }
- if(!StringUtils.equals(code, smsCode.getCode())){
- return ResponseCode.buildCodeMap("20007", "验证码错误", null);
- }
-
- // 查询手机号码是否注册
- User user = userService.selectByUserName(mobile);
- if(user == null){
- return ResponseCode.buildCodeMap("20008", "用户不存在", null);
- }
-
- user.setPassword(Md5Encrypt.md5(password).toLowerCase());
- userService.updateById(user);
-
- return ResponseCode.buildSuccessMap(null);
- }
-
-
- //TODO 鱼易注册
- /**
- * 手机号注册(登录)
- * @param json
- * @param request
- * @return
- */
- @RequestMapping(value = "/register_mobile_new", method = RequestMethod.POST)
- public Map<String,Object> register_mobile_new(@RequestBody JSONObject json, HttpServletRequest request){
- String sms_type = json.optString("sms_type");
- String true_name = json.optString("true_name");//真实姓名
- if(StringUtils.isEmpty(true_name)){
- return ResponseCode.buildCodeMap("20007", "真实姓名不能为空", null);
- }
- if(StringUtils.isEmpty(sms_type)){
- return ResponseCode.buildCodeMap("20001", "服务类型不能为空", null);
- }
- if(!StringUtils.equals("register_mobile", sms_type)){
- return ResponseCode.buildCodeMap("20002", "服务类型错误", null);
- }
-
- String mobile = json.optString("mobile");
- if(StringUtils.isEmpty(mobile)){
- return ResponseCode.buildCodeMap("20003", "手机号码不能为空", null);
- }
- String code = json.optString("code");
- if(StringUtils.isEmpty(code)){
- return ResponseCode.buildCodeMap("20004", "验证码不能为空", null);
- }
- String password = json.optString("password");
- if(StringUtils.isEmpty(password)){
- return ResponseCode.buildCodeMap("20004", "密码不能为空", null);
- }
- // 查询短信配置
- SmsConfig smsConfig = smsConfigService.findSmsConfig();
- Integer use_minute = 5;
- if(smsConfig != null && smsConfig.getUse_minute() != null){
- use_minute = smsConfig.getUse_minute();
- }
- // 查询手机号有效期内的验证码
- SmsCode smsCode = smsCodeService.findByCode(mobile, sms_type, use_minute);
- if(smsCode == null){
- return ResponseCode.buildCodeMap("20005", "验证码已过期,请重新获取!", null);
- }
- if(!StringUtils.equals(code, smsCode.getCode())){
- return ResponseCode.buildCodeMap("20006", "验证码错误", null);
- }
-
- // 查询手机号码是否注册
- User user = userService.selectByUserName(mobile);
- if(user != null){
- return ResponseCode.buildCodeMap("20007", "手机号已注册", null);
- }
-
- user = new User();
- user.setDeleteStatus(0);
- user.setSex(-1); // 性别 1为男、0为女、-1为保密
- user.setDeleteStatus(0);
- user.setAddTime(new Date());
- user.setMonth_income(0);
- user.setIntegral(0);
- user.setIs_agent(0);
- user.setTrueName(true_name);
- user.setLoginCount(0);
- user.setAvailableBalance(BigDecimal.ZERO);
- user.setFreezeBlance(BigDecimal.ZERO);
- user.setMobile(mobile);
- user.setUserName(mobile);
- user.setPassword(Md5Encrypt.md5(password).toLowerCase());
- user.setYears(0); // 用户年龄
- user.setIs_live(0);
- user.setUser_type(0); // 用户类别,默认为0个人用户,1为企业用户
- user.setStore_apply_step(0); // 店铺申请进行的步骤,默认为0
- user.setInvoiceType(0); // 发票类型
- user.setLive_code(userService.selectMaxLiveCode() + 1);
- user.setWhether_attention(1); //是否允许关注 0为不允许,1为允许
- userService.saveEntity(user);
- userService.saveDisUser(user, "-1");
- // 修改登录信息
- user.setLoginCount(user.getLoginCount()+1);
- user.setLastLoginDate(new Date());
- user.setLastLoginIp(CommUtil.getIpAddr(request));
- // 生成token,格式:用户id;时间戳
- String token = JWT.sign(user.getId() + ";" + System.currentTimeMillis()+";"+"app", 0);
- // 将token存到redis中,有效期24小时
- redisUtil.set(Globals.ANDROID_LOGIN_MARK + user.getId(), token, Globals.USER_INFO_EXPIRE_TIME);
-
- //传同步给鱼易 真实姓名, 手机号 , 密码,
- //userService.yuyiSaveUser(true_name,mobile,password);
-
- // 返回结果集
- Map<String, Object> resultMap = new HashMap<String, Object>();
- resultMap.put("token", token);
- // 置空用户敏感字段
- user.setPassword("");
- user.setPay_password("");
- resultMap.put("user", user);
- // 置空系统配置敏感字段
- SysConfigDto sysConfig = sysConfigFeignClient.getSysConfig();
- sysConfig.setWeixin_appId("");
- sysConfig.setWeixin_appSecret("");
- sysConfig.setUploadFilePath("");
- sysConfig.setUser_level("");
- resultMap.put("sysConfig", sysConfig);
-
- return ResponseCode.buildSuccessMap(resultMap);
- }
-
- }
@源码地址来源: https://minglisoft.cn/honghu2/business.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。