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 | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 152 insertions(+), 22 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 e916120..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,17 +1,24 @@ 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.Md5Helper; +import com.lf.server.helper.AesHelper; import com.lf.server.helper.StringHelper; import com.lf.server.mapper.show.ApplyMapper; -import org.hsqldb.rights.User; +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; import org.springframework.stereotype.Service; +import java.sql.Timestamp; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -26,14 +33,29 @@ @Autowired FlowService flowService; + @Autowired + UserService userService; + + @Autowired + MetaService metaService; + + @Autowired + DataLibService dataLibService; + + private final static Log log = LogFactory.getLog(ApplyService.class); + @Override - public Integer selectCount(Integer userid) { - return applyMapper.selectCount(userid); + public Integer selectCount(String uname, Integer status, Timestamp start, Timestamp end) { + uname = StringHelper.getLikeUpperStr(uname); + + return applyMapper.selectCount(uname, status, start, end); } @Override - public List<ApplyEntity> selectByPage(Integer userid, Integer limit, Integer offset) { - return applyMapper.selectByPage(userid, limit, offset); + public List<ApplyEntity> selectByPage(Integer userid, String uname, Integer status, Timestamp start, Timestamp end, Integer limit, Integer offset) { + uname = StringHelper.getLikeUpperStr(uname); + + return applyMapper.selectByPage(userid, uname, status, start, end, limit, offset); } @Override @@ -44,6 +66,21 @@ @Override public ApplyEntity selectById(int id) { return applyMapper.selectById(id); + } + + @Override + public UserEntity selectUserByDepcode(String depcode) { + return applyMapper.selectUserByDepcode(depcode); + } + + @Override + public Integer selectSubmits(Integer userid) { + return applyMapper.selectSubmits(userid); + } + + @Override + public List<FlowEntity> selectFlows(Integer applyid) { + return applyMapper.selectFlows(applyid); } @Override @@ -76,10 +113,30 @@ return applyMapper.updates(list); } + @Override + public Integer updateForDiscard(Integer userid, Integer id) { + return applyMapper.updateForDiscard(userid, id); + } + + @Override + public Integer updateForResubmit(Integer userid, Integer id) { + return applyMapper.updateForResubmit(userid, id); + } + + @Override + public Integer updateForSubmit(Integer userid, Integer applyid, Integer flowId) { + return applyMapper.updateForSubmit(userid, applyid, flowId); + } + + @Override + public Integer updateForReject(Integer userid, Integer applyid, Integer flowId) { + return applyMapper.updateForReject(userid, applyid, flowId); + } + /** * 鎻掑叆鏁版嵁鐢宠 */ - public Integer insertApply(UserEntity ue, DownloadReqEntity dr) { + public Integer insertApply(UserEntity ue, DownloadReqEntity dr) throws Exception { ApplyEntity apply = getApplyEntity(ue, dr); int rows = applyMapper.insert(apply); if (0 == rows) { @@ -87,30 +144,66 @@ } 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); } /** * 鑾峰彇鏁版嵁鐢宠瀹炰綋绫� */ - private ApplyEntity getApplyEntity(UserEntity ue, DownloadReqEntity dr) { - String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd())); + 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(dbPwd); + 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(); } /** @@ -118,12 +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) { + 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); @@ -136,11 +232,45 @@ } /** - * 鏍规嵁鍗曚綅ID鏌ヨ鐢ㄦ埛 + * 鎵撳寘DB鏁版嵁 */ - private UserEntity selectUserByDepid(Integer depid) { - // + public void zipDbData(UserEntity ue, ApplyEntity entity) { + try { + List<String> entities = Arrays.asList(entity.getEntities().split(StaticData.COMMA)); + String pwd = AesHelper.decrypt(entity.getPwd()); - return null; + 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