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<XzxPartnerFence>{
|
|
@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 PageQuery<XzxPartnerFence>queryByCondition(PageQuery query){
|
PageQuery ret = xzxPartnerFenceDao.queryByCondition(query);
|
queryListAfter(ret.getList());
|
return ret;
|
}
|
|
public void updateByFenceId(XzxPartnerFence pfInfo){
|
xzxPartnerFenceDao.updateByFenceId(pfInfo);
|
}
|
public void batchDelXzxPartnerFence(List<Long> ids){
|
try {
|
xzxPartnerFenceDao.batchDelXzxPartnerFenceByIds(ids);
|
} catch (Exception e) {
|
throw new PlatformException("批量删除XzxPartnerFence失败", e);
|
}
|
}
|
|
public void saveAllPfInfo(List<XzxPartnerFenceModel> list){
|
xzxPartnerFenceDao.saveAllPfInfo(list);
|
}
|
public void deleteByPartnerId(String partnerId){
|
xzxPartnerFenceDao.deleteByPartnerId(partnerId);
|
}
|
public XzxCityPartner queryPartnerIds(String fenceId){
|
List<String> 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<String,Object> 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<String,Object> 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<String,Object> queryElectronicFence(XzxCityPartnerModel model){
|
List<String> partnerIdList=cityPartnerService.queryPartnerByCurrent();
|
model.setPartnerIdList(partnerIdList);
|
Map<String,Object> 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<XzxCityPartnerModel> 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<Map<String,Object>> llarr = new ArrayList<>();
|
for (String object : objects) {
|
Map<String, Object> ageMap = new HashMap<String, Object>();
|
String[] objStrs = object.split(",");
|
//Map<String, Object> ret = (Map<String, Object>) 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;
|
}
|
}
|