From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 02 七月 2025 16:43:13 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service --- src/main/java/com/lf/server/service/show/ApplyService.java | 121 ++++++++++++++++++++++++++++++++-------- 1 files changed, 97 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/lf/server/service/show/ApplyService.java b/src/main/java/com/lf/server/service/show/ApplyService.java index bd98158..b3adb4a 100644 --- a/src/main/java/com/lf/server/service/show/ApplyService.java +++ b/src/main/java/com/lf/server/service/show/ApplyService.java @@ -1,13 +1,16 @@ package com.lf.server.service.show; +import com.lf.server.entity.all.StaticData; import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.data.MetaEntity; import com.lf.server.entity.show.ApplyEntity; import com.lf.server.entity.show.FlowEntity; import com.lf.server.entity.sys.UserEntity; import com.lf.server.helper.AesHelper; -import com.lf.server.helper.Md5Helper; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.show.ApplyMapper; +import com.lf.server.service.data.MetaService; +import com.lf.server.service.sys.UserService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -31,20 +34,26 @@ FlowService flowService; @Autowired + UserService userService; + + @Autowired + MetaService metaService; + + @Autowired DataLibService dataLibService; private final static Log log = LogFactory.getLog(ApplyService.class); @Override public Integer selectCount(String uname, Integer status, Timestamp start, Timestamp end) { - uname = StringHelper.getLikeStr(uname); + uname = StringHelper.getLikeUpperStr(uname); return applyMapper.selectCount(uname, status, start, end); } @Override public List<ApplyEntity> selectByPage(Integer userid, String uname, Integer status, Timestamp start, Timestamp end, Integer limit, Integer offset) { - uname = StringHelper.getLikeStr(uname); + uname = StringHelper.getLikeUpperStr(uname); return applyMapper.selectByPage(userid, uname, status, start, end, limit, offset); } @@ -60,8 +69,8 @@ } @Override - public UserEntity selectUserByDepid(Integer depid) { - return applyMapper.selectUserByDepid(depid); + public UserEntity selectUserByDepcode(String depcode) { + return applyMapper.selectUserByDepcode(depcode); } @Override @@ -105,23 +114,23 @@ } @Override - public Integer updateForDiscard(Integer id) { - return applyMapper.updateForDiscard(id); + public Integer updateForDiscard(Integer userid, Integer id) { + return applyMapper.updateForDiscard(userid, id); } @Override - public Integer updateForResubmit(Integer id) { - return applyMapper.updateForResubmit(id); + public Integer updateForResubmit(Integer userid, Integer id) { + return applyMapper.updateForResubmit(userid, id); } @Override - public Integer updateForSubmit(Integer applyid, Integer flowId) { - return applyMapper.updateForSubmit(applyid, flowId); + public Integer updateForSubmit(Integer userid, Integer applyid, Integer flowId) { + return applyMapper.updateForSubmit(userid, applyid, flowId); } @Override - public Integer updateForReject(Integer applyid, Integer flowId) { - return applyMapper.updateForReject(applyid, flowId); + public Integer updateForReject(Integer userid, Integer applyid, Integer flowId) { + return applyMapper.updateForReject(userid, applyid, flowId); } /** @@ -135,9 +144,12 @@ } List<FlowEntity> list = getFlowEntities(apply.getId(), ue, dr); - rows = flowService.inserts(list); + if (list.isEmpty()) { + applyMapper.delete(apply.getId()); + throw new Exception("鎵句笉鍒板緟瀹℃牳浜�"); + } - return rows; + return flowService.inserts(list); } /** @@ -146,20 +158,52 @@ private ApplyEntity getApplyEntity(UserEntity ue, DownloadReqEntity dr) throws Exception { // String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd())) String aesPwd = AesHelper.encrypt(dr.getPwd()); + String gids = null == dr.getIds() || dr.getIds().isEmpty() ? null : StringHelper.join(dr.getIds(), ","); ApplyEntity apply = new ApplyEntity(); apply.setUserid(ue.getId()); - apply.setDepids(StringHelper.join(dr.getIds(), ",")); - apply.setTabs(StringHelper.join(dr.getTabs(), ",")); + apply.setDepids(StringHelper.join(dr.getDepcodes(), ",")); + apply.setTabs(getTabs(dr)); apply.setEntities(StringHelper.join(dr.getEntities(), ",")); apply.setWkt(dr.getWkt()); apply.setPwd(aesPwd); apply.setStatus(0); - apply.setCount(dr.getIds().size()); + apply.setCount(dr.getDepcodes().size()); apply.setDescr(dr.getDescr()); apply.setCreateUser(ue.getId()); + apply.setDepcode(dr.getDepcode()); + apply.setDircodes(dr.getDirs()); + apply.setGids(gids); + apply.setFilters(dr.getFilter()); return apply; + } + + /** + * 鑾峰彇琛ㄥ悕 + */ + private String getTabs(DownloadReqEntity dr) { + if (!StaticData.SYS_META.equals(dr.getEntities().get(0))) { + return StringHelper.join(dr.getTabs(), ","); + } + + List<MetaEntity> list = metaService.selectMetaFiles(dr.getIds()); + if (null == list || list.isEmpty()) { + return "鍏冩暟鎹〃"; + } + + StringBuilder sb = new StringBuilder(); + for (MetaEntity me : list) { + sb.append(me.getName()).append(","); + if (sb.length() > StaticData.I1000) { + break; + } + } + if (sb.length() > 1) { + sb.deleteCharAt(sb.length() - 1); + } + + return sb.toString(); } /** @@ -167,15 +211,15 @@ */ private List<FlowEntity> getFlowEntities(Integer applyId, UserEntity ue, DownloadReqEntity dr) { List<FlowEntity> list = new ArrayList<>(); - for (Integer depid : dr.getIds()) { - UserEntity user = selectUserByDepid(depid); + for (String depcode : dr.getDepcodes()) { + UserEntity user = selectUserByDepcode(depcode); if (null == user) { - continue; + user = userService.selectByUid(StaticData.ADMIN); } FlowEntity flow = new FlowEntity(); flow.setApplyid(applyId); - flow.setDepid(depid); + flow.setDepcode(depcode); flow.setUserid(user.getId()); flow.setStatus(0); flow.setDescr(null); @@ -192,12 +236,41 @@ */ public void zipDbData(UserEntity ue, ApplyEntity entity) { try { - List<String> entities = Arrays.asList(entity.getEntities().split(",")); + List<String> entities = Arrays.asList(entity.getEntities().split(StaticData.COMMA)); String pwd = AesHelper.decrypt(entity.getPwd()); - dataLibService.createZipFile(ue, entities, entity.getWkt(), pwd); + DownloadReqEntity dr = new DownloadReqEntity(); + dr.setEntities(entities); + dr.setWkt(dr.getWkt()); + dr.setPwd(pwd); + dr.setDepcode(entity.getDepcode()); + dr.setDirs(entity.getDircodes()); + dr.setIds(getIds(entity.getGids())); + dr.setFilter(entity.getFilters()); + + String guid = StaticData.SYS_META.equals(entity.getEntities()) ? metaService.downloadMeteReq(ue, dr) : dataLibService.downloadDbReq(ue, dr); + if (!StringHelper.isEmpty(guid)) { + entity.setGuid(guid); + update(entity); + } } catch (Exception ex) { log.error(ex.getMessage(), ex); } } + + /** + * 鑾峰彇ID闆嗗悎 + */ + private List<Integer> getIds(String gids) { + if (StringHelper.isEmpty(gids)) { + return null; + } + + List<Integer> list = new ArrayList<>(); + for (String str : gids.split(StaticData.COMMA)) { + list.add(Integer.parseInt(str)); + } + + return list; + } } -- Gitblit v1.9.3