From fc1a066edd335345167df7573f9119ef8dd1689a Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Thu, 10 Jul 2025 17:36:47 +0800
Subject: [PATCH] 小程序:微信授权登录角色处理
---
oying-system/src/main/java/com/oying/modules/sh/domain/UserAddress.java | 4 ++
oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java | 35 +++++++----------
oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml | 7 ++-
oying-system/src/main/java/com/oying/modules/system/domain/User.java | 4 --
oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java | 1
oying-system/src/main/java/com/oying/modules/security/rest/AuthController.java | 4 +
oying-system/src/main/resources/mapper/system/UserMapper.xml | 11 -----
7 files changed, 28 insertions(+), 38 deletions(-)
diff --git a/oying-system/src/main/java/com/oying/modules/security/rest/AuthController.java b/oying-system/src/main/java/com/oying/modules/security/rest/AuthController.java
index 25a76cc..4141c9b 100644
--- a/oying-system/src/main/java/com/oying/modules/security/rest/AuthController.java
+++ b/oying-system/src/main/java/com/oying/modules/security/rest/AuthController.java
@@ -172,6 +172,8 @@
user.setUsername(phone);
user.setNickName("OYING-" + phone);
user.setUserType(ConstantsKey.BUYER);
+ user.setPhone(phone);
+ user.setGender("男");
user.setEnabled(true);
getRole(user);
user.setPassword(passwordEncoder.encode(phone.substring(phone.length() - 6)));
@@ -217,7 +219,7 @@
Set<Role> roles = new HashSet<>();
Role role = new Role();
DictDetail detail = dictDetailService.getDictByName(ConstantsKey.USER_TYPE_BUYER).get(0);
- role.setId(Long.valueOf(detail.getLabel()));
+ role.setId(Long.valueOf(detail.getValue()));
roles.add(role);
user1.setRoles(roles);
}
diff --git a/oying-system/src/main/java/com/oying/modules/sh/domain/UserAddress.java b/oying-system/src/main/java/com/oying/modules/sh/domain/UserAddress.java
index 3460682..b597d31 100644
--- a/oying-system/src/main/java/com/oying/modules/sh/domain/UserAddress.java
+++ b/oying-system/src/main/java/com/oying/modules/sh/domain/UserAddress.java
@@ -51,6 +51,10 @@
@ApiModelProperty(value = "街道")
private String street;
+ @ApiModelProperty(value = "短地址")
+ @NotBlank
+ private String shortAddress;
+
@NotBlank
@ApiModelProperty(value = "详细地址")
private String detail;
diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java b/oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java
index c85cd4c..073e44f 100644
--- a/oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java
+++ b/oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java
@@ -94,6 +94,7 @@
map.put("城市", userAddress.getCity());
map.put("区县", userAddress.getDistrict());
map.put("街道", userAddress.getStreet());
+ map.put("短地址", userAddress.getShortAddress());
map.put("详细地址", userAddress.getDetail());
map.put("经度", userAddress.getLongitude());
map.put("纬度", userAddress.getLatitude());
diff --git a/oying-system/src/main/java/com/oying/modules/system/domain/User.java b/oying-system/src/main/java/com/oying/modules/system/domain/User.java
index d5fa6fc..a35686a 100644
--- a/oying-system/src/main/java/com/oying/modules/system/domain/User.java
+++ b/oying-system/src/main/java/com/oying/modules/system/domain/User.java
@@ -34,10 +34,6 @@
@ApiModelProperty(value = "用户角色")
private Set<Role> roles;
- @TableField(exist = false)
- @ApiModelProperty(value = "用户岗位")
- private Set<Job> jobs;
-
@NotBlank
@ApiModelProperty(value = "用户类型(BUYER、MERCHANT、RIDER、ADMIN、SUPPLIER、AGENT)")
private String userType;
diff --git a/oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java b/oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java
index d6ce91d..46b0cad 100644
--- a/oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java
+++ b/oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java
@@ -5,7 +5,6 @@
import com.oying.domain.BucketStorage;
import com.oying.modules.security.service.OnlineUserService;
import com.oying.modules.security.service.UserCacheManager;
-import com.oying.modules.system.domain.Job;
import com.oying.modules.system.domain.Role;
import com.oying.modules.system.domain.User;
import com.oying.modules.system.domain.dto.UserQueryCriteria;
@@ -81,12 +80,10 @@
// if (userMapper.findByEmail(resources.getEmail()) != null) {
// throw new EntityExistException(User.class, "email", resources.getEmail());
// }
-// if (userMapper.findByPhone(resources.getPhone()) != null) {
-// throw new EntityExistException(User.class, "phone", resources.getPhone());
-// }
+ if (userMapper.findByPhone(resources.getPhone()) != null) {
+ throw new EntityExistException(User.class, "phone", resources.getPhone());
+ }
save(resources);
- // 保存用户岗位
- userJobMapper.insertData(resources.getId(), resources.getJobs());
// 保存用户角色
userRoleMapper.insertData(resources.getId(), resources.getRoles());
}
@@ -96,17 +93,20 @@
public void update(User resources) throws Exception {
User user = getById(resources.getId());
User user1 = userMapper.findByUsername(resources.getUsername());
-// User user2 = userMapper.findByEmail(resources.getEmail());
-// User user3 = userMapper.findByPhone(resources.getPhone());
+ User user3 = userMapper.findByPhone(resources.getPhone());
if (user1 != null && !user.getId().equals(user1.getId())) {
throw new EntityExistException(User.class, "username", resources.getUsername());
}
-// if (user2 != null && !user.getId().equals(user2.getId())) {
-// throw new EntityExistException(User.class, "email", resources.getEmail());
-// }
-// if (user3 != null && !user.getId().equals(user3.getId())) {
-// throw new EntityExistException(User.class, "phone", resources.getPhone());
-// }
+ if (user3 != null && !user.getId().equals(user3.getId())) {
+ throw new EntityExistException(User.class, "phone", resources.getPhone());
+ }
+ if (resources.getEmail() != null) {
+ User user2 = userMapper.findByEmail(resources.getEmail());
+ if (user2 != null && !user.getId().equals(user2.getId())) {
+ throw new EntityExistException(User.class, "email", resources.getEmail());
+ }
+ user.setEmail(resources.getEmail());
+ }
// 如果用户的角色改变
if (!resources.getRoles().equals(user.getRoles())) {
redisUtils.del(CacheKey.DATA_USER + resources.getId());
@@ -119,19 +119,14 @@
onlineUserService.kickOutForUsername(resources.getUsername());
}
user.setUsername(resources.getUsername());
- user.setEmail(resources.getEmail());
user.setEnabled(resources.getEnabled());
user.setRoles(resources.getRoles());
- user.setJobs(resources.getJobs());
user.setPhone(resources.getPhone());
user.setNickName(resources.getNickName());
user.setGender(resources.getGender());
saveOrUpdate(user);
// 清除缓存
delCaches(user.getId(), user.getUsername());
- // 更新用户岗位
- userJobMapper.deleteByUserId(resources.getId());
- userJobMapper.insertData(resources.getId(), resources.getJobs());
// 更新用户角色
userRoleMapper.deleteByUserId(resources.getId());
userRoleMapper.insertData(resources.getId(), resources.getRoles());
@@ -247,10 +242,10 @@
Map<String, Object> map = new LinkedHashMap<>();
map.put("用户名", user.getUsername());
map.put("角色", roles);
- map.put("岗位", user.getJobs().stream().map(Job::getName).collect(Collectors.toList()));
map.put("邮箱", user.getEmail());
map.put("状态", user.getEnabled() ? "启用" : "禁用");
map.put("手机号码", user.getPhone());
+ map.put("openid", user.getOpenid());
map.put("修改密码的时间", user.getPwdResetTime());
map.put("创建日期", user.getCreateTime());
list.add(map);
diff --git a/oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml b/oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml
index 2719b7d..a12e793 100644
--- a/oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml
+++ b/oying-system/src/main/resources/mapper/sh/UserAddressMapper.xml
@@ -10,6 +10,7 @@
<result column="city" property="city"/>
<result column="district" property="district"/>
<result column="street" property="street"/>
+ <result column="short_address" property="shortAddress"/>
<result column="detail" property="detail"/>
<result column="longitude" property="longitude"/>
<result column="latitude" property="latitude"/>
@@ -22,10 +23,12 @@
</resultMap>
<sql id="Base_Column_List">
- address_id, user_id, receiver_name, receiver_phone, province, city, district, street, detail, longitude, latitude, is_default, tag, create_by, create_time, update_by, update_time
+ address_id, user_id, receiver_name, receiver_phone, province, city, district, street, short_address, detail, longitude, latitude, is_default, tag, create_by, create_time, update_by, update_time
</sql>
<update id="isDefault">
- update sh_user_address set is_default = false where user_id = #{userId}
+ update sh_user_address
+ set is_default = false
+ where user_id = #{userId}
</update>
<select id="findAll" resultMap="BaseResultMap">
diff --git a/oying-system/src/main/resources/mapper/system/UserMapper.xml b/oying-system/src/main/resources/mapper/system/UserMapper.xml
index feb484b..b877335 100644
--- a/oying-system/src/main/resources/mapper/system/UserMapper.xml
+++ b/oying-system/src/main/resources/mapper/system/UserMapper.xml
@@ -20,10 +20,6 @@
<result column="user_update_by" property="updateBy"/>
<result column="user_create_time" property="createTime"/>
<result column="user_update_time" property="updateTime"/>
- <collection property="jobs" ofType="com.oying.modules.system.domain.Job">
- <id column="job_id" property="id"/>
- <result column="job_name" property="name"/>
- </collection>
<collection property="roles" ofType="com.oying.modules.system.domain.Role">
<id column="role_id" property="id"/>
<result column="role_name" property="name"/>
@@ -39,10 +35,6 @@
u.gender as user_gender, u.avatar_name as user_avatar_name, u.avatar_path as user_avatar_path,
u.enabled as user_enabled, u.pwd_reset_time as user_pwd_reset_time, u.create_by as user_create_by,
u.update_by as user_update_by, u.create_time as user_create_time, u.update_time as user_update_time
- </sql>
-
- <sql id="Job_Column_List">
- j.job_id as job_id, j.name as job_name
</sql>
<sql id="Role_Column_List">
@@ -78,7 +70,6 @@
<select id="findAll" resultMap="BaseResultMap">
select u.*,
- <include refid="Job_Column_List"/>,
<include refid="Role_Column_List"/>
from (
select
@@ -90,8 +81,6 @@
limit #{criteria.offset}, #{criteria.size}
</if>
) u
- left join sys_users_jobs suj on u.user_user_id = suj.user_id
- left join sys_job j on suj.job_id = j.job_id
left join sys_users_roles sur on u.user_user_id = sur.user_id
left join sys_role r on sur.role_id = r.role_id
order by u.user_user_id desc
--
Gitblit v1.9.3