From 119ef4397da3b8b9bc4397f61833860d41411ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 12 Feb 2025 15:14:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E8=B4=A6=E5=8F=B7=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/czg/controller/CommonController.java | 6 +- .../czg/controller/ShopStaffController.java | 75 +++++++++++++++++++ .../account/dto/staff/ShopStaffAddDTO.java | 63 ++++++++++++++++ .../account/dto/staff/ShopStaffEditDTO.java | 56 ++++++++++++++ .../account/dto/staff/ShopStaffRemoveDTO.java | 15 ++++ .../com/czg/account/entity/ShopStaff.java | 2 +- .../czg/account/service/CommonService.java | 14 ++++ .../czg/account/service/ShopStaffService.java | 11 +++ .../czg/account/service/SysUserService.java | 5 ++ .../account/service/SysUsersRolesService.java | 1 + .../src/main/java/com/czg/utils/PageUtil.java | 4 +- .../service/impl/CommonServiceImpl.java | 10 +++ .../service/impl/ShopInfoServiceImpl.java | 20 +---- .../service/impl/ShopStaffServiceImpl.java | 69 +++++++++++++++++ .../service/impl/SysUserServiceImpl.java | 56 ++++++++++++++ .../impl/SysUsersRolesServiceImpl.java | 9 +++ 16 files changed, 392 insertions(+), 24 deletions(-) create mode 100644 cash-api/account-server/src/main/java/com/czg/controller/ShopStaffController.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffAddDTO.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffEditDTO.java create mode 100644 cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffRemoveDTO.java diff --git a/cash-api/account-server/src/main/java/com/czg/controller/CommonController.java b/cash-api/account-server/src/main/java/com/czg/controller/CommonController.java index 13e1bb89..2bbed504 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/CommonController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/CommonController.java @@ -4,6 +4,7 @@ import com.czg.account.service.CommonService; import com.czg.resp.CzgResult; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @@ -11,7 +12,8 @@ import org.springframework.web.bind.annotation.RestController; * 公共接口 * @author Administrator */ -@RestController("/admin/common") +@RestController +@RequestMapping("/admin/common") public class CommonController { @Resource private CommonService commonService; @@ -21,7 +23,7 @@ public class CommonController { * @param type 验证码类型 * @return 是否成功 */ - @PostMapping + @PostMapping("/sms") public CzgResult sendSms(@RequestParam String type) { return CzgResult.success(commonService.sendSms(type)); } diff --git a/cash-api/account-server/src/main/java/com/czg/controller/ShopStaffController.java b/cash-api/account-server/src/main/java/com/czg/controller/ShopStaffController.java new file mode 100644 index 00000000..1c9bc0da --- /dev/null +++ b/cash-api/account-server/src/main/java/com/czg/controller/ShopStaffController.java @@ -0,0 +1,75 @@ +package com.czg.controller; + +import com.czg.account.dto.staff.ShopStaffAddDTO; +import com.czg.account.dto.staff.ShopStaffEditDTO; +import com.czg.account.dto.staff.ShopStaffRemoveDTO; +import com.czg.account.entity.ShopStaff; +import com.czg.account.service.ShopStaffService; +import com.czg.annotation.SaAdminCheckPermission; +import com.czg.resp.CzgResult; +import com.mybatisflex.core.paginate.Page; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * 店铺员工管理 + * + * @author Administrator + */ +@RestController +@RequestMapping("/admin/shopStaff") +public class ShopStaffController { + + @Resource + private ShopStaffService shopStaffService; + + /** + * 员工列表 + * 权限标识: shopStaff:list + * @param name 账号名 + * @param code 员工编号 + * @return 分页数据 + */ + @SaAdminCheckPermission("shopStaff:list") + @GetMapping + public CzgResult> list(String name, String code) { + return CzgResult.success(shopStaffService.get(name, code)); + } + + /** + * 员工添加 + * 权限标识: shopStaff:add + * @param shopStaffAddDTO 添加信息 + * @return 是否成功 + */ + @SaAdminCheckPermission("shopStaff:add") + @PostMapping + public CzgResult add(@RequestBody @Validated ShopStaffAddDTO shopStaffAddDTO) { + return CzgResult.success(shopStaffService.add(shopStaffAddDTO)); + } + + /** + * 员工修改 + * 权限标识: shopStaff:edit + * @param shopStaffEditDTO 添加信息 + * @return 是否成功 + */ + @SaAdminCheckPermission("shopStaff:edit") + @PutMapping + public CzgResult edit(@RequestBody @Validated ShopStaffEditDTO shopStaffEditDTO) { + return CzgResult.success(shopStaffService.edit(shopStaffEditDTO)); + } + + /** + * 员工删除 + * 权限标识: shopStaff:del + * @param shopStaffRemoveDTO 删除信息 + * @return 是否成功 + */ + @SaAdminCheckPermission("shopStaff:del") + @DeleteMapping + public CzgResult delete(@RequestBody @Validated ShopStaffRemoveDTO shopStaffRemoveDTO) { + return CzgResult.success(shopStaffService.delete(shopStaffRemoveDTO)); + } +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffAddDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffAddDTO.java new file mode 100644 index 00000000..bf6963d7 --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffAddDTO.java @@ -0,0 +1,63 @@ +package com.czg.account.dto.staff; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Administrator + */ +@Data +public class ShopStaffAddDTO { + /** + * 角色id + */ + @NotNull(message = "角色id不为空") + private Long roleId; + /** + * 员工姓名 + */ + private String name; + /** + * 登录账号 + */ + @NotEmpty(message = "登录账号不为空") + private String accountName; + /** + * 登录密码 + */ + @NotEmpty(message = "登录密码不为空") + private String accountPwd; + /** + * 手机号 + */ + @NotEmpty(message = "手机号不为空") + private String phone; + /** + * 员工编号 + */ + @NotEmpty(message = "员工编号不为空") + private String code; + /** + * 优惠类型 1 折扣 0 金额 + */ + private Integer discountType = 1; + /** + * 最大优惠金额 + */ + private BigDecimal maxDiscountAmount; + /** + * 1启用0不启用 + */ + private Integer status = 1; + /** + * 是否允许管理端登录 + */ + private Integer isManage = 1; + /** + * 是否允许pc登录 + */ + private Integer isPc = 1; +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffEditDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffEditDTO.java new file mode 100644 index 00000000..0449140e --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffEditDTO.java @@ -0,0 +1,56 @@ +package com.czg.account.dto.staff; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Administrator + */ +@Data +public class ShopStaffEditDTO { + @NotNull(message = "id不为空") + private Long id; + /** + * 角色id + */ + private Long roleId; + /** + * 员工姓名 + */ + private String name; + /** + * 登录密码 + */ + private String accountPwd; + /** + * 手机号 + */ + private String phone; + /** + * 员工编号 + */ + private String code; + /** + * 优惠类型 1 折扣 0 金额 + */ + private Integer discountType; + /** + * 最大优惠金额 + */ + private BigDecimal maxDiscountAmount; + /** + * 1启用0不启用 + */ + private Integer status; + /** + * 是否允许管理端登录 + */ + private Integer isManage; + /** + * 是否允许pc登录 + */ + private Integer isPc; +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffRemoveDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffRemoveDTO.java new file mode 100644 index 00000000..ccf535bc --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/staff/ShopStaffRemoveDTO.java @@ -0,0 +1,15 @@ +package com.czg.account.dto.staff; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Administrator + */ +@Data +public class ShopStaffRemoveDTO { + @NotNull(message = "id不为空") + private Long id; +} diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopStaff.java b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopStaff.java index bc6bd72b..c4f671cc 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopStaff.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/entity/ShopStaff.java @@ -64,7 +64,7 @@ public class ShopStaff implements Serializable { /** * shopId */ - private String shopId; + private Long shopId; @Column(onInsertValue = "now()") private LocalDateTime createTime; diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/CommonService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/CommonService.java index ff072d68..44fc00e4 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/CommonService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/CommonService.java @@ -4,5 +4,19 @@ package com.czg.account.service; * @author Administrator */ public interface CommonService { + + /** + * 发送验证码 + * @param type 验证码类型 + * @return 是否成功 + */ Boolean sendSms(String type); + + /** + * 校验短信验证码是否正常 + * @param type 验证码类型 + * @param code 验证码 + * @return 是否正确 + */ + Boolean checkSmsCode(String type, String code); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopStaffService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopStaffService.java index 1080b795..e0443346 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopStaffService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopStaffService.java @@ -1,6 +1,10 @@ package com.czg.account.service; +import com.czg.account.dto.staff.ShopStaffAddDTO; +import com.czg.account.dto.staff.ShopStaffEditDTO; +import com.czg.account.dto.staff.ShopStaffRemoveDTO; import com.czg.account.entity.ShopStaff; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; /** @@ -11,4 +15,11 @@ import com.mybatisflex.core.service.IService; */ public interface ShopStaffService extends IService { + Boolean add(ShopStaffAddDTO shopStaffAddDTO); + + Boolean edit(ShopStaffEditDTO shopStaffEditDTO); + + Page get(String name, String code); + + Boolean delete(ShopStaffRemoveDTO shopStaffRemoveDTO); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/SysUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/SysUserService.java index 0e6eb401..e3e814a1 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/SysUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/SysUserService.java @@ -11,4 +11,9 @@ import com.mybatisflex.core.service.IService; */ public interface SysUserService extends IService { + SysUser addUser(String nickname, String accountName, String accountPwd, String phone, Long roleId); + + Boolean updateSysUserPwd(long sysUserId, String accountPwd); + + Boolean removeUserAndRole(Integer id); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/SysUsersRolesService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/SysUsersRolesService.java index 3755dff8..73113371 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/SysUsersRolesService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/SysUsersRolesService.java @@ -11,4 +11,5 @@ import com.mybatisflex.core.service.IService; */ public interface SysUsersRolesService extends IService { + Boolean updateRole(long sysUserId, Long roleId); } diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/utils/PageUtil.java b/cash-common/cash-common-tools/src/main/java/com/czg/utils/PageUtil.java index cc423009..e5f29fd2 100644 --- a/cash-common/cash-common-tools/src/main/java/com/czg/utils/PageUtil.java +++ b/cash-common/cash-common-tools/src/main/java/com/czg/utils/PageUtil.java @@ -53,8 +53,8 @@ public class PageUtil { */ public Page buildPage() { HttpServletRequest request = ServletUtil.getRequest(); - Integer pageNum = Convert.toInt(request, DEFAULT_PAGE); - Integer pageSize = Convert.toInt(request, DEFAULT_SIZE); + Integer pageNum = Convert.toInt(request.getParameter(PAGE), DEFAULT_PAGE); + Integer pageSize = Convert.toInt(request.getParameter(SIZE), DEFAULT_SIZE); if (pageNum <= 0) { pageNum = DEFAULT_PAGE; } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/CommonServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/CommonServiceImpl.java index 8644e3c5..3d5dd4c3 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/CommonServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/CommonServiceImpl.java @@ -37,4 +37,14 @@ public class CommonServiceImpl implements CommonService { smsUtil.sendCode(sysUser.getPhone(), String.valueOf(code)); return true; } + + @Override + public Boolean checkSmsCode(String type, String code) { + SysUser sysUser = sysUserService.queryChain().eq(SysUser::getId, StpKit.ADMIN.getLoginIdAsLong()).one(); + if (StrUtil.isBlank(sysUser.getPhone())) { + throw new ApiNotPrintException("账号未绑定手机号"); + } + Object value = redisService.get(RedisCst.SMS_CODE + sysUser.getPhone() + ":" + type); + return code.equals(value); + } } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopInfoServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopInfoServiceImpl.java index 006bf86c..6d283752 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopInfoServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopInfoServiceImpl.java @@ -64,25 +64,7 @@ public class ShopInfoServiceImpl extends ServiceImpl i } // 添加系统账号 - SysUser sysUser = new SysUser(); - sysUser.setAccount(shopInfoAddDTO.getAccountName()); - sysUser.setNickName(shopInfoAddDTO.getShopName()); - sysUser.setPhone(shopInfoAddDTO.getPhone()); - sysUser.setStauts(1); - sysUser.setCreateUserId(StpKit.ADMIN.getLoginIdAsLong()); - sysUserService.save(sysUser); - sysUser.setPassword(SecureUtil.md5(sysUser.getId() + shopInfoAddDTO.getAccountPwd())); - sysUserService.updateById(sysUser); - - // 绑定角色 - long roleCount = sysRoleService.queryChain().eq(SysRole::getId, shopInfoAddDTO.getRoleId()).count(); - if (roleCount == 0) { - throw new CzgException("角色不存在"); - } - SysUsersRoles usersRoles = new SysUsersRoles(); - usersRoles.setUserId(sysUser.getId()); - usersRoles.setRoleId(shopInfoAddDTO.getRoleId()); - sysUsersRolesService.save(usersRoles); + SysUser sysUser = sysUserService.addUser(shopInfoAddDTO.getShopName(), shopInfoAddDTO.getAccountName(), shopInfoAddDTO.getAccountPwd(), shopInfoAddDTO.getPhone(), shopInfoAddDTO.getRoleId()); // 保存店铺信息 ShopInfo shopInfo = BeanUtil.copyProperties(shopInfoAddDTO, ShopInfo.class); diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopStaffServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopStaffServiceImpl.java index 558c2601..d36b301e 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopStaffServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopStaffServiceImpl.java @@ -1,9 +1,25 @@ package com.czg.service.account.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; +import com.czg.account.dto.staff.ShopStaffAddDTO; +import com.czg.account.dto.staff.ShopStaffEditDTO; +import com.czg.account.dto.staff.ShopStaffRemoveDTO; import com.czg.account.entity.ShopStaff; +import com.czg.account.entity.SysRole; +import com.czg.account.entity.SysUser; import com.czg.account.service.ShopStaffService; +import com.czg.account.service.SysRoleService; +import com.czg.account.service.SysUserService; +import com.czg.account.service.SysUsersRolesService; +import com.czg.exception.ApiNotPrintException; +import com.czg.sa.StpKit; import com.czg.service.account.mapper.ShopStaffMapper; +import com.czg.utils.PageUtil; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; /** @@ -14,5 +30,58 @@ import org.springframework.stereotype.Service; */ @Service public class ShopStaffServiceImpl extends ServiceImpl implements ShopStaffService { + @Resource + private SysUserService sysUserService; + @Resource + private SysRoleService sysRoleService; + @Resource + private SysUsersRolesService sysUsersRolesService; + @Override + public Boolean add(ShopStaffAddDTO shopStaffAddDTO) { + SysUser sysUser = sysUserService.addUser(shopStaffAddDTO.getName(), shopStaffAddDTO.getAccountName(), shopStaffAddDTO.getAccountPwd(), shopStaffAddDTO.getPhone(), shopStaffAddDTO.getRoleId()); + ShopStaff shopStaff = BeanUtil.copyProperties(shopStaffAddDTO, ShopStaff.class); + shopStaff.setShopId(StpKit.ADMIN.getLoginIdAsLong()); + return save(shopStaff); + } + + @Override + public Boolean edit(ShopStaffEditDTO shopStaffEditDTO) { + long sysUserId = StpKit.ADMIN.getLoginIdAsLong(); + ShopStaff shopStaff = queryChain().eq(ShopStaff::getShopId, sysUserId).eq(ShopStaff::getId, shopStaffEditDTO.getId()).one(); + if (shopStaffEditDTO.getRoleId() != null) { + sysUsersRolesService.updateRole(shopStaff.getId(), shopStaffEditDTO.getRoleId()); + } + + sysUserService.updateSysUserPwd(shopStaff.getId(), shopStaffEditDTO.getAccountPwd()); + BeanUtil.copyProperties(shopStaffEditDTO, shopStaff); + return updateById(shopStaff); + } + + @Override + public Page get(String name, String code) { + QueryWrapper queryWrapper = new QueryWrapper(); + if (StrUtil.isNotBlank(name)) { + queryWrapper.like(ShopStaff::getName, name); + } + + if (StrUtil.isNotBlank(code)) { + queryWrapper.like(ShopStaff::getCode, name); + } + + queryWrapper.eq(ShopStaff::getShopId, StpKit.ADMIN.getLoginIdAsLong()); + return page(PageUtil.buildPage(), queryWrapper); + } + + @Override + public Boolean delete(ShopStaffRemoveDTO shopStaffRemoveDTO) { + long sysUserId = StpKit.ADMIN.getLoginIdAsLong(); + ShopStaff shopStaff = queryChain().eq(ShopStaff::getShopId, sysUserId).eq(ShopStaff::getId, shopStaffRemoveDTO.getId()).one(); + if (shopStaff == null) { + throw new ApiNotPrintException("员工账号不存在"); + } + + sysUserService.removeUserAndRole(shopStaff.getId()); + return removeById(shopStaff.getId()); + } } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java index bc8785d4..bfcb07bf 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUserServiceImpl.java @@ -1,9 +1,19 @@ package com.czg.service.account.service.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.crypto.SecureUtil; +import com.czg.account.entity.SysRole; import com.czg.account.entity.SysUser; +import com.czg.account.entity.SysUsersRoles; import com.czg.account.service.SysUserService; +import com.czg.exception.CzgException; +import com.czg.sa.StpKit; +import com.czg.service.account.mapper.SysRoleMapper; import com.czg.service.account.mapper.SysUserMapper; +import com.czg.service.account.mapper.SysUsersRolesMapper; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; +import jakarta.annotation.Resource; import org.springframework.stereotype.Service; /** @@ -15,4 +25,50 @@ import org.springframework.stereotype.Service; @Service public class SysUserServiceImpl extends ServiceImpl implements SysUserService { + @Resource + private SysRoleMapper sysRoleMapper; + @Resource + private SysUsersRolesMapper sysUsersRolesMapper; + + @Override + public SysUser addUser(String nickname, String accountName, String accountPwd, String phone, Long roleId) { + // 添加系统账号 + SysUser sysUser = new SysUser(); + sysUser.setAccount(accountName); + sysUser.setNickName(nickname); + sysUser.setPhone(phone); + sysUser.setStauts(1); + sysUser.setCreateUserId(StpKit.ADMIN.getLoginIdAsLong()); + save(sysUser); + sysUser.setPassword(SecureUtil.md5(sysUser.getId() + accountPwd)); + updateById(sysUser); + + // 绑定角色 + long roleCount = sysRoleMapper.selectCountByQuery(new QueryWrapper().eq(SysRole::getId, roleId).eq(SysRole::getCreateUserId, StpKit.ADMIN.getLoginIdAsLong())); + if (roleCount == 0) { + throw new CzgException("角色不存在"); + } + SysUsersRoles usersRoles = new SysUsersRoles(); + usersRoles.setUserId(sysUser.getId()); + usersRoles.setRoleId(roleId); + sysUsersRolesMapper.insert(usersRoles); + + return sysUser; + } + + @Override + public Boolean updateSysUserPwd(long sysUserId, String accountPwd) { + SysUser sysUser = new SysUser(); + sysUser.setId(sysUserId); + sysUser.setPassword(SecureUtil.md5(sysUser.getId() + accountPwd)); + sysUser.setUpdateUserId(sysUserId); + sysUser.setUpdateTime(DateUtil.date().toLocalDateTime()); + return updateById(sysUser); + } + + @Override + public Boolean removeUserAndRole(Integer id) { + sysUsersRolesMapper.deleteByQuery(new QueryWrapper().eq(SysUsersRoles::getUserId, id)); + return removeById(id); + } } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUsersRolesServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUsersRolesServiceImpl.java index 95cf683e..ed9470fa 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUsersRolesServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/SysUsersRolesServiceImpl.java @@ -3,6 +3,7 @@ package com.czg.service.account.service.impl; import com.czg.account.entity.SysUsersRoles; import com.czg.account.service.SysUsersRolesService; import com.czg.service.account.mapper.SysUsersRolesMapper; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; import org.springframework.stereotype.Service; @@ -14,5 +15,13 @@ import org.springframework.stereotype.Service; */ @Service public class SysUsersRolesServiceImpl extends ServiceImpl implements SysUsersRolesService { + @Override + public Boolean updateRole(long sysUserId, Long roleId) { + remove(new QueryWrapper().eq(SysUsersRoles::getUserId, sysUserId)); + SysUsersRoles usersRoles = new SysUsersRoles(); + usersRoles.setUserId(sysUserId); + usersRoles.setRoleId(roleId); + return save(usersRoles); + } }