Helius
2021-06-16 5728be2af515b2200e782aa201ca5d4d67d9ea47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
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;
    }
}