package com.ibeetl.admin.console.service; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.ibeetl.admin.console.dao.*; import com.ibeetl.admin.console.model.PartnerAccountModel; import com.ibeetl.admin.console.model.XzxCityPartnerModel; import com.ibeetl.admin.console.model.XzxElectronicFenceModel; import com.ibeetl.admin.console.model.XzxPartnerFenceModel; import com.ibeetl.admin.core.dao.CoreUserRoleDao; import com.ibeetl.admin.core.entity.CoreUserRole; import com.ibeetl.admin.core.entity.XzxCityPartner; import com.ibeetl.admin.core.entity.XzxPartnerFence; import com.ibeetl.admin.core.entity.XzxUserOtherInfo; import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.util.PlatformException; import org.beetl.sql.core.engine.PageQuery; 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.*; /** * XzxPartnerFence Service */ @Service @Transactional public class XzxPartnerFenceService extends CoreBaseService{ @Autowired private XzxPartnerFenceDao xzxPartnerFenceDao; @Autowired private XzxCityPartnerDao xzxCityPartnerDao; @Autowired private XzxCityPartnerService cityPartnerService; @Autowired SettingConsoleDao settingConsoleDao; @Autowired PayConsoleDao payDao; @Autowired CuserConsoleDao dao; @Autowired CoreUserRoleDao roleDao; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public PageQueryqueryByCondition(PageQuery query){ PageQuery ret = xzxPartnerFenceDao.queryByCondition(query); queryListAfter(ret.getList()); return ret; } public void updateByFenceId(XzxPartnerFence pfInfo){ xzxPartnerFenceDao.updateByFenceId(pfInfo); } public void batchDelXzxPartnerFence(List ids){ try { xzxPartnerFenceDao.batchDelXzxPartnerFenceByIds(ids); } catch (Exception e) { throw new PlatformException("批量删除XzxPartnerFence失败", e); } } public void saveAllPfInfo(List list){ xzxPartnerFenceDao.saveAllPfInfo(list); } public void deleteByPartnerId(String partnerId){ xzxPartnerFenceDao.deleteByPartnerId(partnerId); } public XzxCityPartner queryPartnerIds(String fenceId){ List list = xzxPartnerFenceDao.queryPartnerIds(fenceId); if(list.size()>0){ XzxCityPartner partner = xzxCityPartnerDao.queryPartnerById(Long.parseLong(list.get(0).toString())); return partner; }else{ return null; } } public void deleteByFenceId(String id){ XzxElectronicFenceModel model = new XzxElectronicFenceModel(); model.setId(Integer.parseInt(id)); xzxPartnerFenceDao.deleteByFenceId(model); } public void addAccountInfo(String mobilePhone,String userId,String accountNo,Long id,Long roleId,Long orgId){ // 添加账号表 Map setMap = new HashMap<>(); String value = "0"; dao.addCuserAccountRole(accountNo, mobilePhone, userId,value); CoreUserRole coreUserRole = new CoreUserRole(); coreUserRole.setCreateTime(new Date()); if(null!=roleId){ coreUserRole.setRoleId(roleId); }else{ coreUserRole.setRoleId(Long.parseLong("180")); PartnerAccountModel model = new PartnerAccountModel(); model.setUserId(userId); model.setAccount(accountNo); model.setUpdateTime(sdf.format(new Date())); model.setPartnerId(id+""); dao.addPartnerAccount(model); } coreUserRole.setOrgId(Long.parseLong("9")); //String uId = userId.substring(userId.length()-6,userId.length()); //coreUserRole.setUserId(Long.parseLong(uId)); coreUserRole.setUserId(id); roleDao.insert(coreUserRole); //写入消息列表中 String message = "新建合伙人成功,您的账号为:"+accountNo+",初始密码为:888888"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); payDao.insertMessage(message,userId,"","1","新建合伙人",sdf.format(new Date())); } public void deleteByElectronicId(XzxElectronicFenceModel model){ xzxPartnerFenceDao.deleteByFenceId(model); } public void addAccountByPackage(String mobilePhone,String userId,String accountNo,Long id,Long roleId){ // 添加账号表 Map setMap = new HashMap<>(); String value = "0"; dao.addCuserAccountRole(accountNo, mobilePhone, userId,value); PartnerAccountModel model = new PartnerAccountModel(); model.setUserId(userId); model.setAccount(accountNo); model.setUpdateTime(sdf.format(new Date())); model.setPartnerId(id+""); model.setOverdraftLimit("0"); model.setFixedLimit("0"); model.setType("1"); dao.addPartnerAccount(model); //写入消息列表中 String message = "新建打包站成功,您的账号为:"+accountNo+",初始密码为:888888"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); payDao.insertMessage(message,userId,"","1","新建打包站",sdf.format(new Date())); } public Map queryElectronicFence(XzxCityPartnerModel model){ List partnerIdList=cityPartnerService.queryPartnerByCurrent(); model.setPartnerIdList(partnerIdList); Map map = new HashMap<>(); int p = model.getPage(); p = (p - 1) * model.getLimit(); model.setPage(p); 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"); } List list = xzxPartnerFenceDao.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(","); //Map ret = (Map) object;//取出list里面的值转为map 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); } } int count = xzxPartnerFenceDao.queryElectronicFencePageCount(model); map.put("count",count); map.put("code",0); map.put("data",list); return map; } }