This commit is contained in:
mashuanghui 2024-08-24 18:06:42 +08:00
commit 0ba8855bee
19 changed files with 166 additions and 8 deletions

View File

@ -100,6 +100,10 @@ public class SysUser extends BaseEntity {
*/ */
@TableField(exist = false) @TableField(exist = false)
private Long roleId; private Long roleId;
/**
* 备注
*/
private String remark;
public boolean isAdmin() public boolean isAdmin()
{ {

View File

@ -40,7 +40,7 @@ public class ProjectQuery extends CommonParam {
*/ */
@Condition(name = "create_time", type = Condition.ConditionType.between,tableName = "wrk_info") @Condition(name = "create_time", type = Condition.ConditionType.between,tableName = "wrk_info")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DatePattern.NORM_DATETIME_PATTERN)
private List<LocalDateTime> createTimes; private List<String> createTimes;
/** /**
* 项目状态 * 项目状态
*/ */

View File

@ -116,7 +116,7 @@ public class StoreQuery extends CommonParam {
*/ */
@Condition(name = "create_time", type = Condition.ConditionType.between, tableName = "s") @Condition(name = "create_time", type = Condition.ConditionType.between, tableName = "s")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private List<LocalDateTime> createTime; private List<String> createTime;
/** /**
* 创建时间 * 创建时间

View File

@ -64,6 +64,8 @@ public class WrkProjectController {
public AjaxResult list(WrkProject project) public AjaxResult list(WrkProject project)
{ {
CommonParam commonParam = CommonParam.buildPageRequest(); CommonParam commonParam = CommonParam.buildPageRequest();
List<String> createTimes = project.getCreateTimes();
project.setCreateTimes(extendTimeRange(createTimes, " 00:00:00", " 23:59:59"));
PageResult pageResult = projectService.pageList(project, commonParam); PageResult pageResult = projectService.pageList(project, commonParam);
return AjaxResult.success(pageResult); return AjaxResult.success(pageResult);
} }
@ -184,6 +186,8 @@ public class WrkProjectController {
@RequiresPermissions("inspection:project:info") @RequiresPermissions("inspection:project:info")
public AjaxResult projectData(ProjectQuery projectQuery) public AjaxResult projectData(ProjectQuery projectQuery)
{ {
List<String> createTimes = projectQuery.getCreateTimes();
projectQuery.setCreateTimes(extendTimeRange(createTimes, " 00:00:00", " 23:59:59"));
return AjaxResult.success(projectService.projectData(projectQuery)); return AjaxResult.success(projectService.projectData(projectQuery));
} }
@ -292,4 +296,13 @@ public class WrkProjectController {
// //
private List<String> extendTimeRange(List<String> timeList, String prefix, String suffix) {
if (timeList != null && timeList.size() >= 2) {
String startTime = timeList.get(0) + prefix;
String endTime = timeList.get(1) + suffix;
timeList.set(0, startTime);
timeList.set(1, endTime);
}
return timeList;
}
} }

View File

@ -19,6 +19,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
/** /**
* 商户信息表(st_store)表控制层 * 商户信息表(st_store)表控制层
@ -47,8 +48,19 @@ public class StoreController {
@GetMapping("/page") @GetMapping("/page")
@RequiresPermissions("ins:store:page") @RequiresPermissions("ins:store:page")
public AjaxResult pageList(@Validated StoreQuery query) { public AjaxResult pageList(@Validated StoreQuery query) {
List<String> createTimes = query.getCreateTime();
query.setCreateTime(extendTimeRange(createTimes, " 00:00:00", " 23:59:59"));
return AjaxResult.success(storeService.pageList(query)); return AjaxResult.success(storeService.pageList(query));
} }
private List<String> extendTimeRange(List<String> timeList, String prefix, String suffix) {
if (timeList != null && timeList.size() >= 2) {
String startTime = timeList.get(0) + prefix;
String endTime = timeList.get(1) + suffix;
timeList.set(0, startTime);
timeList.set(1, endTime);
}
return timeList;
}
/** /**
* 修改商户 * 修改商户

View File

@ -0,0 +1,9 @@
package com.chushang.system.entity.dto;
import lombok.Data;
@Data
public class DeptDTO {
private Long deptId;
private String deptName;
}

View File

@ -0,0 +1,9 @@
package com.chushang.system.entity.dto;
import lombok.Data;
@Data
public class RoleDTO {
private Long roleId;
private String roleName;
}

View File

@ -5,6 +5,7 @@ import com.chushang.common.log.annotation.SysLog;
import com.chushang.common.log.enums.BusinessType; import com.chushang.common.log.enums.BusinessType;
import com.chushang.security.annotation.RequiresPermissions; import com.chushang.security.annotation.RequiresPermissions;
import com.chushang.security.utils.SecurityUtils; import com.chushang.security.utils.SecurityUtils;
import com.chushang.system.entity.dto.DeptDTO;
import com.chushang.system.entity.dto.ListDeptDTO; import com.chushang.system.entity.dto.ListDeptDTO;
import com.chushang.security.entity.po.SysDept; import com.chushang.security.entity.po.SysDept;
import com.chushang.system.service.ISysDeptService; import com.chushang.system.service.ISysDeptService;
@ -158,4 +159,9 @@ public class DeptController {
return AjaxResult.success(); return AjaxResult.success();
} }
public List<DeptDTO> getDept(){
List<DeptDTO> deptDTOS = sysDeptService.getDept();
return deptDTOS;
}
} }

View File

@ -1,5 +1,6 @@
package com.chushang.system.controller; package com.chushang.system.controller;
import com.chushang.common.core.util.StringUtils;
import com.chushang.common.core.web.AjaxResult; import com.chushang.common.core.web.AjaxResult;
import com.chushang.common.log.annotation.SysLog; import com.chushang.common.log.annotation.SysLog;
import com.chushang.common.log.enums.BusinessType; import com.chushang.common.log.enums.BusinessType;
@ -50,9 +51,12 @@ public class RoleController {
@RequestParam(defaultValue = "10") Integer limit // 默认每页条数为10 @RequestParam(defaultValue = "10") Integer limit // 默认每页条数为10
) { ) {
ListRoleDTO.Params params = new ListRoleDTO.Params(); ListRoleDTO.Params params = new ListRoleDTO.Params();
params.setBeginTime(beginTime); if(StringUtils.isNotEmpty(beginTime)){
params.setEndTime(endTime); params.setBeginTime(beginTime+" 00:00:00");
}
if(StringUtils.isNotEmpty(endTime)){
params.setEndTime(endTime+" 23:59:59");
}
ListRoleDTO listRole = new ListRoleDTO(); ListRoleDTO listRole = new ListRoleDTO();
listRole.setRoleName(roleName); listRole.setRoleName(roleName);
listRole.setRoleKey(roleKey); listRole.setRoleKey(roleKey);

View File

@ -6,27 +6,38 @@ import com.chushang.common.core.util.StringUtils;
import com.chushang.common.core.web.AjaxResult; import com.chushang.common.core.web.AjaxResult;
import com.chushang.common.log.annotation.SysLog; import com.chushang.common.log.annotation.SysLog;
import com.chushang.common.log.enums.BusinessType; import com.chushang.common.log.enums.BusinessType;
import com.chushang.datascope.annotation.DataScope;
import com.chushang.security.annotation.RequiresPermissions; import com.chushang.security.annotation.RequiresPermissions;
import com.chushang.security.service.TokenService; import com.chushang.security.service.TokenService;
import com.chushang.security.utils.SecurityUtils; import com.chushang.security.utils.SecurityUtils;
import com.chushang.system.entity.bo.PasswordForm; import com.chushang.system.entity.bo.PasswordForm;
import com.chushang.system.entity.bo.RoleUser; import com.chushang.system.entity.bo.RoleUser;
import com.chushang.system.entity.bo.UserRole; import com.chushang.system.entity.bo.UserRole;
import com.chushang.system.entity.dto.DeptDTO;
import com.chushang.system.entity.dto.ListUserDTO; import com.chushang.system.entity.dto.ListUserDTO;
import com.chushang.system.entity.dto.RoleDTO;
import com.chushang.system.entity.po.SysPost; import com.chushang.system.entity.po.SysPost;
import com.chushang.security.entity.po.SysRole; import com.chushang.security.entity.po.SysRole;
import com.chushang.security.entity.po.SysUser; import com.chushang.security.entity.po.SysUser;
import com.chushang.security.entity.vo.LoginUser; import com.chushang.security.entity.vo.LoginUser;
import com.chushang.system.service.*; import com.chushang.system.service.*;
import org.apache.poi.ss.usermodel.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.cache.annotation.CacheRemove; import javax.cache.annotation.CacheRemove;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;
/** /**
* @author by zhaowenyuan create 2022/8/18 17:50 * @author by zhaowenyuan create 2022/8/18 17:50
*/ */
@ -34,6 +45,7 @@ import java.util.stream.Collectors;
@RequestMapping(value = "/user") @RequestMapping(value = "/user")
public class UserController { public class UserController {
private static final Logger log = LoggerFactory.getLogger(UserController.class);
@Resource @Resource
ISysUserService sysUserService; ISysUserService sysUserService;
@Resource @Resource
@ -266,7 +278,7 @@ public class UserController {
/** /**
* 状态修改 * 状态修改
*/ */
@RequiresPermissions("system:user:changeStatus") // @RequiresPermissions("system:user:changeStatus")
@SysLog(value = "用户状态", businessType = BusinessType.UPDATE) @SysLog(value = "用户状态", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysUser user) public AjaxResult changeStatus(@RequestBody SysUser user)
@ -319,15 +331,70 @@ public class UserController {
tokenService.forcedRetreat(userId); tokenService.forcedRetreat(userId);
return AjaxResult.success(); return AjaxResult.success();
} }
@Autowired
private ISysDeptService sysDeptService;
/** /**
* todo 导入用户 * todo 导入用户
*/ */
@PostMapping(value = "/import") @PostMapping(value = "/import")
@RequiresPermissions("system:user:import") // @RequiresPermissions("system:user:import")
public AjaxResult importUser(MultipartFile file){ public AjaxResult importUser(MultipartFile file){
return AjaxResult.error("暂未开放"); if(file.isEmpty()){
return AjaxResult.error("文件不能为空");
}
//查部门
List<DeptDTO> dept = sysDeptService.getDept();
List<RoleDTO> role = sysRoleService.getRole();
try {
Workbook workbook = new XSSFWorkbook(file.getInputStream());
Sheet sheet = workbook.getSheetAt(0);
DataFormatter format = new DataFormatter();
for (Row row : sheet) {
SysUser sysUser = new SysUser();
HashSet<Long> roleIds = new HashSet<>();
if(row.getRowNum()==0)continue;
sysUser.setNickName(format.formatCellValue(row.getCell(0)));
sysUser.setUsername(format.formatCellValue(row.getCell(1)));
sysUser.setPassword(format.formatCellValue(row.getCell(2)));
sysUser.setPhone(format.formatCellValue(row.getCell(3)));
if (format.formatCellValue(row.getCell(4)).equals("")){
sysUser.setGender(0);
}else if (format.formatCellValue(row.getCell(4)).equals("")){
sysUser.setGender(1);
}
String deptName = format.formatCellValue(row.getCell(5));
for (DeptDTO deptDTO : dept) {
if(deptDTO.getDeptName().equals(deptName)){
sysUser.setDeptId(deptDTO.getDeptId());
break;
}
}
sysUser.setEmail(format.formatCellValue(row.getCell(6)));
String roleName = format.formatCellValue(row.getCell(7));
String[] split = roleName.split(",");
for (RoleDTO roleDTO : role) {
for (String name : split) {
if(roleDTO.getRoleName().equals(name)){
roleIds.add(roleDTO.getRoleId());
}
}
}
sysUser.setRoleIds(roleIds);
sysUser.setRemark(format.formatCellValue(row.getCell(8)));
//存库
if(StringUtils.isNotEmpty(sysUser.getPassword())&&StringUtils.isNotEmpty(sysUser.getUsername())){
save(sysUser);
}else if (StringUtils.isEmpty(sysUser.getPassword())||StringUtils.isEmpty(sysUser.getUsername())){
log.error("用户名密码不能为空");
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return AjaxResult.success("导入成功");
} }
/** /**

View File

@ -1,6 +1,7 @@
package com.chushang.system.mapper; package com.chushang.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chushang.system.entity.dto.DeptDTO;
import com.chushang.system.entity.dto.ListDeptDTO; import com.chushang.system.entity.dto.ListDeptDTO;
import com.chushang.security.entity.po.SysDept; import com.chushang.security.entity.po.SysDept;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -30,4 +31,6 @@ public interface SysDeptMapper extends BaseMapper<SysDept> {
@Select("SELECT dept_id FROM sys_dept WHERE dept_id = #{deptId} or find_in_set( #{deptId} , ancestors )") @Select("SELECT dept_id FROM sys_dept WHERE dept_id = #{deptId} or find_in_set( #{deptId} , ancestors )")
List<String> listScopeDeptIdByDeptId(@Param("deptId") Long deptId); List<String> listScopeDeptIdByDeptId(@Param("deptId") Long deptId);
List<DeptDTO> getDept();
} }

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chushang.system.entity.dto.ListRoleDTO; import com.chushang.system.entity.dto.ListRoleDTO;
import com.chushang.security.entity.po.SysRole; import com.chushang.security.entity.po.SysRole;
import com.chushang.system.entity.dto.RoleDTO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -27,4 +28,6 @@ public interface SysRoleMapper extends BaseMapper<SysRole> {
SysRole selectRoleById(Long roleId); SysRole selectRoleById(Long roleId);
Set<SysRole> selectRoleByUsername(String username); Set<SysRole> selectRoleByUsername(String username);
List<RoleDTO> getRole();
} }

View File

@ -6,6 +6,7 @@ import com.chushang.common.core.exception.ResultException;
import com.chushang.common.core.text.Convert; import com.chushang.common.core.text.Convert;
import com.chushang.common.core.util.StringUtils; import com.chushang.common.core.util.StringUtils;
import com.chushang.common.mybatis.enums.Operator; import com.chushang.common.mybatis.enums.Operator;
import com.chushang.system.entity.dto.DeptDTO;
import com.chushang.system.entity.dto.ListDeptDTO; import com.chushang.system.entity.dto.ListDeptDTO;
import com.chushang.security.entity.po.SysDept; import com.chushang.security.entity.po.SysDept;
import com.chushang.system.entity.vo.TreeSelect; import com.chushang.system.entity.vo.TreeSelect;
@ -123,4 +124,6 @@ public interface ISysDeptService extends IService<SysDept> {
List<String> listScopeDeptIdByRoleId(Long roleId); List<String> listScopeDeptIdByRoleId(Long roleId);
List<String> listScopeDeptIdByDeptId(Long deptId); List<String> listScopeDeptIdByDeptId(Long deptId);
List<DeptDTO> getDept();
} }

View File

@ -12,6 +12,7 @@ import com.chushang.system.entity.bo.UserRole;
import com.chushang.system.entity.dto.ListRoleDTO; import com.chushang.system.entity.dto.ListRoleDTO;
import com.chushang.security.entity.po.SysRole; import com.chushang.security.entity.po.SysRole;
import com.chushang.security.entity.po.SysUser; import com.chushang.security.entity.po.SysUser;
import com.chushang.system.entity.dto.RoleDTO;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -77,4 +78,6 @@ public interface ISysRoleService extends IService<SysRole> {
void insertAuthUsers(Long roleId, Collection<Long> userIds); void insertAuthUsers(Long roleId, Collection<Long> userIds);
String selectRolesByUserName(String username); String selectRolesByUserName(String username);
List<RoleDTO> getRole();
} }

View File

@ -6,6 +6,7 @@ import com.chushang.common.core.exception.ResultException;
import com.chushang.common.core.util.SpringUtils; import com.chushang.common.core.util.SpringUtils;
import com.chushang.common.core.util.StringUtils; import com.chushang.common.core.util.StringUtils;
import com.chushang.datascope.annotation.DataScope; import com.chushang.datascope.annotation.DataScope;
import com.chushang.system.entity.dto.DeptDTO;
import com.chushang.system.mapper.SysDeptMapper; import com.chushang.system.mapper.SysDeptMapper;
import com.chushang.system.service.ISysUserService; import com.chushang.system.service.ISysUserService;
import com.chushang.security.utils.SecurityUtils; import com.chushang.security.utils.SecurityUtils;
@ -116,6 +117,11 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
return baseMapper.listScopeDeptIdByDeptId(deptId); return baseMapper.listScopeDeptIdByDeptId(deptId);
} }
@Override
public List<DeptDTO> getDept() {
return baseMapper.getDept();
}
/** /**
* 递归列表 * 递归列表
*/ */

View File

@ -11,6 +11,7 @@ import com.chushang.datascope.annotation.DataScope;
import com.chushang.security.utils.SecurityUtils; import com.chushang.security.utils.SecurityUtils;
import com.chushang.system.entity.bo.RoleUser; import com.chushang.system.entity.bo.RoleUser;
import com.chushang.system.entity.bo.UserRole; import com.chushang.system.entity.bo.UserRole;
import com.chushang.system.entity.dto.RoleDTO;
import com.chushang.system.mapper.SysRoleMapper; import com.chushang.system.mapper.SysRoleMapper;
import com.chushang.system.service.ISysRoleMenuService; import com.chushang.system.service.ISysRoleMenuService;
import com.chushang.system.entity.dto.ListRoleDTO; import com.chushang.system.entity.dto.ListRoleDTO;
@ -175,4 +176,9 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
return CollectionUtil.isEmpty(roleList) ? StringUtils.EMPTY : roleList.stream().map(SysRole::getRoleName) return CollectionUtil.isEmpty(roleList) ? StringUtils.EMPTY : roleList.stream().map(SysRole::getRoleName)
.collect(Collectors.joining(",")); .collect(Collectors.joining(","));
} }
@Override
public List<RoleDTO> getRole() {
return baseMapper.getRole();
}
} }

View File

@ -49,6 +49,9 @@
</if> </if>
order by d.parent_dept_id, d.order_num order by d.parent_dept_id, d.order_num
</select> </select>
<select id="getDept" resultType="com.chushang.system.entity.dto.DeptDTO">
select dept_id,dept_name from sys_dept where del_state = 0
</select>
<update id="updateDeptChildren" parameterType="java.util.List"> <update id="updateDeptChildren" parameterType="java.util.List">
update sys_dept set ancestors = update sys_dept set ancestors =

View File

@ -89,4 +89,7 @@
<include refid="selectRoleVo"/> <include refid="selectRoleVo"/>
where r.del_state = FALSE AND u.username = #{username} where r.del_state = FALSE AND u.username = #{username}
</select> </select>
<select id="getRole" resultType="com.chushang.system.entity.dto.RoleDTO">
select role_id , role_name from sys_role where del_state = 0
</select>
</mapper> </mapper>

View File

@ -90,6 +90,10 @@
<if test="listUser.username != null and listUser.username != ''"> <if test="listUser.username != null and listUser.username != ''">
AND u.username like concat('%',#{listUser.username},'%') AND u.username like concat('%',#{listUser.username},'%')
</if> </if>
<if test="listUser.nickName != null and listUser.nickName != ''">
AND u.nick_name like concat('%',#{listUser.nickName},'%')
</if>
<if test="listUser.deptId != null"> <if test="listUser.deptId != null">
AND d.dept_id = #{listUser.deptId} AND d.dept_id = #{listUser.deptId}
</if> </if>