Commit 83503ecc by giaogiao

商家登陆

parent 2f53483d
...@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j @Slf4j
@RestController @RestController
//@Module("api-app") //@Module("api-app")
@Api(value = "短信验证码", tags = {"APP短信验证码相关"}) @Api(value = "短信验证码", tags = {"APP短信验证码相关"},hidden = true)
@RequestMapping("/merchant/sms/") @RequestMapping("/merchant/sms/")
public class MerchantSmsController extends BaseController { public class MerchantSmsController extends BaseController {
......
package com.jumeirah.api.merchant.controller; package com.jumeirah.api.merchant.controller;
import com.jumeirah.common.entity.MerchantUser; import com.jumeirah.common.entity.MerchantUser;
import com.jumeirah.common.param.LoginParam; import com.jumeirah.common.param.MerchantLoginParam;
import com.jumeirah.common.param.MerchantRegisterParam;
import com.jumeirah.common.param.MerchantUserPageParam; import com.jumeirah.common.param.MerchantUserPageParam;
import com.jumeirah.common.service.MerchantService; import com.jumeirah.common.service.MerchantService;
import com.jumeirah.common.service.MerchantUserService; import com.jumeirah.common.service.MerchantUserService;
...@@ -26,7 +25,6 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -26,7 +25,6 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -108,15 +106,15 @@ public class MerchantUserController extends BaseController { ...@@ -108,15 +106,15 @@ public class MerchantUserController extends BaseController {
@PostMapping("/login") @PostMapping("/login")
@OperationLogIgnore @OperationLogIgnore
@ApiOperation(value = "登录", notes = "商家用户登录") @ApiOperation(value = "登录", notes = "商家用户登录")
public ApiResult<LoginMerUserTokenVo> login(@Validated @RequestBody LoginParam loginParam, HttpServletResponse response, @RequestHeader(required = false) String language) throws Exception { public ApiResult<LoginMerUserTokenVo> login(@Validated @RequestBody MerchantLoginParam merchantLoginParam, HttpServletResponse response) throws Exception {
return merchantUserService.login(loginParam, response, language); return merchantUserService.login(merchantLoginParam);
} }
@PostMapping("/register") // @PostMapping("/register")
@OperationLogIgnore // @OperationLogIgnore
@ApiOperation(value = "注册", notes = "商家注册") // @ApiOperation(value = "注册", notes = "商家注册")
public ApiResult<Boolean> register(@Validated @RequestBody MerchantRegisterParam merchantRegisterParam, HttpServletResponse response) throws Exception { // public ApiResult<Boolean> register(@Validated @RequestBody MerchantRegisterParam merchantRegisterParam, HttpServletResponse response) throws Exception {
return merchantUserService.register(merchantRegisterParam); // return merchantUserService.register(merchantRegisterParam);
} // }
} }
...@@ -24,7 +24,7 @@ import java.util.Date; ...@@ -24,7 +24,7 @@ import java.util.Date;
*/ */
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ApiModel(value = "MerchantUser对象") @ApiModel(value = "MerchantUser对象")
public class MerchantUser extends BaseEntity { public class MerchantUser extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -34,6 +34,13 @@ public class MerchantUser extends BaseEntity { ...@@ -34,6 +34,13 @@ public class MerchantUser extends BaseEntity {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Long id; private Long id;
@NotNull(message = "商家id不能为空")
@ApiModelProperty("商家id")
private Long mcId;
@ApiModelProperty("是否为管理员,0:普通,1:超级管理员")
private Integer isAdmin;
@ApiModelProperty("用户名") @ApiModelProperty("用户名")
private String username; private String username;
......
...@@ -31,18 +31,16 @@ import javax.validation.constraints.NotBlank; ...@@ -31,18 +31,16 @@ import javax.validation.constraints.NotBlank;
**/ **/
@Data @Data
@ApiModel("登录参数") @ApiModel("登录参数")
public class MerLoginParam implements LoginUsername { public class MerchantLoginParam implements LoginUsername {
private static final long serialVersionUID = 2854217576695117356L; private static final long serialVersionUID = 2854217576695117356L;
@NotBlank(message = "请输入账号") @NotBlank(message = "请输入账号")
@ApiModelProperty(value = "账号", example = "admin") @ApiModelProperty(value = "账号", example = "zhuomeiya")
private String username; private String username;
@NotBlank(message = "请输入密码") @NotBlank(message = "请输入密码")
@ApiModelProperty(value = "密码", example = "123456") @ApiModelProperty(value = "密码", example = "123456")
private String password; private String password;
// @ApiModelProperty("验证码")
// private String code;
} }
package com.jumeirah.common.service; package com.jumeirah.common.service;
import com.jumeirah.common.entity.MerchantUser; import com.jumeirah.common.entity.MerchantUser;
import com.jumeirah.common.param.LoginParam; import com.jumeirah.common.param.MerchantLoginParam;
import com.jumeirah.common.param.MerchantRegisterParam; import com.jumeirah.common.param.MerchantRegisterParam;
import com.jumeirah.common.param.MerchantUserPageParam; import com.jumeirah.common.param.MerchantUserPageParam;
import com.jumeirah.common.vo.LoginMerUserTokenVo; import com.jumeirah.common.vo.LoginMerUserTokenVo;
...@@ -10,8 +10,6 @@ import io.geekidea.springbootplus.framework.common.api.ApiResult; ...@@ -10,8 +10,6 @@ import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.service.BaseService; import io.geekidea.springbootplus.framework.common.service.BaseService;
import io.geekidea.springbootplus.framework.core.pagination.Paging; import io.geekidea.springbootplus.framework.core.pagination.Paging;
import javax.servlet.http.HttpServletResponse;
/** /**
* 商家 服务类 * 商家 服务类
* *
...@@ -33,11 +31,10 @@ public interface MerchantUserService extends BaseService<MerchantUser> { ...@@ -33,11 +31,10 @@ public interface MerchantUserService extends BaseService<MerchantUser> {
/** /**
* 登录 * 登录
* *
* @param loginParam
* @return * @return
* @throws Exception * @throws Exception
*/ */
ApiResult<LoginMerUserTokenVo> login(LoginParam loginParam, HttpServletResponse response, String language) throws Exception; ApiResult<LoginMerUserTokenVo> login(MerchantLoginParam merchantLoginParam) throws Exception;
ApiResult<Boolean> register(MerchantRegisterParam merchantRegisterParam) throws Exception; ApiResult<Boolean> register(MerchantRegisterParam merchantRegisterParam) throws Exception;
......
package com.jumeirah.common.service.impl; package com.jumeirah.common.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jumeirah.common.entity.MerchantRole; import com.jumeirah.common.entity.MerchantRole;
import com.jumeirah.common.mapper.MerchantRoleMapper; import com.jumeirah.common.mapper.MerchantRoleMapper;
import com.jumeirah.common.param.MerchantRolePageParam;
import com.jumeirah.common.service.MerchantRoleService; import com.jumeirah.common.service.MerchantRoleService;
import com.jumeirah.common.param.MerchantRolePageParam; import com.jumeirah.common.vo.MerchantRoleQueryVo;
import com.jumeirah.common.vo.MerchantRoleQueryVo;
import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl; import io.geekidea.springbootplus.framework.common.service.impl.BaseServiceImpl;
import io.geekidea.springbootplus.framework.core.pagination.Paging; import io.geekidea.springbootplus.framework.core.pagination.PageInfo;
import io.geekidea.springbootplus.framework.core.pagination.PageInfo; import io.geekidea.springbootplus.framework.core.pagination.Paging;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.transaction.annotation.Transactional;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 商家角色 服务实现类 * 商家角色 服务实现类
......
...@@ -10,7 +10,7 @@ import com.jumeirah.common.entity.MerchantRole; ...@@ -10,7 +10,7 @@ import com.jumeirah.common.entity.MerchantRole;
import com.jumeirah.common.entity.MerchantUser; import com.jumeirah.common.entity.MerchantUser;
import com.jumeirah.common.enums.StateEnum; import com.jumeirah.common.enums.StateEnum;
import com.jumeirah.common.mapper.MerchantUserMapper; import com.jumeirah.common.mapper.MerchantUserMapper;
import com.jumeirah.common.param.LoginParam; import com.jumeirah.common.param.MerchantLoginParam;
import com.jumeirah.common.param.MerchantRegisterParam; import com.jumeirah.common.param.MerchantRegisterParam;
import com.jumeirah.common.param.MerchantUserPageParam; import com.jumeirah.common.param.MerchantUserPageParam;
import com.jumeirah.common.service.MerchantRolePermissionService; import com.jumeirah.common.service.MerchantRolePermissionService;
...@@ -29,7 +29,6 @@ import io.geekidea.springbootplus.framework.core.pagination.Paging; ...@@ -29,7 +29,6 @@ import io.geekidea.springbootplus.framework.core.pagination.Paging;
import io.geekidea.springbootplus.framework.shiro.cache.MerchantLoginRedisService; import io.geekidea.springbootplus.framework.shiro.cache.MerchantLoginRedisService;
import io.geekidea.springbootplus.framework.shiro.jwt.JwtToken; import io.geekidea.springbootplus.framework.shiro.jwt.JwtToken;
import io.geekidea.springbootplus.framework.shiro.jwt.realm.LoginClientTypeEnum; import io.geekidea.springbootplus.framework.shiro.jwt.realm.LoginClientTypeEnum;
import io.geekidea.springbootplus.framework.shiro.util.JwtTokenUtil;
import io.geekidea.springbootplus.framework.shiro.util.JwtUtil; import io.geekidea.springbootplus.framework.shiro.util.JwtUtil;
import io.geekidea.springbootplus.framework.shiro.util.SaltUtil; import io.geekidea.springbootplus.framework.shiro.util.SaltUtil;
import io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo; import io.geekidea.springbootplus.framework.shiro.vo.LoginUserVo;
...@@ -45,7 +44,6 @@ import org.springframework.data.redis.core.RedisTemplate; ...@@ -45,7 +44,6 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.time.Duration; import java.time.Duration;
import java.util.Set; import java.util.Set;
...@@ -89,7 +87,7 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper, ...@@ -89,7 +87,7 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
@Autowired @Autowired
private MerchantRolePermissionService merchantRolePermissionService; private MerchantRolePermissionService merchantRolePermissionService;
public MerchantUser getSysUserByUsername(String username) throws Exception { public MerchantUser getMerUserByUsername(String username) throws Exception {
MerchantUser sysUser = new MerchantUser().setUsername(username); MerchantUser sysUser = new MerchantUser().setUsername(username);
return merchantUserMapper.selectOne(new QueryWrapper<MerchantUser>(sysUser)); return merchantUserMapper.selectOne(new QueryWrapper<MerchantUser>(sysUser));
} }
...@@ -97,31 +95,29 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper, ...@@ -97,31 +95,29 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public ApiResult<LoginMerUserTokenVo> login(LoginParam loginParam, HttpServletResponse response, String language) throws Exception { public ApiResult<LoginMerUserTokenVo> login(MerchantLoginParam merchantLoginParam) throws Exception {
// // 校验验证码 // // 校验验证码
// checkVerifyCode(loginParam.getVerifyToken(), loginParam.getCode()); // checkVerifyCode(merchantLoginParam.getVerifyToken(), merchantLoginParam.getCode());
String username = loginParam.getUsername(); String username = merchantLoginParam.getUsername();
// 从数据库中获取登录用户信息 // 从数据库中获取登录用户信息
MerchantUser merchantUser = getSysUserByUsername(username); MerchantUser merchantUser = getMerUserByUsername(username);
if (merchantUser == null) { if (merchantUser == null) {
log.error("登录失败,用户名或密码错误merchantLoginParam:{}", merchantLoginParam);
log.error("登录失败,loginParam:{}", loginParam); return ApiResult.result(ApiCode.PWD_OR_USERNAME_ERROR, null);
// throw new AuthenticationException("用户名或密码错误");
return ApiResult.fail(ApiCode.PWD_OR_USERNAME_ERROR, language);
} }
if (StateEnum.DISABLE.getCode().equals(merchantUser.getState())) { if (StateEnum.DISABLE.getCode().equals(merchantUser.getState())) {
throw new AuthenticationException("账号已禁用"); return ApiResult.result(ApiCode.PWD_OR_USERNAME_ERROR, null);
} }
// 实际项目中,前端传过来的密码应先加密 // 实际项目中,前端传过来的密码应先加密
// 原始密码明文:123456 // 原始密码明文:123456
// 原始密码前端加密:sha256(123456) // 原始密码前端加密:sha256(123456)
// 后台加密规则:sha256(sha256(123456) + salt) // 后台加密规则:sha256(sha256(123456) + salt)
String encryptPassword = PasswordUtil.encrypt(loginParam.getPassword(), merchantUser.getSalt()); String encryptPassword = PasswordUtil.encrypt(merchantLoginParam.getPassword(), merchantUser.getSalt());
if (!encryptPassword.equals(merchantUser.getPassword())) { if (!encryptPassword.equals(merchantUser.getPassword())) {
return ApiResult.fail(ApiCode.PWD_OR_USERNAME_ERROR, language); return ApiResult.result(ApiCode.PWD_OR_USERNAME_ERROR, null);
} }
// 将系统用户对象转换成登录用户对象 // 将系统用户对象转换成登录用户对象
...@@ -193,7 +189,7 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper, ...@@ -193,7 +189,7 @@ public class MerchantUserServiceImpl extends BaseServiceImpl<MerchantUserMapper,
loginSysUserTokenVo.setLoginSysUserVo(loginSysUserVo); loginSysUserTokenVo.setLoginSysUserVo(loginSysUserVo);
// 设置token响应头 // 设置token响应头
response.setHeader(JwtTokenUtil.getTokenName(), loginSysUserTokenVo.getToken()); // response.setHeader(JwtTokenUtil.getTokenName(), loginSysUserTokenVo.getToken());
return ApiResult.ok(loginSysUserTokenVo); return ApiResult.ok(loginSysUserTokenVo);
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, username, nickname, password, salt, phone, phone_area, gender, head, remark, state, department_id, role_id, deleted, version, create_time, update_time id,mc_id,is_admin, username, nickname, password, salt, phone, phone_area, gender, head, remark, state, department_id, role_id, deleted, version, create_time, update_time
</sql> </sql>
<select id="getMerchantUserById" resultType="com.jumeirah.common.vo.MerchantUserQueryVo"> <select id="getMerchantUserById" resultType="com.jumeirah.common.vo.MerchantUserQueryVo">
......
...@@ -282,9 +282,9 @@ spring: ...@@ -282,9 +282,9 @@ spring:
elideSetAutoCommits: true elideSetAutoCommits: true
maintainTimeStats: false maintainTimeStats: false
hikari: hikari:
minimum-idle: 2 minimum-idle: 5
maximum-pool-size: 20 maximum-pool-size: 20
idle-timeout: 1000 idle-timeout: 10000
max-lifetime: 1800000 max-lifetime: 1800000
connection-timeout: 30000 connection-timeout: 30000
############################### HikariCP 数据源配置 end ################################ ############################### HikariCP 数据源配置 end ################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment