|
@@ -34,6 +34,7 @@ import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.validation.Valid;
|
|
|
import java.util.*;
|
|
|
import java.util.regex.Pattern;
|
|
@@ -511,6 +512,9 @@ public class TAdminController {
|
|
|
admin.setUsername(registerParam.getUsername());
|
|
|
admin.setName(registerParam.getName());
|
|
|
admin.setIfForeign(registerParam.getIfForeign());
|
|
|
+ if (registerParam.getIfForeign().equals("1")) {
|
|
|
+ admin.setPromoCodeOpen("0");
|
|
|
+ }
|
|
|
admin.setCompanyType(registerParam.getCompanyType());
|
|
|
if (Pattern.matches(phoneReg, phoneOrEmail)) {
|
|
|
admin.setPhone(registerParam.getPhoneOrEmail());
|
|
@@ -579,7 +583,7 @@ public class TAdminController {
|
|
|
@ApiOperation(value = "登录")
|
|
|
@PostMapping("/login")
|
|
|
@Audit(type = AuditEnum.LOGIN, content = "#username + '请求登录'")
|
|
|
- public ResponseModel<UserDetailBO> login(String username, String password, String hostName) {
|
|
|
+ public ResponseModel<UserDetailBO> login(String username, String password, String hostName, HttpServletRequest request) {
|
|
|
if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
|
|
|
return R.fail(ResponseCodesEnum.A0001, "参数有空");
|
|
|
}
|
|
@@ -619,8 +623,22 @@ public class TAdminController {
|
|
|
if (StringUtils.isEmpty(tAdmin.getManagerId())) {
|
|
|
String managerId = AdminUtils.encrypt(false, tAdmin.getId());
|
|
|
tAdmin.setManagerId(managerId);
|
|
|
- tAdminService.updateById(tAdmin);
|
|
|
}
|
|
|
+ // 设置登录时间
|
|
|
+ tAdmin.setLoginDate(new Date());
|
|
|
+ // 登录IP
|
|
|
+ String ipAddress = null;
|
|
|
+ // 获取通过代理服务器传递的真实IP地址
|
|
|
+ String xForwardedForHeader = request.getHeader("X-Forwarded-For");
|
|
|
+ if (xForwardedForHeader == null) {
|
|
|
+ ipAddress = request.getRemoteAddr();
|
|
|
+ } else {
|
|
|
+ // 多次反向代理后会有多个IP值,第一个IP才是真实IP
|
|
|
+ String[] ips = xForwardedForHeader.split(",");
|
|
|
+ ipAddress = ips[0].trim();
|
|
|
+ }
|
|
|
+ tAdmin.setLoginIp(ipAddress);
|
|
|
+ tAdminService.updateById(tAdmin);
|
|
|
UserDetailBO userDetailBO = tAdminService.getUserDetailBO(tAdmin);
|
|
|
return R.ok(userDetailBO);
|
|
|
}
|
|
@@ -634,7 +652,7 @@ public class TAdminController {
|
|
|
}
|
|
|
|
|
|
//验证用户名登录
|
|
|
- Integer adminId = Integer.valueOf(id);
|
|
|
+ Long adminId = Long.valueOf(id);
|
|
|
TAdmin admin = tAdminService.getById(adminId);
|
|
|
TAdmin tAdmin = Optional.ofNullable(admin)
|
|
|
.orElseThrow(() -> new BizException(ResponseCodesEnum.L0002));
|
|
@@ -706,10 +724,10 @@ public class TAdminController {
|
|
|
}
|
|
|
LambdaQueryWrapper<TAdmin> query = Wrappers.lambdaQuery();
|
|
|
if (StringUtils.isNotEmpty(name)) {
|
|
|
- query.eq(TAdmin::getName, name);
|
|
|
+ query.like(TAdmin::getName, name);
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(userName)) {
|
|
|
- query.eq(TAdmin::getUsername, userName);
|
|
|
+ query.like(TAdmin::getUsername, userName);
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(ifForeign)) {
|
|
|
query.eq(TAdmin::getIfForeign, ifForeign);
|