From 7d69c6d4444c3fbfffb131befe1eed9a5eee77d0 Mon Sep 17 00:00:00 2001 From: qushutong <1976590620@qq.com> Date: Thu, 5 Dec 2019 20:16:14 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=85=9A=E5=91=98=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- esua-epdc/epdc-gateway/pom.xml | 8 ++-- .../esua/epdc/feign/UserFeignClient.java | 2 +- .../epdc-user/epdc-user-server/pom.xml | 5 +++ .../esua/epdc/feign/AdminFeignClient.java | 42 +++++++++++++++++++ .../fallback/AdminFeignClientFallback.java | 29 +++++++++++++ .../service/impl/PartyMembersServiceImpl.java | 24 +++++++---- .../src/main/resources/application.yml | 2 + .../main/resources/mapper/PartyMembersDao.xml | 7 +--- .../src/main/resources/mapper/UserDao.xml | 8 ++-- 9 files changed, 105 insertions(+), 22 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java create mode 100644 esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java diff --git a/esua-epdc/epdc-gateway/pom.xml b/esua-epdc/epdc-gateway/pom.xml index 57384ded8..36eee7c03 100644 --- a/esua-epdc/epdc-gateway/pom.xml +++ b/esua-epdc/epdc-gateway/pom.xml @@ -92,12 +92,12 @@ lb://epdc-auth-server - - http://127.0.0.1:9092 + lb://epdc-admin-server + lb://epdc-activiti-server - lb://epdc-api-server - + + http://127.0.0.1:9040 lb://epdc-app-server lb://epdc-heart-server diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index 07d58a844..773c29702 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -22,7 +22,7 @@ import java.util.List; * @email yujintao@elink-cn.com * @date 2019/9/7 9:27 */ -@FeignClient(name = ServiceConstant.EPDC_USER_SERVER, fallback = UserFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPDC_USER_SERVER, fallback = UserFeignClientFallback.class,url = "http://localhost:9068") public interface UserFeignClient { /** diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml index bf187bdfc..36534d869 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml @@ -13,6 +13,11 @@ jar + + com.esua.epdc + epdc-admin-client + 1.0.0 + com.esua.epdc epdc-user-client diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java new file mode 100644 index 000000000..7655e329c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java @@ -0,0 +1,42 @@ +package com.elink.esua.epdc.feign; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.feign.fallback.AdminFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; + +import java.util.List; + +/** + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class) +public interface AdminFeignClient { + + /** + * 根据部门ID,获取下属所有网格ID + * + * @param pid + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author yujintao + * @date 2019/9/5 14:49 + */ + @GetMapping("/sys/dept/listGridId/{pid}") + Result> listGridIdByDeptPid(@PathVariable("pid") Long pid); + + /** + * 根据部门ID获取上级所有部门信息 + * + * @param deptId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author gp + * @date 2019-11-29 + */ + @GetMapping("/sys/dept/getParentAndAllDept/{deptId}") + Result getParentAndAllDept(@PathVariable("deptId") String deptId); +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java new file mode 100644 index 000000000..7ec1c523a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java @@ -0,0 +1,29 @@ +package com.elink.esua.epdc.feign.fallback; + +import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; +import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; +import com.elink.esua.epdc.feign.AdminFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/9/5 14:44 + */ +@Component +public class AdminFeignClientFallback implements AdminFeignClient { + + @Override + public Result> listGridIdByDeptPid(Long pid) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listGridIdByDeptPid", pid); + } + + @Override + public Result getParentAndAllDept(String depId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getParentAndAllDept", depId); + } +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java index 2eb1ee895..7bf9a0b7b 100755 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java @@ -28,16 +28,19 @@ 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.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; +import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.config.StreamUtils; import com.elink.esua.epdc.dao.PartyMembersDao; +import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.PartyMembersDTO; import com.elink.esua.epdc.dto.PartyTagRelationDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcPartyErroyResultDTO; import com.elink.esua.epdc.entity.PartyMembersEntity; import com.elink.esua.epdc.excel.PartyMembersExcel; +import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.redis.PartyMembersRedis; import com.elink.esua.epdc.service.PartyMembersService; import com.elink.esua.epdc.service.PartyTagRelationService; @@ -64,7 +67,8 @@ public class PartyMembersServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -100,7 +104,8 @@ public class PartyMembersServiceImpl extends BaseServiceImpl parentResult = adminFeignClient.getParentAndAllDept(String.valueOf(dto.getGridId())); + if (!parentResult.success() || parentResult.getData() == null) { + throw new RenException("获取部门信息失败"); + }else { + ParentAndAllDeptDTO deptDTO = parentResult.getData(); + entity.setAllDeptIds(deptDTO.getAllDeptIds()); + entity.setAllDeptNames(deptDTO.getAllDeptNames()); + entity.setParentDeptIds(deptDTO.getParentDeptIds()); + entity.setParentDeptNames(deptDTO.getParentDeptNames()); + } updateById(entity); partyTagRelationService.deleteByPartyId(entity.getId()); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml index 08bfbaedd..3d895fdcb 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml @@ -4,6 +4,8 @@ server: context-path: /app-user spring: + main: + allow-bean-definition-overriding: true application: name: epdc-user-server # 环境 dev|test|prod diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml index 4780b3b6f..3572a436b 100755 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml @@ -87,12 +87,7 @@ SELECT - u.ID as userId, - u.NICKNAME as nickname, - u.REGISTER_TIME as registerTime, - u.FACE_IMG as faceImg + u.ID as userId, + u.NICKNAME as nickname, + u.REGISTER_TIME as registerTime, + u.FACE_IMG as faceImg FROM - epdc_user_grid_relation ug - LEFT JOIN epdc_user u ON ug.USER_ID = u.ID + epdc_user_grid_relation ug + LEFT JOIN epdc_user u ON ug.USER_ID = u.ID WHERE - u.PARTY_FLAG = #{partyFlag} - AND u.STATE = #{authenticatedFlag} - AND u.DEL_FLAG = '0' - AND ug.DEL_FLAG = '0' - - AND ug.GRID_ID = #{gridId} - - AND ug.GRID_ID in - - #{item} - - - + u.PARTY_FLAG = #{partyFlag} + AND u.STATE = #{authenticatedFlag} + AND u.DEL_FLAG = '0' + AND ug.DEL_FLAG = '0' + + AND ug.GRID_ID = #{gridId} + + AND ug.GRID_ID in + + #{item} + + + GROUP BY - u.ID + u.ID ORDER BY u.CREATED_TIME DESC LIMIT #{pageIndex},#{pageSize} @@ -299,20 +299,20 @@ From e9183386f419e02ba78e3bb4f6e1462a903e9877 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Fri, 6 Dec 2019 11:05:48 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E7=8E=8B=E5=85=AC=E5=B3=B0=EF=BC=9Aexcle?= =?UTF-8?q?=E5=B1=82=E7=BA=A7=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CategoryController.java | 5 +- .../modules/category/dao/CategoryDao.java | 3 + .../service/impl/CategoryServiceImpl.java | 291 +++++++++++++++++- .../resources/mapper/category/CategoryDao.xml | 31 ++ 4 files changed, 328 insertions(+), 2 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java index 337c0e2f0..2678142a1 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/controller/CategoryController.java @@ -22,8 +22,8 @@ import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; import com.elink.esua.epdc.commons.tools.utils.Result; 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.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.dto.category.CategoryDTO; import com.elink.esua.epdc.dto.category.CategoryOption; import com.elink.esua.epdc.dto.category.form.CategoryInfoFormDTO; @@ -98,6 +98,9 @@ public class CategoryController { /*** * 导入分类Excel表格 + * @Author wanggongfeng + * @Description excle层级导入 + * @Date 2019/12/6 9:20 */ @PostMapping("importExcel") public Result importExcel(@RequestParam("file") MultipartFile file) { diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/dao/CategoryDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/dao/CategoryDao.java index d41e913ee..fecf2586d 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/dao/CategoryDao.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/dao/CategoryDao.java @@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.dto.category.CategoryTreeDTO; import com.elink.esua.epdc.modules.category.entity.CategoryEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -46,4 +47,6 @@ public interface CategoryDao extends BaseDao { List getSubCategoryIdList(String id); List selectListCategoryTreeDTO(); + + void insertList(@Param("categorys")CategoryEntity[] categorys); } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java index 4d23b501e..30e49d2cf 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java @@ -27,6 +27,7 @@ import com.elink.esua.epdc.commons.tools.exception.ErrorCode; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.redis.RedisKeys; import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.TreeUtils; @@ -41,6 +42,13 @@ import com.elink.esua.epdc.modules.category.redis.CategoryRedis; import com.elink.esua.epdc.modules.category.service.CategoryService; import com.google.common.collect.Lists; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -48,6 +56,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import java.io.InputStream; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -64,6 +74,14 @@ public class CategoryServiceImpl extends BaseServiceImpl list = new ArrayList(); + try{ + Workbook wb = null; + InputStream is = file.getInputStream(); + if ("true".equals(isExcel2003)) { + // 当excel是2003时,创建excel2003 + wb = new HSSFWorkbook(is); + }else if("false".equals(isExcel2003)){ + // 当excel是2007时,创建excel2007 + wb = new XSSFWorkbook(is); + } else { + result.setMsg("defeat"); + result.setCode(1); + result.setData("excle格式错误!"); + return result; + } + // 得到第一个shell + Sheet sheet = wb.getSheetAt(0); + // 得到Excel的行数 + this.totalRows = sheet.getPhysicalNumberOfRows(); + // 得到Excel的列数(前提是有行数) + if (totalRows > 1 && sheet.getRow(0) != null) { + this.totalCells = sheet.getRow(0).getPhysicalNumberOfCells(); + } + //查询根分类开始序号 + CategoryEntity categoryEntity = new CategoryEntity(); + categoryEntity.setPid(0L); + QueryWrapper wrapper = new QueryWrapper(categoryEntity); + List categoryEntityList = baseDao.selectList(wrapper); + int numm = categoryEntityList.size(); + if(numm >= 0){ + numm -= 1; + } + //一级分类 + String firstClassName = ""; + Long firstClassId = 0L; + Integer firstClassSort = Integer.parseInt(numm+""); + //二级分类 + String secondClassName = ""; + Long secondClassId = 0L; + Integer secondClassSort = -1; + //三级分类 + String thirdClassName = ""; + Long thirdClassId = 0L; + Integer thirdClassSort = -1; + //四级分类 + String fourthClassName = ""; + Long fourthClassId = 0L; + Integer fourthClassSort = -1; + // 循环Excel行数(不要表头,从2开始) ;0是excle表头、1是列名 + for (int r = 2; r < totalRows; r++) { + Row row = sheet.getRow(r); + if (row == null) { + continue; + } + // 循环Excel的列 只需要读取2-5列 + String firstClassNameCurrent = "";//本行一级分类 + String secondClassNameCurrent = "";//本行二级分类 + String thirdClassNameCurrent = "";//本行三级分类 + String fourthClassNameCurrent = "";//本行四级分类 + for (int c = 1; c < 5; c++) { + Cell cell = row.getCell(c); + if (null != cell) { + if (c == 1) { + //领域列 + firstClassNameCurrent = ""; + String value = getCellContent(cell); + if(!"".equals(value)){ + firstClassName = value; + firstClassNameCurrent = value; + firstClassId = getLongRandom(); + firstClassSort++; + secondClassSort = -1; + thirdClassSort = -1; + fourthClassSort = -1; + } + } else if (c == 2) { + //大类列 + secondClassNameCurrent = ""; + String value = getCellContent(cell); + if(!"".equals(value)){ + secondClassName = value; + secondClassNameCurrent = value; + secondClassId = getLongRandom(); + secondClassSort++; + thirdClassSort = -1; + fourthClassSort = -1; + } + } else if (c == 3) { + //小类列 + thirdClassNameCurrent = ""; + String value = getCellContent(cell); + if(!"".equals(value)){ + thirdClassName = value; + thirdClassNameCurrent = value; + thirdClassId = getLongRandom(); + thirdClassSort++; + fourthClassSort = -1; + } + } else if (c == 4) { + //细类名称列 + fourthClassNameCurrent = ""; + String value = getCellContent(cell); + if(!"".equals(value)){ + fourthClassName = value; + fourthClassNameCurrent = value; + fourthClassId = getLongRandom(); + fourthClassSort++; + } + } + } + } + if(!"".equals(firstClassNameCurrent)){ + //领域 + CategoryEntity insertEntity = getCategoryEntity(firstClassId,0L,"0",firstClassName, + firstClassId+"","0",firstClassSort,0,""); + list.add(insertEntity); + } + if(!"".equals(secondClassNameCurrent)){ + //大类 + CategoryEntity insertEntity = getCategoryEntity(secondClassId,firstClassId,firstClassId+"",secondClassName, + secondClassId+"","1",secondClassSort,0,firstClassName); + list.add(insertEntity); + } + if(!"".equals(thirdClassNameCurrent)){ + //小类 + String pids = firstClassId + "," + secondClassId + ""; + CategoryEntity insertEntity = getCategoryEntity(thirdClassId,secondClassId,pids,thirdClassName, + thirdClassId+"","2",thirdClassSort,0,secondClassName); + list.add(insertEntity); + } + if(!"".equals(fourthClassNameCurrent)){ + //细分类 + String pids = firstClassId + "," + secondClassId + "," + thirdClassId + ""; + CategoryEntity insertEntity = getCategoryEntity(fourthClassId,thirdClassId,pids,fourthClassName, + fourthClassId+"","3",fourthClassSort,0,thirdClassName); + list.add(insertEntity); + } + } + if(list.size() > 0){ + CategoryEntity[] categoryEntities = new CategoryEntity[list.size()]; + for(int k = 0 ; k < list.size() ; k++){ + categoryEntities[k] = list.get(k); + } + baseDao.insertList(categoryEntities); + } + result.setMsg("success"); + result.setCode(0); + result.setData("数据导入成功!"); + return result; + }catch(Exception e){ + + } + result.setMsg("defeat"); + result.setCode(1); + result.setData("数据导入失败!"); + return result; + } + + /** + * 获取单元格内容 + * @param cell + * @return + */ + public String getCellContent(Cell cell){ + String value = ""; + if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) { + value = String.valueOf(cell.getNumericCellValue()); + } else { + value = cell.getStringCellValue(); + } + //内容超过25个字进行长度限制,否则数据库会超限 + if(value.length() > 25){ + value = value.substring(0,25) + "..."; + } + return value; + } + + /** + * 获取19位随机数 + * @return + */ + public Long getLongRandom(){ + Guid+=1; + long now = System.currentTimeMillis(); + SimpleDateFormat dateFormat=new SimpleDateFormat("MMdd"); + String time=dateFormat.format(now); + String currentTimeMillis=now+""; + int ran=0; + if(Guid>999){ + Guid=100; + } + ran=Guid; + String str = time+currentTimeMillis.substring(1, currentTimeMillis.length())+ran; + return Long.parseLong(str); + } - return new Result(); + /** + * 拼接entity + * @param id ID + * @param pid 上级分类ID + * @param categoryName 分类名称 + * @param categoryCode 分类编码 + * @param categoryType 分类类别 + * @param sort 排序 + * @param delFlag 删除标识 0:未删除 1:删除 + * @param parentName 上级部门名称 + */ + public CategoryEntity getCategoryEntity(Long id,Long pid,String pids,String categoryName,String categoryCode, + String categoryType,Integer sort,Integer delFlag,String parentName) { + CategoryEntity entity = new CategoryEntity(); + Long userId = SecurityUser.getUserId(); + entity.setId(id); + entity.setPid(pid); + entity.setPids(pids); + entity.setCategoryName(categoryName);//分类名称 + entity.setCategoryCode(categoryCode);//分类编码(暂时使用ID) + entity.setCategoryType(categoryType);//分类类别(默认1) + entity.setSort(sort);//排序 + entity.setDelFlag(delFlag);//删除标识 0:未删除 1:删除 + entity.setParentName(parentName);//上级部门名称 + entity.setCreator(userId); + entity.setUpdater(userId); + entity.setCreateDate(new Date()); + entity.setUpdateDate(new Date()); + return entity; + } + + /** + * 获取excle版本 + * @param mFile + * @return + */ + public String getExcelInfo(MultipartFile mFile) { + String fileName = mFile.getOriginalFilename();// 获取文件名 + String isExcel2003 = "true";// 根据文件名判断文件是2003版本还是2007版本 + try { + if (!validateExcel(fileName)) {// 验证文件名是否合格 + return ""; + } + if (isExcel2007(fileName)) { + isExcel2003 = "false"; + } + return isExcel2003; + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + + /** + * 验证EXCEL文件 + * @param filePath + * @return + */ + public boolean validateExcel(String filePath) { + if (filePath == null || !(isExcel2003(filePath) || isExcel2007(filePath))) { + return false; + } + return true; + } + + // @描述:是否是2003的excel,返回true是2003 + public static boolean isExcel2003(String filePath) { + return filePath.matches("^.+\\.(?i)(xls)$"); + } + // @描述:是否是2007的excel,返回true是2007 + public static boolean isExcel2007(String filePath) { + return filePath.matches("^.+\\.(?i)(xlsx)$"); } /** diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/CategoryDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/CategoryDao.xml index 35d08f827..670d6aaf2 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/CategoryDao.xml +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/category/CategoryDao.xml @@ -48,4 +48,35 @@ ORDER BY t1.sort ASC + + + insert into epdc_category + (id, + pid, + pids, + category_name, + category_code, + category_type, + sort, + del_flag, + creator, + create_date, + updater, + update_date) + values + + (#{item.id}, + #{item.pid}, + #{item.pids}, + #{item.categoryName}, + #{item.categoryCode}, + #{item.categoryType}, + #{item.sort}, + #{item.delFlag}, + #{item.creator}, + #{item.createDate}, + #{item.updater}, + #{item.updateDate}) + + From f8ecb0980a937fd67b6d90893da5c0f7ef986ef9 Mon Sep 17 00:00:00 2001 From: liuchuang Date: Fri, 6 Dec 2019 11:10:58 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../doc/branch/dev_1118/db/esua_epdc_user.sql | 1 + .../dto/form/EpdcAppUserRegisterFormDTO.java | 1 - .../esua/epdc/feign/UserFeignClient.java | 12 +++++++++ .../fallback/UserFeignClientFallback.java | 5 ++++ .../epdc/service/impl/AppUserServiceImpl.java | 16 +++++++++++- .../dto/constant/GroupNoticeConstant.java | 8 +++--- .../dto/topic/form/TopicSubmitFormDTO.java | 1 + .../resources/mapper/group/UserGroupDao.xml | 3 ++- .../controller/EpdcAppUserController.java | 14 +++++++++++ .../esua/epdc/dao/UserGridRelationDao.java | 14 ++++++++++- .../epdc/service/UserGridRelationService.java | 11 ++++++++ .../elink/esua/epdc/service/UserService.java | 11 ++++++++ .../impl/UserGridRelationServiceImpl.java | 5 ++++ .../epdc/service/impl/UserServiceImpl.java | 25 +++++++++++++++++++ .../src/main/resources/mapper/UserDao.xml | 2 +- .../resources/mapper/UserGridRelationDao.xml | 13 +++++++++- 16 files changed, 132 insertions(+), 10 deletions(-) diff --git a/esua-epdc/doc/branch/dev_1118/db/esua_epdc_user.sql b/esua-epdc/doc/branch/dev_1118/db/esua_epdc_user.sql index f82958f5a..a5314e05b 100644 --- a/esua-epdc/doc/branch/dev_1118/db/esua_epdc_user.sql +++ b/esua-epdc/doc/branch/dev_1118/db/esua_epdc_user.sql @@ -50,6 +50,7 @@ CREATE TABLE epdc_user_invitation_record( GRID VARCHAR(128) NOT NULL COMMENT '网格' , GRID_ID BIGINT NOT NULL COMMENT '网格ID' , REGISTER_TIME DATETIME NOT NULL COMMENT '注册时间' , + REVISION INT NULL COMMENT '乐观锁' , CREATED_BY VARCHAR(32) NOT NULL COMMENT '创建人' , CREATED_TIME DATETIME NOT NULL COMMENT '创建时间' , UPDATED_BY VARCHAR(32) NOT NULL COMMENT '更新人' , diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java index 937dcd476..6f16750a3 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java @@ -26,7 +26,6 @@ public class EpdcAppUserRegisterFormDTO implements Serializable { /** * 网格ID */ - @NotNull(message = "网格ID不能为空") private Long gridId; /** diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java index 07d58a844..af2dad7c5 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java @@ -258,6 +258,18 @@ public interface UserFeignClient { @GetMapping("app-user/epdc-app/user/residentDetail/{userId}") Result residentDetail(@PathVariable("userId") String userId); + /** + * + * 获取用户最后一次切换的网格信息 + * + * @params [openId] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/12/6 11:04 + */ + @GetMapping("app-user/epdc-app/user/lastSwitchGrid/{openId}") + Result getUserLastSwitchGrid(@PathVariable("openId") String openId); + /** * 认证用户(用户信息审核) * diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index 2ba46f7c6..8cf5899f4 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -136,6 +136,11 @@ public class UserFeignClientFallback implements UserFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "authenticateResident", formDTO); } + @Override + public Result getUserLastSwitchGrid(String openId) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserLastSwitchGrid", openId); + } + @Override public Result> getWorkUserList(EpdcWorkUserFromDTO workUserFromDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getWorkUserList", workUserFromDto); diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java index 555ebbc93..91a9930e8 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java @@ -639,12 +639,26 @@ public class AppUserServiceImpl implements AppUserService { return authorization; } - @Override public Result getMaV2Token(EpdcAppUserRegisterFormDTO formDto) { WxMaJscode2SessionResult wxMaResult = this.getWxMaUser(formDto.getWxCode()); String openId = wxMaResult.getOpenid(); String unionId = wxMaResult.getUnionid(); + if (null == formDto.getGridId()) { + // 获取用户绑定网格信息 + Result dtoResult = userFeignClient.getUserLastSwitchGrid(openId); + if (!dtoResult.success()) { + return new Result().error(dtoResult.getMsg()); + } + EpdcUserRegisterInfoResultDTO userDto = dtoResult.getData(); + if (userDto.getRegisterState() != NumConstant.TWO) { + EpdcAppAuthorizationDTO resultDto = new EpdcAppAuthorizationDTO(); + resultDto.setUserState(NumConstant.FIVE_STR); + return new Result().ok(resultDto); + } else { + formDto.setGridId(userDto.getGridId()); + } + } // 查询当前微信注册状态 EpdcCheckUserRegisterFromDTO checkFromDto = new EpdcCheckUserRegisterFromDTO(); checkFromDto.setOpenId(openId); diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java index d229b159b..7aae38d97 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java @@ -12,22 +12,22 @@ public interface GroupNoticeConstant { /** * 社群审核未通过 */ - String NOTICE_GROUP_NOT_PASSED = "你创建的社群【审核未通过】"; + String NOTICE_GROUP_NOT_PASSED = "您创建的社群【审核未通过】"; /** * 社群审核通过 */ - String NOTICE_GROUP_PASSED = "你创建的社群【审核通过】"; + String NOTICE_GROUP_PASSED = "您创建的社群【审核通过】"; /** * 社群解散 */ - String NOTICE_GROUP_DISBAND = "你加入的社群已被解散"; + String NOTICE_GROUP_DISBAND = "您加入的社群已被解散"; /** * 删除社群成员 */ - String NOTICE_GROUP_USER_REMOVED_MEMBER = "你已被群主移除社群"; + String NOTICE_GROUP_USER_REMOVED_MEMBER = "您已被群主移除社群"; /** * 邀请入群 diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java index 9de72516a..602762596 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicSubmitFormDTO.java @@ -35,6 +35,7 @@ public class TopicSubmitFormDTO implements Serializable { * 话题地址 */ @NotBlank(message = "话题地址不能为空") + @Size(min = 1, max = 100, message = "话题地址在100个字以内") private String topicAddress; /** diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml index ebffaae80..fb0c34c86 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml @@ -41,10 +41,11 @@ AND STATE = #{state} AND GROUP_ID = #{groupId} ORDER BY + LORD_FLAG DESC, CONVERT(NICKNAME USING gbk) ASC, - CREATED_TIME DESC + CREATED_TIME DESC + SELECT + * + FROM + `epdc_user_grid_relation` + WHERE + USER_ID = #{userId} + AND DEL_FLAG = '0' + ORDER BY + SWITCHED_TIME DESC + LIMIT 1 + \ No newline at end of file From d0a54fb341fdbe77737fd89610b7797da943223a Mon Sep 17 00:00:00 2001 From: liuchuang Date: Fri, 6 Dec 2019 13:21:04 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/EpdcAppUserRegisterFormDTO.java | 1 + .../epdc/service/impl/AppUserServiceImpl.java | 30 +++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java index 6f16750a3..937dcd476 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcAppUserRegisterFormDTO.java @@ -26,6 +26,7 @@ public class EpdcAppUserRegisterFormDTO implements Serializable { /** * 网格ID */ + @NotNull(message = "网格ID不能为空") private Long gridId; /** diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java index 91a9930e8..ee67aff1f 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java @@ -644,21 +644,21 @@ public class AppUserServiceImpl implements AppUserService { WxMaJscode2SessionResult wxMaResult = this.getWxMaUser(formDto.getWxCode()); String openId = wxMaResult.getOpenid(); String unionId = wxMaResult.getUnionid(); - if (null == formDto.getGridId()) { - // 获取用户绑定网格信息 - Result dtoResult = userFeignClient.getUserLastSwitchGrid(openId); - if (!dtoResult.success()) { - return new Result().error(dtoResult.getMsg()); - } - EpdcUserRegisterInfoResultDTO userDto = dtoResult.getData(); - if (userDto.getRegisterState() != NumConstant.TWO) { - EpdcAppAuthorizationDTO resultDto = new EpdcAppAuthorizationDTO(); - resultDto.setUserState(NumConstant.FIVE_STR); - return new Result().ok(resultDto); - } else { - formDto.setGridId(userDto.getGridId()); - } - } +// if (null == formDto.getGridId()) { +// // 获取用户绑定网格信息 +// Result dtoResult = userFeignClient.getUserLastSwitchGrid(openId); +// if (!dtoResult.success()) { +// return new Result().error(dtoResult.getMsg()); +// } +// EpdcUserRegisterInfoResultDTO userDto = dtoResult.getData(); +// if (userDto.getRegisterState() != NumConstant.TWO) { +// EpdcAppAuthorizationDTO resultDto = new EpdcAppAuthorizationDTO(); +// resultDto.setUserState(NumConstant.FIVE_STR); +// return new Result().ok(resultDto); +// } else { +// formDto.setGridId(userDto.getGridId()); +// } +// } // 查询当前微信注册状态 EpdcCheckUserRegisterFromDTO checkFromDto = new EpdcCheckUserRegisterFromDTO(); checkFromDto.setOpenId(openId); From b0ac7ee8d514939fe727fed074f6f5adb3145a0b Mon Sep 17 00:00:00 2001 From: qushutong <1976590620@qq.com> Date: Fri, 6 Dec 2019 13:38:00 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=85=9A=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PartyMembersServiceImpl.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java index 7bf9a0b7b..a1babd571 100755 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java @@ -113,14 +113,30 @@ public class PartyMembersServiceImpl extends BaseServiceImpl parentResult = adminFeignClient.getParentAndAllDept(dto.getAllDeptIds()[dto.getAllDeptIds().length-1]); + if (!parentResult.success() || parentResult.getData() == null) { + throw new RenException("获取部门信息失败"); + }else { + ParentAndAllDeptDTO deptDTO = parentResult.getData(); + entity.setAllDeptIds(deptDTO.getAllDeptIds()); + entity.setAllDeptNames(deptDTO.getAllDeptNames()); + entity.setParentDeptIds(deptDTO.getParentDeptIds()); + entity.setParentDeptNames(deptDTO.getParentDeptNames()); + entity.setGridId(Long.valueOf(dto.getAllDeptIds()[dto.getAllDeptIds().length-1])); + String[] split = deptDTO.getAllDeptNames().split("-"); + entity.setGridName(split[split.length-1]); } - PartyMembersEntity entity = ConvertUtils.sourceToTarget(dto, PartyMembersEntity.class); insert(entity); JSONArray jsonArray = JSON.parseArray(dto.getTagIds()); From d14876218e6f365b20990d50f8eff731cb71c902 Mon Sep 17 00:00:00 2001 From: liuchuang Date: Fri, 6 Dec 2019 14:58:20 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=83=E8=AF=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/elink/esua/epdc/service/impl/UserServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index e4dfc8b0c..8def141df 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -374,6 +374,11 @@ public class UserServiceImpl extends BaseServiceImpl implem else { resultDto.setRegisterState(NumConstant.TWO); resultDto.setGrid(relationInfo.getGrid()); + // 更新最后一次切换网格时间 + UserGridRelationEntity userGridRelationEntity = new UserGridRelationEntity(); + userGridRelationEntity.setId(relationInfo.getId()); + userGridRelationEntity.setSwitchedTime(new Date()); + userGridRelationService.updateById(userGridRelationEntity); } } // 未注册