管道基础大数据平台系统开发-【后端】-Server
13693261870
2024-04-22 cc816055746ae0ffa870734e5a411b2a2aabb96a
src/main/java/com/lf/server/service/show/ApplyService.java
@@ -2,12 +2,14 @@
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.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;
@@ -33,6 +35,9 @@
    @Autowired
    UserService userService;
    @Autowired
    MetaService metaService;
    @Autowired
    DataLibService dataLibService;
@@ -153,11 +158,12 @@
    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.getDepcodes(), ","));
        apply.setTabs(StringHelper.join(dr.getTabs(), ","));
        apply.setTabs(getTabs(dr));
        apply.setEntities(StringHelper.join(dr.getEntities(), ","));
        apply.setWkt(dr.getWkt());
        apply.setPwd(aesPwd);
@@ -167,10 +173,37 @@
        apply.setCreateUser(ue.getId());
        apply.setDepcode(dr.getDepcode());
        apply.setDircodes(dr.getDirs());
        apply.setGids(StringHelper.join(dr.getIds(), ","));
        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();
    }
    /**
@@ -186,7 +219,7 @@
            FlowEntity flow = new FlowEntity();
            flow.setApplyid(applyId);
            flow.setDepcode(user.getDepcode());
            flow.setDepcode(depcode);
            flow.setUserid(user.getId());
            flow.setStatus(0);
            flow.setDescr(null);
@@ -212,10 +245,14 @@
            dr.setPwd(pwd);
            dr.setDepcode(entity.getDepcode());
            dr.setDirs(entity.getDircodes());
            dr.setIds(getIds(entity));
            dr.setIds(getIds(entity.getGids()));
            dr.setFilter(entity.getFilters());
            dataLibService.downloadDbReq(ue, dr);
            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);
        }
@@ -224,9 +261,13 @@
    /**
     * 获取ID集合
     */
    private List<Integer> getIds(ApplyEntity entity) {
    private List<Integer> getIds(String gids) {
        if (StringHelper.isEmpty(gids)) {
            return null;
        }
        List<Integer> list = new ArrayList<>();
        for (String str : entity.getGids().split(StaticData.COMMA)) {
        for (String str : gids.split(StaticData.COMMA)) {
            list.add(Integer.parseInt(str));
        }