diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/DeptMaCodeDao.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/DeptMaCodeDao.java index c5bb9c4..d8e4ba1 100644 --- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/DeptMaCodeDao.java +++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/dao/DeptMaCodeDao.java @@ -38,7 +38,7 @@ public interface DeptMaCodeDao extends BaseDao { * 获取部门小程序码列表 * * @param params - * @return java.util.List + * @return java.util.List * @author work@yujt.net.cn * @date 2019/9/19 09:18 */ diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/DeptMaCodeService.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/DeptMaCodeService.java index c82db65..f47db3a 100644 --- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/DeptMaCodeService.java +++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/DeptMaCodeService.java @@ -38,7 +38,7 @@ public interface DeptMaCodeService extends BaseService { * 默认分页 * * @param params - * @return PageData + * @return PageData * @author generator * @date 2019-09-19 */ @@ -48,7 +48,7 @@ public interface DeptMaCodeService extends BaseService { * 默认查询 * * @param params - * @return java.util.List + * @return java.util.List * @author generator * @date 2019-09-19 */ @@ -58,7 +58,7 @@ public interface DeptMaCodeService extends BaseService { * 单条查询 * * @param id - * @return DeptMaCodeDTO + * @return OptDeptMaCodeDTO * @author generator * @date 2019-09-19 */ diff --git a/epdc-cloud-admin/src/main/resources/application.yml b/epdc-cloud-admin/src/main/resources/application.yml index 9156371..1920126 100644 --- a/epdc-cloud-admin/src/main/resources/application.yml +++ b/epdc-cloud-admin/src/main/resources/application.yml @@ -45,7 +45,7 @@ management: show-details: ALWAYS mybatis-plus: - mapper-locations: classpath:/mapper/**/*.xml + mapper-locations: classpath*:/mapper/**/*.xml #实体扫描,多个package用逗号或者分号分隔 typeAliasesPackage: com.elink.esua.epdc.entity global-config: diff --git a/epdc-cloud-optimize-department/pom.xml b/epdc-cloud-optimize-department/pom.xml index cbdbf13..7b313c9 100644 --- a/epdc-cloud-optimize-department/pom.xml +++ b/epdc-cloud-optimize-department/pom.xml @@ -31,6 +31,12 @@ epdc-commons-mybatis ${epdc-cloud-commons.version} + + + com.esua.epdc.yushan + epdc-commons-tools-wx-ma + ${epdc-cloud-commons.version} + org.springframework.boot spring-boot-starter-web @@ -89,18 +95,18 @@ ${basedir}/src/main/resources **/application*.yml - + registry.conf ${basedir}/src/main/resources **/application*.yml - + registry.conf diff --git a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/feign/OptOssFeignClient.java b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/feign/OptOssFeignClient.java new file mode 100644 index 0000000..04c1690 --- /dev/null +++ b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/feign/OptOssFeignClient.java @@ -0,0 +1,30 @@ +package com.elink.esua.epdc.optimize.modules.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.UploadToOssDTO; +import com.elink.esua.epdc.optimize.modules.feign.fallback.OptOssFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; + + +/** + * @author work@yujt.net.cn + * @date 19/9/19 10:12 + */ +@FeignClient(name = ServiceConstant.EPDC_OSS_SERVER, fallback = OptOssFeignClientFallback.class) +public interface OptOssFeignClient { + + /** + * File文件上传到文件服务器 + * + * @param dto + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/9/19 10:15 + */ + @PostMapping(value = "oss/file/uploadFile", consumes = MediaType.APPLICATION_JSON_VALUE) + Result uploadFile(UploadToOssDTO dto); + +} diff --git a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/feign/fallback/OptOssFeignClientFallback.java b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/feign/fallback/OptOssFeignClientFallback.java new file mode 100644 index 0000000..ef021b4 --- /dev/null +++ b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/feign/fallback/OptOssFeignClientFallback.java @@ -0,0 +1,22 @@ +package com.elink.esua.epdc.optimize.modules.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.UploadToOssDTO; +import com.elink.esua.epdc.optimize.modules.feign.OptOssFeignClient; +import org.springframework.stereotype.Component; + +/** + * @author work@yujt.net.cn + * @date 19/9/19 10:12 + */ +@Component +public class OptOssFeignClientFallback implements OptOssFeignClient { + + @Override + public Result uploadFile(UploadToOssDTO dto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "uploadFile", dto.getFileName()); + } + +} diff --git a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/controller/OptDeptMaCodeController.java b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/controller/OptDeptMaCodeController.java index 3eced8b..4db776c 100644 --- a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/controller/OptDeptMaCodeController.java +++ b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/controller/OptDeptMaCodeController.java @@ -26,6 +26,7 @@ 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.DeptMaCodeDTO; +import com.elink.esua.epdc.optimize.modules.macode.dto.OptDeptMaCodeDTO; import com.elink.esua.epdc.optimize.modules.macode.excel.DeptMaCodeExcel; import com.elink.esua.epdc.optimize.modules.macode.service.OptDeptMaCodeService; import org.springframework.beans.factory.annotation.Autowired; @@ -45,24 +46,24 @@ import java.util.Map; @RestController @RequestMapping("optimize/deptmacode") public class OptDeptMaCodeController { - + @Autowired private OptDeptMaCodeService deptMaCodeService; @GetMapping("page") - public Result> page(@RequestParam Map params){ - PageData page = deptMaCodeService.page(params); - return new Result>().ok(page); + public Result> page(@RequestParam Map params) { + PageData page = deptMaCodeService.page(params); + return new Result>().ok(page); } @GetMapping("{id}") - public Result get(@PathVariable("id") String id){ + public Result get(@PathVariable("id") String id) { DeptMaCodeDTO data = deptMaCodeService.get(id); return new Result().ok(data); } @PostMapping - public Result save(@RequestBody DeptMaCodeDTO dto){ + public Result save(@RequestBody DeptMaCodeDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); deptMaCodeService.save(dto); @@ -70,7 +71,7 @@ public class OptDeptMaCodeController { } @PutMapping - public Result update(@RequestBody DeptMaCodeDTO dto){ + public Result update(@RequestBody DeptMaCodeDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); deptMaCodeService.update(dto); @@ -78,7 +79,7 @@ public class OptDeptMaCodeController { } @DeleteMapping - public Result delete(@RequestBody String[] ids){ + public Result delete(@RequestBody String[] ids) { //效验数据 AssertUtils.isArrayEmpty(ids, "id"); deptMaCodeService.delete(ids); @@ -91,11 +92,42 @@ public class OptDeptMaCodeController { ExcelUtils.exportExcelToTarget(response, null, list, DeptMaCodeExcel.class); } - - + /** + * 将网格机构信息同步到小程序码表(只是同步机构信息,不会创建小程序码) + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2020/5/18 15:18 + */ @PostMapping("initDeptForMaCode") - public Result initDeptForMaCode(){ + public Result initDeptForMaCode() { deptMaCodeService.initDeptForMaCode(); return new Result(); } + + + /** + * 生成指定网格小程序码 + * + * @param gridId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/9/19 11:04 + */ + @PostMapping("create/{gridId}") + public Result createDeptMaCode(@PathVariable("gridId") String gridId) { + return deptMaCodeService.createDeptMaCode(gridId); + } + + /** + * 创建网格长注册小程序码 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2019/10/22 09:59 + */ + @PostMapping("gridLeader") + public Result createGridLeaderMaCode() { + return deptMaCodeService.createGridLeaderMaCode(); + } } \ No newline at end of file diff --git a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dao/OptDeptMaCodeDao.java b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dao/OptDeptMaCodeDao.java index f5efac6..7f255b3 100644 --- a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dao/OptDeptMaCodeDao.java +++ b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dao/OptDeptMaCodeDao.java @@ -18,11 +18,13 @@ package com.elink.esua.epdc.optimize.modules.macode.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.optimize.modules.macode.dto.OptDeptMaCodeDTO; import com.elink.esua.epdc.optimize.modules.macode.entity.OptDeptMaCodeEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * 网格小程序码 @@ -53,5 +55,15 @@ public interface OptDeptMaCodeDao extends BaseDao { * @author work@yujt.net.cn * @date 2020/5/15 14:10 */ - List selectListDeptAndParents(@Param("deptId") String deptId, @Param("parentIds") String[] parentIds); + List selectListDeptAndParents(@Param("deptId") Long deptId, @Param("parentIds") String[] parentIds); + + /** + * 小程序码维护 - 分页查询 + * + * @param params + * @return java.util.List + * @author work@yujt.net.cn + * @date 2020/5/18 14:35 + */ + List selectListDeptMaCode(Map params); } \ No newline at end of file diff --git a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dto/DeptMaCodeDTO.java b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dto/OptDeptMaCodeDTO.java similarity index 97% rename from epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dto/DeptMaCodeDTO.java rename to epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dto/OptDeptMaCodeDTO.java index 34495aa..2dba190 100644 --- a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dto/DeptMaCodeDTO.java +++ b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/dto/OptDeptMaCodeDTO.java @@ -29,7 +29,7 @@ import lombok.Data; * @since v1.0.0 2020-05-15 */ @Data -public class DeptMaCodeDTO implements Serializable { +public class OptDeptMaCodeDTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/service/OptDeptMaCodeService.java b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/service/OptDeptMaCodeService.java index 7c2c759..11a3c46 100644 --- a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/service/OptDeptMaCodeService.java +++ b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/service/OptDeptMaCodeService.java @@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.DeptMaCodeDTO; +import com.elink.esua.epdc.optimize.modules.macode.dto.OptDeptMaCodeDTO; import com.elink.esua.epdc.optimize.modules.macode.entity.OptDeptMaCodeEntity; import java.util.List; @@ -38,17 +39,17 @@ public interface OptDeptMaCodeService extends BaseService { * 默认分页 * * @param params - * @return PageData + * @return PageData * @author generator * @date 2020-05-15 */ - PageData page(Map params); + PageData page(Map params); /** * 默认查询 * * @param params - * @return java.util.List + * @return java.util.List * @author generator * @date 2020-05-15 */ @@ -58,7 +59,7 @@ public interface OptDeptMaCodeService extends BaseService { * 单条查询 * * @param id - * @return DeptMaCodeDTO + * @return OptDeptMaCodeDTO * @author generator * @date 2020-05-15 */ @@ -102,4 +103,23 @@ public interface OptDeptMaCodeService extends BaseService { * @date 2020/5/15 15:27 */ Result initDeptForMaCode(); + + /** + * 生成指定网格小程序码 + * + * @param gridId + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2020/5/18 15:19 + */ + Result createDeptMaCode(String gridId); + + /** + * 创建网格长注册小程序码 + * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2020/5/18 15:34 + */ + Result createGridLeaderMaCode(); } \ No newline at end of file diff --git a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/service/impl/OptDeptMaCodeServiceImpl.java b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/service/impl/OptDeptMaCodeServiceImpl.java index 713752b..c79ff63 100644 --- a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/service/impl/OptDeptMaCodeServiceImpl.java +++ b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/modules/macode/service/impl/OptDeptMaCodeServiceImpl.java @@ -18,27 +18,38 @@ package com.elink.esua.epdc.optimize.modules.macode.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ArrayUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 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.NumConstant; import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant; import com.elink.esua.epdc.commons.tools.constant.StrConstant; 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.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.DeptMaCodeDTO; +import com.elink.esua.epdc.dto.UploadToOssDTO; +import com.elink.esua.epdc.optimize.modules.feign.OptOssFeignClient; import com.elink.esua.epdc.optimize.modules.macode.dao.OptDeptMaCodeDao; +import com.elink.esua.epdc.optimize.modules.macode.dto.OptDeptMaCodeDTO; import com.elink.esua.epdc.optimize.modules.macode.entity.OptDeptMaCodeEntity; import com.elink.esua.epdc.optimize.modules.macode.service.OptDeptMaCodeService; +import com.elink.esua.epdc.optimize.utils.FileUtils; +import com.elink.esua.epdc.utils.WxMaServiceUtils; import com.google.common.collect.Lists; +import me.chanjar.weixin.common.error.WxErrorException; 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.io.File; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -52,14 +63,23 @@ import java.util.Map; @Service public class OptDeptMaCodeServiceImpl extends BaseServiceImpl implements OptDeptMaCodeService { - @Override - public PageData page(Map params) { + @Autowired + private WxMaServiceUtils wxMaServiceUtils; + + @Autowired + private OptOssFeignClient ossFeignClient; - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, DeptMaCodeDTO.class); + /** + * 小程序首页 + */ + private final static String MA_FRONT_PAGE_URL = "pages/index/index"; + + @Override + public PageData page(Map params) { + params.put("dataScopeDeptIds", SecurityUser.getUser().getDeptIdList()); + IPage page = getPage(params); + List pageDataList = baseDao.selectListDeptMaCode(params); + return new PageData<>(pageDataList, page.getTotal()); } @Override @@ -71,34 +91,126 @@ public class OptDeptMaCodeServiceImpl extends BaseServiceImpl insertList = Lists.newArrayList(); for (OptDeptMaCodeEntity deptMaCodeEntity : deptIdList) { - insertList.add(packDeptBaseInfo(deptMaCodeEntity.getGrid(), deptMaCodeEntity.getParentDeptIds())); + OptDeptMaCodeEntity entity = packDeptBaseInfo(deptMaCodeEntity.getGridId(), deptMaCodeEntity.getParentDeptIds()); + if (null != entity) { + insertList.add(entity); + } } insertBatch(insertList, NumConstant.FIFTY); return new Result(); } + @Override + public Result createDeptMaCode(String gridId) { + OptDeptMaCodeEntity entity = new OptDeptMaCodeEntity(); + entity.setCodeUrl(this.createMaCode(gridId, MA_FRONT_PAGE_URL)); + this.baseDao.insert(entity); + + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.eq(FieldConstant.GRID_ID, gridId); - private OptDeptMaCodeEntity packDeptBaseInfo(String deptId, String pids) { + baseDao.update(entity, wrapper); + return new Result(); + } + + @Override + public Result createGridLeaderMaCode() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("leader_flag", YesOrNoEnum.YES.value()); + Integer selectCount = this.baseDao.selectCount(wrapper); + if (selectCount > NumConstant.ZERO) { + return new Result(); + } + OptDeptMaCodeEntity entity = new OptDeptMaCodeEntity(); + entity.setAllDeptNames("全平台通用"); + entity.setCodeUrl(this.createMaCode("gridLeader", MA_FRONT_PAGE_URL)); + entity.setLeaderFlag(YesOrNoEnum.YES.value()); + this.baseDao.insert(entity); + return new Result(); + } + + /** + * 创建微信小程序码,并上传到oss + * + * @param param 小程序码的参数 + * @param pageUrl 小程序码的跳转链接 + * @return java.lang.String 小程序码的下载抵制 + * @author work@yujt.net.cn + * @date 2019/10/22 10:14 + */ + private String createMaCode(String param, String pageUrl) { + File wxaCodeUnlimit; + try { + wxaCodeUnlimit = wxMaServiceUtils.normalWxMaService().getQrcodeService() + .createWxaCodeUnlimit(param, pageUrl, 1280, true, null, false); + } catch (WxErrorException e) { + throw new RenException("请求微信接口失败"); + } + + UploadToOssDTO dto = new UploadToOssDTO(); + dto.setFileByte(FileUtils.fileToByteArray(wxaCodeUnlimit)); + dto.setFileName(wxaCodeUnlimit.getName()); + + Result ossResult = ossFeignClient.uploadFile(dto); + if (null == ossResult || !ossResult.success() || null == ossResult.getData()) { + throw new RenException("小程序码上传失败"); + } + return ossResult.getData(); + } + + /** + * 获取部门及父部门信息,拼接部门id,部门名称 + * + * @param deptId 本部门id + * @param pids 所有父部门id + * @return com.elink.esua.epdc.optimize.modules.macode.entity.OptDeptMaCodeEntity + * @author work@yujt.net.cn + * @date 2020/5/18 14:06 + */ + private OptDeptMaCodeEntity packDeptBaseInfo(Long deptId, String pids) { + + String[] deptPids = pids.split(StrConstant.COMMA); // 查询机构及父级机构 - List deptList = baseDao.selectListDeptAndParents(deptId, pids.split(StrConstant.COMMA)); + List deptList = baseDao.selectListDeptAndParents(deptId, deptPids); if (CollUtil.isEmpty(deptList)) { return null; } - int size = deptList.size(); + // 按上下级顺序组装部门集合 + List newDeptIdList = Lists.newArrayList(); + if (ArrayUtil.isEmpty(deptPids)) { + // 父级部门为空,则只有部门本身,没有上级 + newDeptIdList = deptList; + } else { + // 按部门顺序开始组装 + for (int i = 0; i < deptPids.length; i++) { + for (OptDeptMaCodeEntity entity : deptList) { + if (String.valueOf(entity.getGridId()).equals(deptPids[i])) { + newDeptIdList.add(entity); + deptList.remove(entity); + break; + } + } + } + // 所有父级部门处理完成,最后剩下部门本身 + newDeptIdList.addAll(deptList); + } + + int size = newDeptIdList.size(); + int maxIndex = size - NumConstant.ONE; String[] allDeptIds = new String[size]; String[] allDeptNames = new String[size]; - String[] parentDeptIds = new String[size - NumConstant.ONE]; - String[] parentDeptNames = new String[size - NumConstant.ONE]; + String[] parentDeptIds = new String[maxIndex]; + String[] parentDeptNames = new String[maxIndex]; for (int i = 0; i < size; i++) { - allDeptIds[i] = String.valueOf(deptList.get(i).getGridId()); - allDeptNames[i] = deptList.get(i).getGrid(); - if (i < size - NumConstant.ONE) { - parentDeptIds[i] = String.valueOf(deptList.get(i).getGridId()); - parentDeptNames[i] = deptList.get(i).getGrid(); + allDeptIds[i] = String.valueOf(newDeptIdList.get(i).getGridId()); + allDeptNames[i] = newDeptIdList.get(i).getGrid(); + if (i < maxIndex) { + parentDeptIds[i] = String.valueOf(newDeptIdList.get(i).getGridId()); + parentDeptNames[i] = newDeptIdList.get(i).getGrid(); } } - OptDeptMaCodeEntity deptMaCodeEntity = deptList.get(size - NumConstant.ONE); + OptDeptMaCodeEntity deptMaCodeEntity = newDeptIdList.get(maxIndex); deptMaCodeEntity.setLeaderFlag(YesOrNoEnum.NO.value()); deptMaCodeEntity.setAllDeptIds(StringUtils.join(allDeptIds, StrConstant.COMMA)); deptMaCodeEntity.setParentDeptIds(StringUtils.join(parentDeptIds, StrConstant.COMMA)); diff --git a/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/utils/FileUtils.java b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/utils/FileUtils.java new file mode 100644 index 0000000..286d22b --- /dev/null +++ b/epdc-cloud-optimize-department/src/main/java/com/elink/esua/epdc/optimize/utils/FileUtils.java @@ -0,0 +1,48 @@ +package com.elink.esua.epdc.optimize.utils; + +import com.elink.esua.epdc.commons.tools.constant.NumConstant; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; + +/** + * 文件操作工具 + * + * @author work@yujt.net.cn + * @date 2020/5/18 15:27 + */ +public class FileUtils { + + + /** + * File文件转为byte[] + * + * @param file + * @return byte[] + * @author work@yujt.net.cn + * @date 2019/9/19 15:56 + */ + public static byte[] fileToByteArray(File file) { + try { + //获取输入流 + FileInputStream fis = new FileInputStream(file); + //新的 byte 数组输出流,缓冲区容量1024byte + ByteArrayOutputStream bos = new ByteArrayOutputStream(1024); + //缓存 + byte[] b = new byte[1024]; + int n; + while ((n = fis.read(b)) != NumConstant.ONE_NEG) { + bos.write(b, NumConstant.ZERO, n); + } + fis.close(); + //改变为byte[] + byte[] data = bos.toByteArray(); + bos.close(); + return data; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/epdc-cloud-optimize-department/src/main/resources/logback-spring.xml b/epdc-cloud-optimize-department/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..775c3c4 --- /dev/null +++ b/epdc-cloud-optimize-department/src/main/resources/logback-spring.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epdc-cloud-optimize-department/src/main/resources/mapper/macode/OptDeptMaCodeDao.xml b/epdc-cloud-optimize-department/src/main/resources/mapper/macode/OptDeptMaCodeDao.xml index 852b06d..6f592a9 100644 --- a/epdc-cloud-optimize-department/src/main/resources/mapper/macode/OptDeptMaCodeDao.xml +++ b/epdc-cloud-optimize-department/src/main/resources/mapper/macode/OptDeptMaCodeDao.xml @@ -5,12 +5,16 @@ @@ -22,11 +26,25 @@ sys_dept t WHERE t.id = #{deptId} - + OR t.id IN #{parentId} ORDER BY t.update_date ASC; + \ No newline at end of file