员工账号接口实现
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,25 +64,7 @@ public class ShopInfoServiceImpl extends ServiceImpl<ShopInfoMapper, ShopInfo> 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);
|
||||
|
||||
@@ -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<ShopStaffMapper, ShopStaff> 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<ShopStaff> 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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<SysUserMapper, SysUser> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<SysUsersRolesMapper, SysUsersRoles> 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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user