diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/UserAnalysisNoteDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/UserAnalysisNoteDTO.java index 48558cd9a..92f14689b 100644 --- a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/UserAnalysisNoteDTO.java +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/UserAnalysisNoteDTO.java @@ -26,7 +26,7 @@ import lombok.Data; * 用户可以查看指标表 * * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-23 + * @since v1.0.0 2020-11-24 */ @Data public class UserAnalysisNoteDTO implements Serializable { @@ -43,11 +43,21 @@ public class UserAnalysisNoteDTO implements Serializable { */ private String userId; + /** + * 用户名称 + */ + private String userName; + /** * 部门ID */ private String deptId; + /** + * 部门名称 + */ + private String deptName; + /** * 用户手机号 */ diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/note/form/111.text b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/note/form/111.text new file mode 100644 index 000000000..e69de29bb diff --git a/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/note/result/UserAnalysisNoteResultDTO.java b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/note/result/UserAnalysisNoteResultDTO.java new file mode 100644 index 000000000..dc68436d2 --- /dev/null +++ b/esua-epdc/epdc-admin/epdc-admin-client/src/main/java/com/elink/esua/epdc/dto/note/result/UserAnalysisNoteResultDTO.java @@ -0,0 +1,53 @@ +package com.elink.esua.epdc.dto.note.result; + + +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Range; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.Date; + +/** + * TODO + * 指标管理列表返回类 + * @author wk + * @version 1.0 + * @date 2020-11-24 10:29 + */ +@Data +public class UserAnalysisNoteResultDTO implements Serializable { + private static final long serialVersionUID = -1L; + private String userId; + + @ApiModelProperty(value = "用户名", required = true) + @NotBlank(message = "{sysuser.username.require}", groups = DefaultGroup.class) + private String username; + + @ApiModelProperty(value = "手机号", required = true) + @NotBlank(message = "{sysuser.mobile.require}", groups = DefaultGroup.class) + private String mobile; + + @ApiModelProperty(value = "部门ID", required = true) + @NotNull(message = "{sysuser.deptId.require}", groups = DefaultGroup.class) + private String deptId; + + @ApiModelProperty(value = "状态 0:停用 1:正常", required = true) + @Range(min = 0, max = 1, message = "{sysuser.status.range}", groups = DefaultGroup.class) + private Integer status; + + @ApiModelProperty(value = "创建时间") + @JsonProperty(access = JsonProperty.Access.READ_ONLY) + private Date createDate; + + + @ApiModelProperty(value = "部门名称") + private String deptName; + @ApiModelProperty(value = "短信状态") + private String noteType; + @ApiModelProperty(value = "部门状态") + private String deptState; +} diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/UserAnalysisNoteController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/UserAnalysisNoteController.java index f66983393..746c0d7dc 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/UserAnalysisNoteController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/UserAnalysisNoteController.java @@ -17,6 +17,7 @@ package com.elink.esua.epdc.controller; +import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; import com.elink.esua.epdc.commons.tools.utils.Result; @@ -25,11 +26,16 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.SysUserDTO; import com.elink.esua.epdc.dto.UserAnalysisNoteDTO; import com.elink.esua.epdc.excel.UserAnalysisNoteExcel; import com.elink.esua.epdc.service.UserAnalysisNoteService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -40,10 +46,10 @@ import java.util.Map; * 用户可以查看指标表 * * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-23 + * @since v1.0.0 2020-11-24 */ @RestController -@RequestMapping("useranalysisnote") +@RequestMapping("analysis") public class UserAnalysisNoteController { @Autowired @@ -91,4 +97,27 @@ public class UserAnalysisNoteController { ExcelUtils.exportExcelToTarget(response, null, list, UserAnalysisNoteExcel.class); } + @GetMapping("userpage") + @ApiOperation("分页") + @ApiImplicitParams({ + @ApiImplicitParam(name = Constant.PAGE, value = "当前页码,从1开始", paramType = "query", required = true, dataType = "int"), + @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), + @ApiImplicitParam(name = Constant.ORDER_FIELD, value = "排序字段", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = Constant.ORDER, value = "排序方式,可选值(asc、desc)", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "username", value = "用户名", paramType = "query", dataType = "String") + }) + public Result> userpage(@ApiIgnore @RequestParam Map params) { + PageData page = userAnalysisNoteService.userpage(params); + + return new Result>().ok(page); + } + + @PostMapping("add") + public Result saveList(@RequestBody Map params){ + //效验数据 + userAnalysisNoteService.saveList(params); + return new Result(); + } + + } \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/UserAnalysisNoteDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/UserAnalysisNoteDao.java index 3050d9d62..ac6a57565 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/UserAnalysisNoteDao.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/UserAnalysisNoteDao.java @@ -18,16 +18,52 @@ package com.elink.esua.epdc.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.UserAnalysisNoteDTO; +import com.elink.esua.epdc.entity.SysUserEntity; import com.elink.esua.epdc.entity.UserAnalysisNoteEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * 用户可以查看指标表 * * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-23 + * @since v1.0.0 2020-11-24 */ @Mapper public interface UserAnalysisNoteDao extends BaseDao { + + /* + * + * 用户指标表 -查询 + * @param params + * @author wk + * @date 2020-11-24 15:08 + * @return java.util.List + */ + List getList (Map params); + + /* + * + * 用户表 -查询 去掉网格用户 + * @param params + * @author wk + * @date 2020-11-24 15:09 + * @return java.util.List + */ + List getUserList(Map params); + + /* + * + * 去重 + * @param userId + * @author wk + * @date 2020-11-24 16:23 + * @return java.lang.Integer + */ + Integer selectCountByuserId(@Param("userId")String userId); } \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/UserAnalysisNoteEntity.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/UserAnalysisNoteEntity.java index 04ed366d2..40518f892 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/UserAnalysisNoteEntity.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/entity/UserAnalysisNoteEntity.java @@ -29,7 +29,7 @@ import java.util.Date; * 用户可以查看指标表 * * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-23 + * @since v1.0.0 2020-11-24 */ @Data @EqualsAndHashCode(callSuper=false) @@ -43,11 +43,21 @@ public class UserAnalysisNoteEntity extends BaseEpdcEntity { */ private String userId; + /** + * 用户名称 + */ + private String userName; + /** * 部门ID */ private String deptId; + /** + * 部门名称 + */ + private String deptName; + /** * 用户手机号 */ diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/UserAnalysisNoteExcel.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/UserAnalysisNoteExcel.java index dac7a2c1c..8004d71c5 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/UserAnalysisNoteExcel.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/excel/UserAnalysisNoteExcel.java @@ -26,7 +26,7 @@ import java.util.Date; * 用户可以查看指标表 * * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-23 + * @since v1.0.0 2020-11-24 */ @Data public class UserAnalysisNoteExcel { @@ -37,9 +37,15 @@ public class UserAnalysisNoteExcel { @Excel(name = "用户ID") private String userId; + @Excel(name = "用户名称") + private String userName; + @Excel(name = "部门ID") private String deptId; + @Excel(name = "部门名称") + private String deptName; + @Excel(name = "用户手机号") private String mobile; diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/UserAnalysisNoteRedis.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/UserAnalysisNoteRedis.java index b6346207c..001910a02 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/UserAnalysisNoteRedis.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/redis/UserAnalysisNoteRedis.java @@ -25,7 +25,7 @@ import org.springframework.stereotype.Component; * 用户可以查看指标表 * * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-23 + * @since v1.0.0 2020-11-24 */ @Component public class UserAnalysisNoteRedis { diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/UserAnalysisNoteService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/UserAnalysisNoteService.java index ce4ea4b4d..7257155a2 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/UserAnalysisNoteService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/UserAnalysisNoteService.java @@ -19,6 +19,7 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.SysUserDTO; import com.elink.esua.epdc.dto.UserAnalysisNoteDTO; import com.elink.esua.epdc.entity.UserAnalysisNoteEntity; @@ -29,7 +30,7 @@ import java.util.Map; * 用户可以查看指标表 * * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-23 + * @since v1.0.0 2020-11-24 */ public interface UserAnalysisNoteService extends BaseService { @@ -39,7 +40,7 @@ public interface UserAnalysisNoteService extends BaseService * @author generator - * @date 2020-11-23 + * @date 2020-11-24 */ PageData page(Map params); @@ -49,7 +50,7 @@ public interface UserAnalysisNoteService extends BaseService * @author generator - * @date 2020-11-23 + * @date 2020-11-24 */ List list(Map params); @@ -59,7 +60,7 @@ public interface UserAnalysisNoteService extends BaseService + */ + PageData userpage(Map params); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-11-24 + */ + void saveList(Map params); } \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/UserAnalysisNoteServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/UserAnalysisNoteServiceImpl.java index 468148ede..b5611022d 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/UserAnalysisNoteServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/UserAnalysisNoteServiceImpl.java @@ -20,19 +20,28 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.Constant; +import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum; import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; +import com.elink.esua.epdc.commons.tools.security.user.UserDetail; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.dao.UserAnalysisNoteDao; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.dto.SysUserDTO; import com.elink.esua.epdc.dto.UserAnalysisNoteDTO; +import com.elink.esua.epdc.entity.SysUserEntity; import com.elink.esua.epdc.entity.UserAnalysisNoteEntity; import com.elink.esua.epdc.redis.UserAnalysisNoteRedis; +import com.elink.esua.epdc.service.SysDeptService; import com.elink.esua.epdc.service.UserAnalysisNoteService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -41,21 +50,30 @@ import java.util.Map; * 用户可以查看指标表 * * @author qu qu@elink-cn.com - * @since v1.0.0 2020-11-23 + * @since v1.0.0 2020-11-24 */ @Service public class UserAnalysisNoteServiceImpl extends BaseServiceImpl implements UserAnalysisNoteService { + @Autowired - private UserAnalysisNoteRedis userAnalysisNoteRedis; + private SysDeptService sysDeptService; @Override public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, UserAnalysisNoteDTO.class); + //转换成like + paramsToLike(params, "username"); + paramsToLike(params, "mobile"); + //分页 + IPage page = getPage(params); + //普通管理员,只能查询所属部门及子部门的数据 + UserDetail user = SecurityUser.getUser(); + if (user.getSuperAdmin() == SuperAdminEnum.NO.value()) { + params.put("deptIdList", sysDeptService.getSubDeptIdList(user.getDeptId())); + } + //查询 + List list = baseDao.getList(params); + return getPageData(list, page.getTotal(), UserAnalysisNoteDTO.class); } @Override @@ -83,6 +101,10 @@ public class UserAnalysisNoteServiceImpl extends BaseServiceImpl userpage(Map params) { + //转换成like + paramsToLike(params, "username"); + paramsToLike(params, "realname"); + paramsToLike(params, "mobile"); + paramsToLike(params, "email"); + //分页 + IPage page = getPage(params); + + //普通管理员,只能查询所属部门及子部门的数据 + UserDetail user = SecurityUser.getUser(); + if (user.getSuperAdmin() == SuperAdminEnum.NO.value()) { + params.put("deptIdList", sysDeptService.getSubDeptIdList(user.getDeptId())); + } + //查询 + List list = baseDao.getUserList(params); + return getPageData(list, page.getTotal(), SysUserDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void saveList(Map params) { + List entityList = new ArrayList<>(); + List> list = new ArrayList>(); + if(params.size() > 0){ + list = (List>)params.get("aformDataParams"); + } + // 用于校验重复数据 + List userIdList = new ArrayList(); + for(int i = 0 ; i < list.size() ; i++){ + // 过滤重复数据 + if(userIdList.contains(list.get(i).get("id") == null ? "" : list.get(i).get("id").toString())){ + continue; + } + userIdList.add(list.get(i).get("id") == null ? "" : list.get(i).get("id").toString()); + UserAnalysisNoteEntity a = new UserAnalysisNoteEntity(); + a.setDeptId(list.get(i).get("deptId") == null ? "" : list.get(i).get("deptId").toString()); + a.setDeptName(list.get(i).get("deptName") == null ? "" : list.get(i).get("deptName").toString()); + a.setUserId(list.get(i).get("id") == null ? "" : list.get(i).get("id").toString()); + a.setUserName(list.get(i).get("username") == null ? "" : list.get(i).get("username").toString()); + a.setDeptType(list.get(i).get("remark") == null ? "" : list.get(i).get("remark").toString()); + a.setMobile(list.get(i).get("mobile") == null ? "" : list.get(i).get("mobile").toString()); + ParentAndAllDeptDTO allDeptDTO = sysDeptService.getParentAndAllDept(list.get(i).get("deptId").toString()); + a.setAllDeptIds(allDeptDTO.getAllDeptIds()); + a.setAllDeptNames(allDeptDTO.getAllDeptNames()); + // 校验用户是否已存在 + if (getCodeCount(a.getUserId()) > 0) { + continue; + } + entityList.add(a); + } +// insert(entity); + insertBatch(entityList); + + } + + /** + * 检测用户是否已经存在 + * @param userId + * @return + */ + public Integer getCodeCount(String userId) { + return baseDao.selectCountByuserId(userId); + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/UserAnalysisNoteDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/UserAnalysisNoteDao.xml index 6867a4353..6b3928e90 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/UserAnalysisNoteDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/UserAnalysisNoteDao.xml @@ -6,7 +6,9 @@ + + @@ -19,5 +21,84 @@ + + + + + + \ No newline at end of file