package com.xzx.gc.order.service; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.xzx.gc.common.constant.OrderEnum; import com.xzx.gc.entity.CityPartner; import com.xzx.gc.entity.CoreUserRole; import com.xzx.gc.entity.PartnerFence; import com.xzx.gc.model.admin.PartnerAccountModel; import com.xzx.gc.model.admin.XzxCityPartnerModel; import com.xzx.gc.model.admin.XzxElectronicFenceModel; import com.xzx.gc.order.mapper.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @Service @Transactional public class PartnerFenceService { @Autowired CoreUserRoleMapper coreUserRoleMapper; @Autowired private SysMessageMapper sysMessageMapper; @Autowired private PartnerFenceMapper partnerFenceMapper; @Autowired private CityPartnerService cityPartnerService; @Autowired private PartnerAccountMapper partnerAccountMapper; @Autowired private AccountMapper accountMapper; public CityPartner queryPartnerIds(String fenceId){ List list = partnerFenceMapper.queryPartnerIds(fenceId); if(CollUtil.isNotEmpty(list)){ CityPartner partner = cityPartnerService.queryPartnerById(Long.parseLong(list.get(0))); return partner; }else{ return null; } } /** * 根据围栏查找合伙人 * @param fenceId * @return */ public String findPartnerIdByFenceId(String fenceId){ if(StrUtil.isNotBlank(fenceId)) { List list = partnerFenceMapper.queryPartnerIds(fenceId); if (CollUtil.isNotEmpty(list)) { return list.get(0); } } return null; } public void updateByFenceId(PartnerFence pfInfo){ partnerFenceMapper.updateByFenceId(pfInfo); } public void deleteByFenceId(String id){ XzxElectronicFenceModel model = new XzxElectronicFenceModel(); model.setId(Integer.parseInt(id)); partnerFenceMapper.deleteByFenceId(model); } public Map queryElectronicFence(XzxCityPartnerModel model){ List partnerIdList= cityPartnerService.queryPartnerByCurrent(); model.setPartnerIdList(partnerIdList); Map map = new HashMap<>(); if(null!=model.getStartTime()&&!"".equals(model.getStartTime())){ model.setStartTime(model.getStartTime()+" 00:00:00"); } if(null!=model.getEndTime()&&!"".equals(model.getEndTime())){ model.setEndTime(model.getEndTime()+" 23:59:59"); } PageHelper.startPage(model.getPage(),model.getLimit()); List list = partnerFenceMapper.queryElectronicFencePage(model); for (XzxCityPartnerModel model1:list) { String longLatiArr = model1.getLongLatiArr(); String longi=""; String lati=""; if(null!=longLatiArr&&!"".equals(longLatiArr)){ String[] objects = longLatiArr.split(";"); List> llarr = new ArrayList<>(); for (String object : objects) { Map ageMap = new HashMap(); String[] objStrs = object.split(","); longi = objStrs[0]; lati = objStrs[1]; ageMap.put("longitude",longi); ageMap.put("latitude",lati); llarr.add(ageMap); model1.setLongitude(longi); model1.setLatitude(lati); //break; } String jsonString = JSON.toJSONString(llarr); model1.setLongLatiArr(jsonString); } } PageInfo pageInfo=new PageInfo<>(list); map.put("count",pageInfo.getTotal()); map.put("code",0); map.put("data",pageInfo.getList()); return map; } public boolean save(PartnerFence pfInfo) { return partnerFenceMapper.insertSelective(pfInfo)>0?true:false; } /** * 根据合伙人id查询围栏id集合 * @param partnerId * @return */ public List findFences(String partnerId){ PartnerFence partnerFence=new PartnerFence(); partnerFence.setPartnerId(partnerId); List select = partnerFenceMapper.select(partnerFence); List collect = select.stream().map(x -> x.getFenceId()).distinct().collect(Collectors.toList()); return collect; } }