package com.izouma.awesomeadmin.service.impl; import java.util.*; import com.izouma.awesomeadmin.dto.Result; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.izouma.awesomeadmin.constant.AppConstant; import com.izouma.awesomeadmin.dto.Page; import com.izouma.awesomeadmin.model.ClientOrderImage; import com.izouma.awesomeadmin.service.ClientOrderImageService; import com.izouma.awesomeadmin.dao.ClientOrderImageMapper; /** * service接口实现类 */ @Service public class ClientOrderImageServiceImpl implements ClientOrderImageService { private static Logger logger = Logger.getLogger(ClientOrderImageServiceImpl.class); @Autowired private ClientOrderImageMapper clientOrderImageMapper; @Override public List getClientOrderImageList(ClientOrderImage record) { logger.info("getClientOrderImageList"); try { return clientOrderImageMapper.queryAllClientOrderImage(record); } catch (Exception e) { logger.error("getClientOrderImageList", e); } return null; } @Override public List getClientOrderImageByPage(Page page, ClientOrderImage record) { logger.info("getClientOrderImageByPage"); try { Map parameter = new HashMap(); parameter.put("record", record); parameter.put(AppConstant.PAGE, page); return clientOrderImageMapper.queryClientOrderImageByPage(parameter); } catch (Exception e) { logger.error("getClientOrderImageByPage", e); } return null; } @Override public ClientOrderImage getClientOrderImageById(String id) { logger.info("getClientOrderImageyId"); try { return clientOrderImageMapper.selectByPrimaryKey(Integer.valueOf(id)); } catch (Exception e) { logger.error("getClientOrderImageById", e); } return null; } @Override public ClientOrderImage getClientOrderImage(ClientOrderImage record) { logger.info("getClientOrderImage"); try { return clientOrderImageMapper.queryClientOrderImage(record); } catch (Exception e) { logger.error("getClientOrderImage", e); } return null; } @Override public boolean createClientOrderImage(ClientOrderImage record) { logger.info("createClientOrderImage"); try { int updates = clientOrderImageMapper.insertSelective(record); if (updates > 0) { return true; } } catch (Exception e) { logger.error("createClientOrderImage", e); } return false; } private boolean saveClientOrderImage(ClientOrderImage record) { logger.info("saveClientOrderImage"); try { int updates = clientOrderImageMapper.insertSelective(record); if (updates > 0) { for (ClientOrderImage clientOrderImage : record.getChildren()) { clientOrderImage.setPid(record.getId()); saveClientOrderImage(clientOrderImage); } return true; } } catch (Exception e) { logger.error("saveClientOrderImage", e); } return false; } @Override public Result saveTree(ClientOrderImage record) { logger.info("saveTree"); try { saveClientOrderImage(record); return new Result(true, "保存成功"); } catch (Exception e) { logger.error("saveTree", e); } return new Result(false, "保存失败"); } @Override public boolean deleteClientOrderImage(ClientOrderImage record) { logger.info("deleteClientOrderImage"); try { int updates = clientOrderImageMapper.delete(record); if (updates > 0) { return true; } } catch (Exception e) { logger.error("deleteClientOrderImage", e); } return false; } @Override public boolean updateClientOrderImage(ClientOrderImage record) { logger.info("updateClientOrderImage"); try { int updates = clientOrderImageMapper.updateByPrimaryKeySelective(record); if (updates > 0) { return true; } } catch (Exception e) { logger.error("updateClientOrderImage", e); } return false; } @Override public List getImageTree(ClientOrderImage record) { logger.info("getImageTree"); try { List allImages = getClientOrderImageList(record); List tree = new ArrayList<>(); makeTree(allImages, tree); return tree; } catch (Exception e) { logger.error("getImageTree", e); } return null; } private void makeTree(List nodes, List tree) { for (ClientOrderImage image : nodes) { if (image.getPid() == 0) { tree.add(image); } for (ClientOrderImage node : nodes) { if (node.getPid().equals(image.getId())) { if (image.getChildren() == null) { image.setChildren(new ArrayList<>()); } image.getChildren().add(node); } } if (image.getChildren() != null) { image.getChildren().sort(Comparator.comparingInt(o -> o.getId().intValue())); } } tree.sort(Comparator.comparingInt(o -> o.getId().intValue())); } }