package com.goafanti.admin.service.impl; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.goafanti.admin.bo.BusinessProjectBo; import com.goafanti.admin.bo.ProjectSizeBo; import com.goafanti.admin.service.BusinessProjectService; import com.goafanti.common.dao.BusinessProjectMapper; import com.goafanti.common.dao.BusinessVarietiesMapper; import com.goafanti.common.dao.ProjectSizeMapper; import com.goafanti.common.model.BusinessProject; import com.goafanti.common.model.BusinessVarieties; import com.goafanti.common.model.ProjectSize; import com.goafanti.common.utils.StringUtils; import com.goafanti.core.mybatis.BaseMybatisDao; import com.goafanti.core.mybatis.page.Pagination; import com.goafanti.core.shiro.token.TokenManager; @Service public class BusinessProjectServiceImpl extends BaseMybatisDao implements BusinessProjectService { @Autowired BusinessProjectMapper businessProjectMapper; @Autowired BusinessVarietiesMapper businessVarietiesMapper; @Autowired ProjectSizeMapper projectSizeMapper; @Override public int insert(String bname, String cid, String country, String province, String city, String district) { BusinessProject bp=new BusinessProject(); bp.setId(UUID.randomUUID().toString()); bp.setBname(bname); bp.setCid(cid); bp.setCountry(country); if (1!=Integer.valueOf(country)) { bp.setProvince(province); bp.setCity(city); bp.setDistrict(district); } bp.setDeleteSign(0); //bp.setCreateId("f31c0d1a-05bc-4f5c-b4a8-95f983d24131"); if (StringUtils.isNotBlank(TokenManager.getAdminId())) { bp.setCreateId(TokenManager.getAdminId()); } bp.setCreateTime(new Date()); bp.setStatus("0"); return businessProjectMapper.insert(bp); } @SuppressWarnings("unchecked") @Override public Pagination listProject(String bname, String cid, String country,String province,String city,String district, String activityFlag, String status, Integer pNo, Integer pSize) { if (pNo == null || pNo < 0) { pNo = 1; } if (pSize == null || pSize < 0 || pSize > 10) { pSize = 10; } Pagination pt=(Pagination)findPage("findProjectListByPage", "findProjectListCount", disposeParams(bname, cid, country, province, city, district, activityFlag, status),pNo,pSize); List list=(List) pt.getList(); for (BusinessProjectBo o : list) { o.setCname(getAllCname(o.getCid())); } return pt; } private Map disposeParams(String bname, String cid, String country,String province,String city,String district, String activityFlag, String status) { Map params = new HashMap<>(); if (StringUtils.isNotBlank(bname)) { params.put("bname", bname); } if (StringUtils.isNotBlank(cid)) { params.put("cid", cid); } if (StringUtils.isNotBlank(country)) { params.put("country", country); } if (StringUtils.isNotBlank(province)) { params.put("province", province); } if (StringUtils.isNotBlank(city)) { params.put("city", city); } if (StringUtils.isNotBlank(district)) { params.put("district", district); } if (StringUtils.isNotBlank(activityFlag)) { params.put("activityFlag", activityFlag); } if (StringUtils.isNotBlank(status)) { params.put("status", status); } return params; } @Override public int getBnamecount(String bname) { return businessProjectMapper.getBnamecount(bname); } @Override public int deleteProject(String id) { BusinessProject bp=businessProjectMapper.selectByPrimaryKey(id); if (bp.getDeleteSign()==0) { bp.setDeleteSign(1); }else { bp.setDeleteSign(0); } return businessProjectMapper.updateByPrimaryKey(bp); } @Override public int updateStopProject(String id) { BusinessProject bp=businessProjectMapper.selectByPrimaryKey(id); if (Integer.valueOf(bp.getStatus())==0) { bp.setStatus("1"); }else { bp.setStatus("0"); } return businessProjectMapper.updateByPrimaryKey(bp); } @Override public BusinessProjectBo orgProject(String id) { BusinessProject bp=businessProjectMapper.selectByPrimaryKey(id); BusinessProjectBo bpo=new BusinessProjectBo(); BeanUtils.copyProperties(bp,bpo); String cname=getAllCname(bpo.getCid()); String createId=bpo.getCreateId(); bpo.setCreateName(businessProjectMapper.getCreateName(createId)); bpo.setCname(cname); return bpo; } @Override public List> getAllCnames(Integer flag) { List> list=new ArrayList>(); List listcid=businessVarietiesMapper.getListId(); System.out.println("this is service start -----------------------"); for (String s : listcid) { Map map=new HashMap<>(); String cname=getAllCname(s); map.put("id", s); map.put("cname", cname); list.add(map); } System.out.println("this is service end -----------------------"); return list; } /** * 递归获取上级来获取全路径 * @param s ID * @return 路径 */ private String getAllCname(String s) { System.out.println("to get cid by id-----------------------"+s); String cid=businessVarietiesMapper.getThisCid(s); String cname=businessVarietiesMapper.getThisCname(cid); BusinessVarieties bv=businessVarietiesMapper.selectByPrimaryKey(s); String sid=bv.getSuperId(); if (cid.length()>4) { String w=getAllCname(sid)+"-"+cname; System.out.println("return result sid-----"+sid+"----------w----------"+w); return w; }else{ return cid.length()>3?cname:""; } } @Override public int updateProject(BusinessProject s) { BusinessProject bp=businessProjectMapper.selectByPrimaryKey(s.getId()); TheGinseng(s, bp); return businessProjectMapper.updateByPrimaryKey(bp); } private void TheGinseng(BusinessProject s, BusinessProject bp) { if (StringUtils.isNotBlank(s.getBname())) { bp.setBname(s.getBname()); } if (StringUtils.isNotBlank(s.getCid())) { bp.setCid(s.getCid()); } if (StringUtils.isNotBlank(s.getCountry())) { bp.setCountry(s.getCountry()); } if (StringUtils.isNotBlank(s.getProvince())) { bp.setProvince(s.getProvince()); bp.setCity(s.getCity()); bp.setDistrict(s.getDistrict()); } if (StringUtils.isNotBlank(s.getCity())) { bp.setCity(s.getCity()); bp.setDistrict(s.getDistrict()); } if (StringUtils.isNotBlank(s.getDistrict())) { bp.setDistrict(s.getDistrict()); } if (null!=s.getPrice()) { bp.setPrice(s.getPrice()); } if (null!=(s.getOffset())) { bp.setOffset(s.getOffset()); } if (null!=(s.getActivityFlag())) { bp.setActivityFlag(s.getActivityFlag()); } if (null!=(s.getMemberPrice())) { bp.setMemberPrice(s.getMemberPrice()); } if (null!=(s.getActivityPrice())) { bp.setActivityPrice(s.getActivityPrice()); } if (StringUtils.isNotBlank(s.getIntroduce())) { bp.setIntroduce(s.getIntroduce()); } if (StringUtils.isNotBlank(s.getValueEffect())) { bp.setValueEffect(s.getValueEffect()); } if (StringUtils.isNotBlank(s.getClientSize())) { bp.setClientSize(s.getClientSize()); } bp.setMinLogo(s.getMinLogo()); bp.setMaxLogo(s.getMaxLogo()); if (null!=(s.getStatus())) { bp.setStatus(s.getStatus()); } bp.setUpdateTime(new Date()); } @Override public int addProjectSize(ProjectSize ps) { ps.setId(UUID.randomUUID().toString()); if (StringUtils.isNotBlank(TokenManager.getAdminId())) { ps.setCreateId(TokenManager.getAdminId()); } //ps.setCreateId("f31c0d1a-05bc-4f5c-b4a8-95f983d24131"); ps.setCreateTime(new Date()); ps.setStatus(0); return projectSizeMapper.insert(ps); } @Override public int updateOrgProjectSize(ProjectSize ps) { ProjectSize psz=projectSizeMapper.selectByPrimaryKey(ps.getId()); projectSizeConfiguration(ps, psz); System.out.println(psz); return projectSizeMapper.updateByPrimaryKeySelective(psz); } private void projectSizeConfiguration(ProjectSize ps, ProjectSize psz) { if (StringUtils.isNotBlank(ps.getPid())) { psz.setId(ps.getPid()); } if (StringUtils.isNotBlank(ps.getPname())) { psz.setPname(ps.getPname()); } if (null!=ps.getPrice()) { psz.setPrice(ps.getPrice()); } if (null!=(ps.getOffset())) { psz.setOffset(ps.getOffset()); } if (null!=(ps.getActivityFlag())) { psz.setActivityFlag(ps.getActivityFlag()); } if (null!=(ps.getMemberPrice())) { psz.setMemberPrice(ps.getMemberPrice()); } if (null!=(ps.getActivityPrice())) { psz.setActivityPrice(ps.getActivityPrice()); } if (null!=(ps.getStatus())) { psz.setStatus(ps.getStatus()); } psz.setUpdateTime(new Date()); } @SuppressWarnings("unchecked") @Override public Pagination listProjectSize(String pid,Integer pNo,Integer pSize) { if (pNo == null || pNo < 0) { pNo = 1; } if (pSize == null || pSize < 0 || pSize > 10) { pSize = 10; } Mapmap=new HashMap<>(); map.put("pid", pid); Pagination pt=(Pagination)findPage("findProjectSizeListByPage", "findProjectSizeListCount", map,pNo,pSize); return pt; } @Override public ProjectSizeBo getProjectSize(String id) { return projectSizeMapper.selectByBusinessId(id); } @Override public int deleteProjectSize(String id) { return projectSizeMapper.deleteByPrimaryKey(id); } @Override public int updateSotpProjectSize(String id) { ProjectSize ps=projectSizeMapper.selectByPrimaryKey(id); int i=ps.getStatus(); if (i==0) { ps.setStatus(1); }else { ps.setStatus(0); } return projectSizeMapper.updateByPrimaryKey(ps); } @Override public boolean WhetherRepeat(ProjectSize ps) { List list=projectSizeMapper.getgetPnamecount(ps.getPname()); for (ProjectSizeBo p : list) { if (p.getPid().equals(ps.getPid())) { return true; } } return false; } @Override public boolean judgeStatus(ProjectSize ps) { BusinessProject bp=businessProjectMapper.selectByPrimaryKey(ps.getPid()); if (Integer.valueOf(bp.getStatus())==1) { return true; }else { return false; } } @Override public boolean judgeBeing(BusinessProject s) { BusinessProject bp=businessProjectMapper.selectByPrimaryKey(s.getId()); BusinessProject bp1=businessProjectMapper.selectByPrimaryBname(s.getBname()); if (bp.getId().equals(bp1.getId())) { return false; }else { return true; } } }