集成金鸡湖旧项目

dongdingding
杜函宇 11 months ago
parent 98d1893a2b
commit 1e601ff0e6

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-09-09
*/
@RestController
@RequestMapping("/approvalInfo")
@RequestMapping("/system/approvalInfo")
public class BmsApprovalInfoController extends BaseController {
@Autowired
private IBmsApprovalInfoService bmsApprovalInfoService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/bigStrongAward")
@RequestMapping("/system/bigStrongAward")
public class BmsBigStrongAwardController extends BaseController {
@Autowired
private IBmsBigStrongAwardService bmsBigStrongAwardService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/brandingAward")
@RequestMapping("/system/brandingAward")
public class BmsBrandingAwardController extends BaseController {
@Autowired
private IBmsBrandingAwardService bmsBrandingAwardService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/carrierConstructionAward")
@RequestMapping("/system/carrierConstructionAward")
public class BmsCarrierConstructionAwardController extends BaseController {
@Autowired
private IBmsCarrierConstructionAwardService bmsCarrierConstructionAwardService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-09-04
*/
@RestController
@RequestMapping("/creditManagement")
@RequestMapping("/system/creditManagement")
public class BmsCreditManagementController extends BaseController {
@Autowired
private IBmsCreditManagementService bmsCreditManagementService;

@ -36,7 +36,7 @@ import java.util.List;
* @date 2023-08-28
*/
@RestController
@RequestMapping("/declarationRecords")
@RequestMapping("/system/declarationRecords")
public class BmsDeclarationRecordsController extends BaseController {
@Autowired
private IBmsDeclarationRecordsService bmsDeclarationRecordsService;

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/enterpriseBasicInfo")
@RequestMapping("/system/enterpriseBasicInfo")
public class BmsEnterpriseBasicInfoController extends BaseController {
@Autowired

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-08-31
*/
@RestController
@RequestMapping("/enterpriseDirectory")
@RequestMapping("/system/enterpriseDirectory")
public class BmsEnterpriseDirectoryController extends BaseController {
@Autowired
private IBmsEnterpriseDirectoryService bmsEnterpriseDirectoryService;

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-09-04
*/
@RestController
@RequestMapping("/fieldInfo")
@RequestMapping("/system/fieldInfo")
public class BmsFieldInfoController extends BaseController {
@Autowired
private IBmsFieldInfoService bmsFieldInfoService;

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-09-04
*/
@RestController
@RequestMapping("/fileInfo")
@RequestMapping("/system/fileInfo")
public class BmsFileInfoController extends BaseController {
@Autowired
private IBmsFileInfoService bmsFileInfoService;

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-09-04
*/
@RestController
@RequestMapping("/fundingDetail")
@RequestMapping("/system/fundingDetail")
public class BmsFundingDetailController extends BaseController {
@Autowired
private IBmsFundingDetailService bmsFundingDetailService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/industrialInternetAward")
@RequestMapping("/system/industrialInternetAward")
public class BmsIndustrialInternetAwardController extends BaseController {
@Autowired
private IBmsIndustrialInternetAwardService bmsIndustrialInternetAwardService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-09-04
*/
@RestController
@RequestMapping("/integrationIndustries")
@RequestMapping("/system/integrationIndustries")
public class BmsIntegrationIndustriesController extends BaseController {
@Autowired
private IBmsIntegrationIndustriesService bmsIntegrationIndustriesService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/logisticsDevelopmentAward")
@RequestMapping("/system/logisticsDevelopmentAward")
public class BmsLogisticsDevelopmentAwardController extends BaseController {
@Autowired
private IBmsLogisticsDevelopmentAwardService bmsLogisticsDevelopmentAwardService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/manufacturingServicesAward")
@RequestMapping("/system/manufacturingServicesAward")
public class BmsManufacturingServicesAwardController extends BaseController {
@Autowired
private IBmsManufacturingServicesAwardService bmsManufacturingServicesAwardService;

@ -24,7 +24,7 @@ import org.springframework.web.bind.annotation.RestController;
* @date 2023-09-09
*/
@RestController
@RequestMapping("/openInterface")
@RequestMapping("/system/openInterface")
public class BmsOpenInterfaceController extends BaseController {
@Autowired

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/platformConstructionAward")
@RequestMapping("/system/platformConstructionAward")
public class BmsPlatformConstructionAwardController extends BaseController {
@Autowired
private IBmsPlatformConstructionAwardService bmsPlatformConstructionAwardService;

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-09-09
*/
@RestController
@RequestMapping("/processInfo")
@RequestMapping("/system/processInfo")
public class BmsProcessInfoController extends BaseController {
@Autowired
private IBmsProcessInfoService bmsProcessInfoService;

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-09-09
*/
@RestController
@RequestMapping("/projectInfo")
@RequestMapping("/system/projectInfo")
public class BmsProjectInfoController extends BaseController {
@Autowired
private IBmsProjectInfoService bmsProjectInfoService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/projectSettlementAward")
@RequestMapping("/system/projectSettlementAward")
public class BmsProjectSettlementAwardController extends BaseController {
@Autowired
private IBmsProjectSettlementAwardService bmsProjectSettlementAwardService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/sceneOpeningAward")
@RequestMapping("/system/sceneOpeningAward")
public class BmsSceneOpeningAwardController extends BaseController {
@Autowired
private IBmsSceneOpeningAwardService bmsSceneOpeningAwardService;

@ -30,7 +30,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/templateInfo")
@RequestMapping("/system/templateInfo")
public class BmsTemplateInfoController extends BaseController {
@Autowired
private IBmsTemplateInfoService bmsTemplateInfoService;

@ -32,7 +32,7 @@ import java.util.List;
* @date 2023-09-07
*/
@RestController
@RequestMapping("/templateRecord")
@RequestMapping("/system/templateRecord")
public class BmsTemplateRecordController extends BaseController {
@Autowired
private IBmsTemplateRecordService bmsTemplateRecordService;

@ -28,7 +28,7 @@ import java.util.List;
* @date 2023-08-25
*/
@RestController
@RequestMapping("/fundingInfo")
@RequestMapping("/system/fundingInfo")
public class BsmFundingInfoController extends BaseController {
@Autowired
private IBsmFundingInfoService bsmFundingInfoService;

@ -1,7 +1,13 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.service.TokenService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -17,6 +23,9 @@ import com.ruoyi.framework.web.service.SysLoginService;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.system.service.ISysMenuService;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
/**
*
*
@ -34,6 +43,9 @@ public class SysLoginController
@Autowired
private SysPermissionService permissionService;
@Resource
private TokenService tokenService;
/**
*
*
@ -41,14 +53,11 @@ public class SysLoginController
* @return
*/
@PostMapping("/login")
public AjaxResult login(@RequestBody LoginBody loginBody)
public R<?> login(@RequestBody LoginBody loginBody)
{
AjaxResult ajax = AjaxResult.success();
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
ajax.put(Constants.TOKEN, token);
return ajax;
Map<String, Object> login = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid(),loginBody.getUserType());
return R.ok(login);
}
/**
@ -56,7 +65,7 @@ public class SysLoginController
*
* @return
*/
@GetMapping("getInfo")
@GetMapping("/system/user/getInfo")
public AjaxResult getInfo()
{
SysUser user = SecurityUtils.getLoginUser().getUser();
@ -76,11 +85,23 @@ public class SysLoginController
*
* @return
*/
@GetMapping("getRouters")
@GetMapping("/system/menu/getRouters")
public AjaxResult getRouters()
{
Long userId = SecurityUtils.getUserId();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
return AjaxResult.success(menuService.buildMenus(menus));
}
//刷新令牌
@PostMapping("/refresh")
public R<?> refresh(HttpServletRequest request) {
LoginUser loginUser = tokenService.getLoginUser(request);
if (StringUtils.isNotNull(loginUser)) {
// 刷新令牌有效期
tokenService.refreshToken(loginUser);
return R.ok();
}
return R.ok();
}
}

@ -10,6 +10,15 @@ import io.jsonwebtoken.Claims;
*/
public class Constants
{
/**
*
*/
public static final String LOGIN_SUCCESS_STATUS = "0";
/**
*
*/
public static final String LOGIN_FAIL_STATUS = "1";
/**
* UTF-8
*/

@ -41,6 +41,20 @@ public class SysUser extends BaseEntity {
@Excel(name = "登录名称")
private String userName;
/**
*
*/
@Excel(name = "用户类型")
private String userType;
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
/**
*
*/

@ -27,6 +27,19 @@ public class LoginBody
*/
private String uuid;
/**
* 000102
*/
private String userType;
public String getUserType() {
return userType;
}
public void setUserType(String userType) {
this.userType = userType;
}
public String getUsername()
{
return username;

@ -71,6 +71,22 @@ public class LoginUser implements UserDetails
*/
private SysUser user;
/**
*
*/
private Set<String> roles;
public Set<String> getRoles() {
return roles;
}
public void setRoles(Set<String> roles) {
this.roles = roles;
}
public LoginUser()
{
}

@ -1,6 +1,12 @@
package com.ruoyi.framework.web.service;
import javax.annotation.Resource;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.UserStatus;
import com.ruoyi.common.utils.*;
import com.ruoyi.system.domain.SysLogininfor;
import com.ruoyi.system.service.ISysLogininforService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.BadCredentialsException;
@ -19,9 +25,6 @@ import com.ruoyi.common.exception.user.CaptchaException;
import com.ruoyi.common.exception.user.CaptchaExpireException;
import com.ruoyi.common.exception.user.UserNotExistsException;
import com.ruoyi.common.exception.user.UserPasswordNotMatchException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.ip.IpUtils;
import com.ruoyi.framework.manager.AsyncManager;
import com.ruoyi.framework.manager.factory.AsyncFactory;
@ -29,6 +32,9 @@ import com.ruoyi.framework.security.context.AuthenticationContextHolder;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserService;
import java.util.Map;
import java.util.Set;
/**
*
*
@ -52,6 +58,15 @@ public class SysLoginService
@Autowired
private ISysConfigService configService;
@Resource
private ISysLogininforService logininforService;
@Autowired
private SysPermissionService permissionService;
@Autowired
private SysPasswordService sysPasswordService;
/**
*
*
@ -61,7 +76,7 @@ public class SysLoginService
* @param uuid
* @return
*/
public String login(String username, String password, String code, String uuid)
public Map<String, Object> login(String username, String password, String code, String uuid,String userType)
{
// 验证码校验
validateCaptcha(username, code, uuid);
@ -95,7 +110,30 @@ public class SysLoginService
}
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
recordLoginInfo(loginUser.getUserId());
// recordLoginInfo(loginUser.getUserId());
if (StringUtils.isNull(loginUser) || StringUtils.isNull(loginUser.getUserId())) {
addRecord(username, Constants.LOGIN_FAIL, "登录用户不存在");
throw new ServiceException("登录用户:" + username + " 不存在");
}
SysUser user = loginUser.getUser();
// 判断用户类型
if (!"admin".equals(username)){
if (!userType.equals(user.getUserType())){
throw new ServiceException("该用户类型错误");
}
}
if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) {
addRecord(username, Constants.LOGIN_FAIL, "对不起,您的账号已被删除");
throw new ServiceException("对不起,您的账号:" + username + " 已被删除");
}
if (UserStatus.DISABLE.getCode().equals(user.getStatus())) {
addRecord(username, Constants.LOGIN_FAIL, "用户已停用,请联系管理员");
throw new ServiceException("对不起,您的账号:" + username + " 已停用");
}
// sysPasswordService.validate(user);
addRecord(username, Constants.LOGIN_SUCCESS, "登录成功");
// 生成token
return tokenService.createToken(loginUser);
}
@ -137,32 +175,30 @@ public class SysLoginService
public void loginPreCheck(String username, String password)
{
// 用户名或密码为空 错误
if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password))
{
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("not.null")));
throw new UserNotExistsException();
if (StringUtils.isAnyBlank(username, password)) {
this.addRecord(username, Constants.LOGIN_FAIL, "用户/密码必须填写");
throw new ServiceException("用户/密码必须填写");
}
// 密码如果不在指定范围内 错误
if (password.length() < UserConstants.PASSWORD_MIN_LENGTH
|| password.length() > UserConstants.PASSWORD_MAX_LENGTH)
{
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
throw new UserPasswordNotMatchException();
|| password.length() > UserConstants.PASSWORD_MAX_LENGTH) {
this.addRecord(username, Constants.LOGIN_FAIL, "用户密码不在指定范围");
throw new ServiceException("用户密码不在指定范围");
}
// 用户名不在指定范围内 错误
if (username.length() < UserConstants.USERNAME_MIN_LENGTH
|| username.length() > UserConstants.USERNAME_MAX_LENGTH)
{
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
throw new UserPasswordNotMatchException();
|| username.length() > UserConstants.USERNAME_MAX_LENGTH) {
this.addRecord(username, Constants.LOGIN_FAIL, "用户名不在指定范围");
throw new ServiceException("用户名不在指定范围");
}
// IP黑名单校验
String blackStr = configService.selectConfigByKey("sys.login.blackIPList");
if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr()))
{
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("login.blocked")));
throw new BlackListException();
}
// String blackStr = configService.selectConfigByKey("sys.login.blackIPList");
// if (IpUtils.isMatchedIp(blackStr, IpUtils.getIpAddr()))
// {
// AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("login.blocked")));
// throw new BlackListException();
// }
}
/**
@ -178,4 +214,26 @@ public class SysLoginService
sysUser.setLoginDate(DateUtils.getNowDate());
userService.updateUserProfile(sysUser);
}
/**
*
*
* @param username
* @param status
* @param message
* @return
*/
public void addRecord(String username, String status, String message) {
SysLogininfor logininfor = new SysLogininfor();
logininfor.setUserName(username);
logininfor.setIpaddr(IpUtils.getIpAddr(ServletUtils.getRequest()));
logininfor.setMsg(message);
// 日志状态
if (StringUtils.equalsAny(status, Constants.LOGIN_SUCCESS, Constants.LOGOUT, Constants.REGISTER)) {
logininfor.setStatus(Constants.LOGIN_SUCCESS_STATUS);
} else if (Constants.LOGIN_FAIL.equals(status)) {
logininfor.setStatus(Constants.LOGIN_FAIL_STATUS);
}
logininforService.insertLogininfor(logininfor);
}
}

@ -111,7 +111,7 @@ public class TokenService
* @param loginUser
* @return
*/
public String createToken(LoginUser loginUser)
public Map<String, Object> createToken(LoginUser loginUser)
{
String token = IdUtils.fastUUID();
loginUser.setToken(token);
@ -120,7 +120,13 @@ public class TokenService
Map<String, Object> claims = new HashMap<>();
claims.put(Constants.LOGIN_USER_KEY, token);
return createToken(claims);
String token1 = createToken(claims);
// 接口返回信息
Map<String, Object> rspMap = new HashMap<>();
rspMap.put("access_token", token1);
rspMap.put("expires_in", expireTime);
return rspMap;
}
/**

@ -63,12 +63,21 @@ public class SysLogininfor extends BaseEntity {
@Excel(name = "提示消息")
private String msg;
/**
* 访
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "访问时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date loginTime;
private Date accessTime;
public Date getAccessTime() {
return accessTime;
}
public void setAccessTime(Date accessTime) {
this.accessTime = accessTime;
}
public Long getInfoId() {
return infoId;
@ -134,11 +143,4 @@ public class SysLogininfor extends BaseEntity {
this.msg = msg;
}
public Date getLoginTime() {
return loginTime;
}
public void setLoginTime(Date loginTime) {
this.loginTime = loginTime;
}
}

@ -9,21 +9,18 @@
<result property="userName" column="user_name"/>
<result property="status" column="status"/>
<result property="ipaddr" column="ipaddr"/>
<result property="loginLocation" column="login_location"/>
<result property="browser" column="browser"/>
<result property="os" column="os"/>
<result property="msg" column="msg"/>
<result property="loginTime" column="login_time"/>
<result property="accessTime" column="access_time"/>
</resultMap>
<insert id="insertLogininfor" parameterType="com.ruoyi.system.domain.SysLogininfor">
insert into sys_logininfor (user_name, status, ipaddr, login_location, browser, os, msg, login_time)
values (#{userName}, #{status}, #{ipaddr}, #{loginLocation}, #{browser}, #{os}, #{msg}, sysdate())
insert into sys_logininfor (user_name, status, ipaddr, msg, access_time)
values (#{userName}, #{status}, #{ipaddr}, #{msg}, sysdate())
</insert>
<select id="selectLogininforList" parameterType="com.ruoyi.system.domain.SysLogininfor"
resultMap="SysLogininforResult">
select info_id, user_name, ipaddr, login_location, browser, os, status, msg, login_time from sys_logininfor
select info_id, user_name, ipaddr, status, msg, access_time from sys_logininfor
<where>
<if test="ipaddr != null and ipaddr != ''">
AND ipaddr like concat('%', #{ipaddr}, '%')
@ -35,10 +32,10 @@
AND user_name like concat('%', #{userName}, '%')
</if>
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
AND login_time &gt;= #{params.beginTime}
AND access_time &gt;= #{params.beginTime}
</if>
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
AND login_time &lt;= #{params.endTime}
AND access_time &lt;= #{params.endTime}
</if>
</where>
order by info_id desc

@ -10,6 +10,9 @@
<result property="userName" column="user_name"/>
<result property="nickName" column="nick_name"/>
<result property="email" column="email"/>
<result property="userType" column="user_type"/>
<result property="phonenumber" column="phonenumber"/>
<result property="sex" column="sex"/>
<result property="avatar" column="avatar"/>
@ -55,6 +58,7 @@
u.avatar,
u.phonenumber,
u.password,
u.user_type,
u.sex,
u.status,
u.del_flag,
@ -83,7 +87,7 @@
</sql>
<select id="selectUserList" parameterType="com.ruoyi.common.core.domain.entity.SysUser" resultMap="SysUserResult">
select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status,
select u.user_id, u.dept_id,u.user_type, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status,
u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user
u
left join sys_dept d on u.dept_id = d.dept_id
@ -116,7 +120,7 @@
<select id="selectAllocatedList" parameterType="com.ruoyi.common.core.domain.entity.SysUser"
resultMap="SysUserResult">
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
select distinct u.user_id, u.dept_id,u.user_type, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
@ -134,7 +138,7 @@
<select id="selectUnallocatedList" parameterType="com.ruoyi.common.core.domain.entity.SysUser"
resultMap="SysUserResult">
select distinct u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
select distinct u.user_id, u.dept_id,u.user_type, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time
from sys_user u
left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id
@ -197,6 +201,7 @@
<if test="avatar != null and avatar != ''">avatar,</if>
<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
<if test="sex != null and sex != ''">sex,</if>
<if test="userType != null and userType != ''">user_type,</if>
<if test="password != null and password != ''">password,</if>
<if test="status != null and status != ''">status,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
@ -207,6 +212,7 @@
<if test="deptId != null and deptId != ''">#{deptId},</if>
<if test="userName != null and userName != ''">#{userName},</if>
<if test="nickName != null and nickName != ''">#{nickName},</if>
<if test="userType != null and userType != ''">#{userType},</if>
<if test="email != null and email != ''">#{email},</if>
<if test="avatar != null and avatar != ''">#{avatar},</if>
<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
@ -227,6 +233,7 @@
<if test="nickName != null and nickName != ''">nick_name = #{nickName},</if>
<if test="email != null ">email = #{email},</if>
<if test="phonenumber != null ">phonenumber = #{phonenumber},</if>
<if test="userType != null and userType != ''">user_type = #{userType},</if>
<if test="sex != null and sex != ''">sex = #{sex},</if>
<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
<if test="password != null and password != ''">password = #{password},</if>

Loading…
Cancel
Save