123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- package com.diagbot.facade;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.stream.Collectors;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- 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.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.diagbot.client.UserServiceClient;
- import com.diagbot.dto.RespDTO;
- import com.diagbot.dto.VersionDetailDTO;
- import com.diagbot.dto.VersionWrapperDTO;
- import com.diagbot.entity.VersionDetail;
- import com.diagbot.entity.VersionInfo;
- import com.diagbot.enums.IsDeleteEnum;
- import com.diagbot.enums.StatusEnum;
- import com.diagbot.exception.CommonErrorCode;
- import com.diagbot.exception.CommonException;
- import com.diagbot.service.impl.VersionDetailServiceImpl;
- import com.diagbot.service.impl.VersionInfoServiceImpl;
- import com.diagbot.util.DateUtil;
- import com.diagbot.util.EntityUtil;
- import com.diagbot.util.ListUtil;
- import com.diagbot.util.UserUtils;
- import com.diagbot.vo.VersionDetailVO;
- import com.diagbot.vo.VersionInfoAllVO;
- import com.diagbot.vo.VersionInfoIdVO;
- import com.diagbot.vo.VersionInfoVO;
- /**
- *
- * @author wangfeng
- * @Description: 版本信息
- * @date 2018年12月6日 下午2:14:54
- */
- @Component
- public class VersionInfoFacade extends VersionInfoServiceImpl {
- @Autowired
- VersionDetailFacade versionDetailFacade;
- @Autowired
- VersionDetailServiceImpl versionDetailServiceImpl;
- @Autowired
- UserServiceClient userServiceClient;
- /**
- * 查询版本信息
- *
- * @return
- */
- public List<VersionWrapperDTO> getVersionInfoAll(Page page, String name) {
- // 查询最新的一条版本信息
- QueryWrapper<VersionInfo> versionInfoQuery = new QueryWrapper<>();
- versionInfoQuery.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("STATUS", StatusEnum.Enable.getKey())
- .like("name", name).orderByDesc("refresh_time");
- // List<VersionInfo> versionInfos =list(versionInfoQuery);//
- // getOne(versionInfoQuery);
- IPage<VersionInfo> queryUserInformation = page(page, versionInfoQuery);
- List<VersionInfo> versionInfos = queryUserInformation.getRecords();
- List<VersionWrapperDTO> versionLists = new ArrayList<VersionWrapperDTO>();
- /*
- * List<String> modifierid =
- * versionInfos.stream().map(ac->ac.getModifier()).collect(Collectors.
- * toList()); RespDTO<Map<String, String>> userNamesDTO =
- * userServiceClient.getUserInfoByIds(modifierid); Map<String, String>
- * userNames = userNamesDTO.data;
- */
- List<String> modifierid = new ArrayList<>();
- modifierid = versionInfos.stream().map(ac -> ac.getModifier()).collect(Collectors.toList());
- Map<String, String> userNames = new HashMap<>();
- if (modifierid.size() > 0) {
- RespDTO<Map<String, String>> userNamesDTO = userServiceClient.getUserInfoByIds(modifierid);
- if (userNamesDTO == null || !"0".equals(userNamesDTO.code)) {
- throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "获取所有用户信息失败");
- }
- userNames = userNamesDTO.data;
- }
- // 当查出的数据不为空时,取到版本id,再去版本明细表中查询详细的信息
- // System.out.println(detail.toString());
- for (VersionInfo versionInfo : versionInfos) {
- VersionWrapperDTO versionList = new VersionWrapperDTO();
- versionList.setId(versionInfo.getId());
- versionList.setName(versionInfo.getName());
- versionList.setModifierid(userNames.get(versionInfo.getModifier()));
- versionList.setRefreshTime(versionInfo.getRefreshTime());
- versionList.setStatus(versionInfo.getStatus());
- versionLists.add(versionList);
- }
- List<Long> ids = new ArrayList<>();
- if (versionInfos != null) {
- // 当查出的数据不为空时,取到版本id,再去版本明细表中查询详细的信息
- for (VersionInfo versionInfo : versionInfos) {
- ids.add(versionInfo.getId());
- }
- List<VersionDetailDTO> details = versionDetailFacade.getByIds(ids);
- Map<Long, List<VersionDetailDTO>> map = new HashMap<>();
- // 获取所有用户开通的产品信息
- map = EntityUtil.makeEntityListMap(details, "versionId");
- if (map.size() > 0) {
- for (VersionWrapperDTO versionList : versionLists) {
- List<VersionDetailDTO> userAndProdutUDTO = map.get(versionList.getId());
- if (ListUtil.isNotEmpty(userAndProdutUDTO)) {
- versionList.setDetail(userAndProdutUDTO);
- }
- }
- }
- }
- return versionLists;
- }
- public boolean saveVersionInfoAll(VersionInfoVO versionInfoVO) {
- // 1.判断该版本号是否存在名字相同的数据
- QueryWrapper<VersionInfo> templateInfoFand = new QueryWrapper<>();
- templateInfoFand.eq("name", versionInfoVO.getName()).eq("is_deleted", IsDeleteEnum.N.getKey());
- VersionInfo dataInfo = getOne(templateInfoFand);
- if (dataInfo != null) {
- throw new CommonException(CommonErrorCode.NOT_EXISTS, "该版本号已存在");
- }
- //增加版本数据
- VersionInfo versionInfo = new VersionInfo();
- versionInfo.setCreator(UserUtils.getCurrentPrincipleID());
- versionInfo.setGmtCreate(DateUtil.now());
- versionInfo.setName(versionInfoVO.getName());
- versionInfo.setGmtModified(DateUtil.now());
- versionInfo.setModifier(UserUtils.getCurrentPrincipleID());
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- try {
- versionInfo.setRefreshTime(sdf.parse(versionInfoVO.getRefreshTime()));
- } catch (ParseException e) {
- throw new CommonException(CommonErrorCode.NOT_EXISTS, "时间格式有误");
- // e.printStackTrace();
- }
- versionInfo.setStatus(String.valueOf(StatusEnum.Enable.getKey()));
- versionInfo.setRemark(versionInfoVO.getRemark());
- boolean res = save(versionInfo);
- if (res) {
- List<VersionDetail> dataNew = new ArrayList<VersionDetail>();
- List<VersionDetailVO> datas = versionInfoVO.getVersionDetail();
- if (datas != null && datas.size() > 0) {
- for (VersionDetailVO data : datas) {
- VersionDetail versionDetail = new VersionDetail();
- versionDetail.setCreator(UserUtils.getCurrentPrincipleID());
- versionDetail.setGmtCreate(DateUtil.now());
- versionDetail.setGmtModified(DateUtil.now());
- versionDetail.setModifier(UserUtils.getCurrentPrincipleID());
- versionDetail.setDescription(data.getDescription());
- versionDetail.setOrderNo(data.getOrderNo());
- versionDetail.setTitle(data.getTitle());
- versionDetail.setVersionId(versionInfo.getId());
- // System.out.println("========versionInfo.getId()======" +
- // versionInfo.getId());
- versionDetail.setRemark(data.getRemark());
- versionDetail.setStatus(String.valueOf(StatusEnum.Enable.getKey()));
- dataNew.add(versionDetail);
- }
- res = versionDetailServiceImpl.saveBatch(dataNew);
- }
- // System.out.println(res);
- }
- return res;
- }
- /**
- *
- * @param versionInfoVO
- * @return
- */
- public boolean updateVersionInfoAll(VersionInfoAllVO versionInfoVO) {
- // 1.先判断数据是否存在有效
- QueryWrapper<VersionInfo> VersionInfoFand = new QueryWrapper<>();
- VersionInfoFand.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("id", versionInfoVO.getId());
- VersionInfo data = getOne(VersionInfoFand);
- if (data == null) {
- throw new CommonException(CommonErrorCode.NOT_EXISTS, "该数据不存在");
- }
- // 3.修改版本信息
- VersionInfo versionInfo = new VersionInfo();
- versionInfo.setId(versionInfoVO.getId());// 模板id
- versionInfo.setName(versionInfoVO.getName());// 模板名称
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- if (versionInfoVO.getRefreshTime() != null) {
- try {
- versionInfo.setRefreshTime(sdf.parse(versionInfoVO.getRefreshTime()));
- } catch (ParseException e) {
- throw new CommonException(CommonErrorCode.NOT_EXISTS, "时间格式有误");
- // e.printStackTrace();
- }
- }
- versionInfo.setStatus(String.valueOf(StatusEnum.Enable.getKey()));
- versionInfo.setRemark(versionInfoVO.getRemark());
- versionInfo.setGmtModified(DateUtil.now());// 修改时间
- versionInfo.setModifier(UserUtils.getCurrentPrincipleID());
- boolean res = updateById(versionInfo);
- if (!res) {
- throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL);
- }
- return res;
- }
- /**
- * 删除
- *
- * @param versionInfoVO
- * @return
- */
- public boolean cancelVersionInfoAll(VersionInfoIdVO versionInfoVO) {
- UpdateWrapper<VersionInfo> versionInfoNew = new UpdateWrapper<>();
- versionInfoNew.in("id", versionInfoVO.getId()).eq("is_deleted", IsDeleteEnum.N.getKey())
- .set("is_deleted", IsDeleteEnum.Y.getKey()).set("modifier", UserUtils.getCurrentPrincipleID())
- .set("gmt_modified", DateUtil.now());
- return update(new VersionInfo(), versionInfoNew);
- }
- }
|