| | |
| | | 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.show.ApplyEntity; |
| | | import com.lf.server.entity.show.FlowEntity; |
| | |
| | | import com.lf.server.helper.AesHelper; |
| | | import com.lf.server.helper.StringHelper; |
| | | import com.lf.server.mapper.show.ApplyMapper; |
| | | import com.lf.server.service.data.DownloadService; |
| | | 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; |
| | |
| | | FlowService flowService; |
| | | |
| | | @Autowired |
| | | UserService userService; |
| | | |
| | | @Autowired |
| | | DataLibService dataLibService; |
| | | |
| | | @Autowired |
| | | DownloadService downloadService; |
| | | |
| | | 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); |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public UserEntity selectUserByDepid(Integer depid) { |
| | | return applyMapper.selectUserByDepid(depid); |
| | | public UserEntity selectUserByDepcode(String depcode) { |
| | | return applyMapper.selectUserByDepcode(depcode); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | 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) 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.setDepids(StringHelper.join(dr.getDepcodes(), ",")); |
| | | apply.setTabs(StringHelper.join(dr.getTabs(), ",")); |
| | | 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 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); |
| | |
| | | */ |
| | | 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)); |
| | | dr.setFilter(entity.getFilters()); |
| | | |
| | | String guid = "sysmeta".equals(entity.getEntities()) ? "" : 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(ApplyEntity entity) { |
| | | if (StringHelper.isEmpty(entity.getGids())) { |
| | | return null; |
| | | } |
| | | |
| | | List<Integer> list = new ArrayList<>(); |
| | | for (String str : entity.getGids().split(StaticData.COMMA)) { |
| | | list.add(Integer.parseInt(str)); |
| | | } |
| | | |
| | | return list; |
| | | } |
| | | } |