package com.xzx.gc.user.service;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.lang.Snowflake;
|
import cn.hutool.core.map.MapUtil;
|
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONUtil;
|
import com.alibaba.fastjson.JSON;
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.xzx.gc.common.Result;
|
import com.xzx.gc.common.constant.*;
|
import com.xzx.gc.common.dto.gdmap.FindTraceDto;
|
import com.xzx.gc.common.dto.gdmap.TrackDto;
|
import com.xzx.gc.common.dto.gdmap.UploadTraceLocationDto;
|
import com.xzx.gc.common.exception.RestException;
|
import com.xzx.gc.common.utils.*;
|
import com.xzx.gc.common.utils.ali.SmsUtil;
|
import com.xzx.gc.common.utils.gdmap.GdTraceUtil;
|
import com.xzx.gc.entity.*;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.model.admin.*;
|
import com.xzx.gc.user.mapper.*;
|
import com.xzx.gc.util.BeanUtils;
|
import com.xzx.gc.util.DoubleUtil;
|
import com.xzx.gc.util.SessionUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.math.BigDecimal;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
@Service
|
@Transactional
|
@Slf4j
|
public class CityPartnerService {
|
|
@Autowired
|
private RemittanceUserMapper remittanceUserMapper;
|
|
@Autowired
|
private CityPartnerMapper cityPartnerMapper;
|
|
@Autowired
|
private PartnerTraceMapper partnerTraceMapper;
|
|
@Autowired
|
private OtherUserService otherUserService;
|
|
@Autowired
|
private AddressLevelMapper addressLevelInfoMapper;
|
|
@Autowired
|
private BannerMapper bannerMapper;
|
|
@Autowired
|
private ConfigService configService;
|
|
@Autowired
|
private SessionUtil platformService;
|
|
@Autowired
|
private SysMessageMapper sysMessageMapper;
|
@Autowired
|
private AccountLogMapper accountLogMapper;
|
@Autowired
|
private OtherUserMapper otherUserMapper;
|
@Autowired
|
private OrderMapper orderMapper;
|
@Autowired
|
private PayInfoMapper payInfoMapper;
|
@Autowired
|
private SysEnvironmentalInfoMapper sysEnvironmentalInfoMapper;
|
|
@Autowired
|
private PartnerTraceService partnerTraceService;
|
|
@Autowired
|
private SysEnvironmentalInfoService sysEnvironmentalInfoService;
|
|
@Autowired
|
private PartnerFenceService partnerFenceService;
|
|
@Autowired
|
private PartnerFenceMapper partnerFenceMapper;
|
|
@Autowired
|
private FenceMapper fenceMapper;
|
|
@Autowired
|
private IdUtils idUtils;
|
|
@Autowired
|
private PartnerAccountMapper partnerAccountMapper;
|
|
@Autowired
|
private RedisUtil redisUtil;
|
|
@Autowired
|
private AccountService accountService;
|
|
@Autowired
|
private AccountMapper accountMapper;
|
|
@Autowired
|
private UserMapper userMapper;
|
|
@Autowired
|
private AddressService addressService;
|
|
@Autowired
|
private PartnerGaodeMapper partnerGaodeMapper;
|
|
@Autowired
|
private LongiLatiMapper longiLatiMapper;
|
|
@Autowired
|
private PartnerGaodeService partnerGaodeService;
|
|
|
@Autowired
|
private CoreUserMapper coreUserMapper;
|
|
@Autowired
|
private PlatformAccountInfoMapper platformAccountInfoMapper;
|
|
@Autowired
|
private PlatformAccountLogMapper platformAccountLogMapper;
|
|
@Autowired
|
private PartnerAccountLogMapper partnerAccountLogMapper;
|
|
@Autowired
|
private CoreUserRoleMapper coreUserRoleMapper;
|
|
@Autowired
|
private SessionUtil sessionUtil;
|
|
@Autowired
|
private PartnerAccountService partnerAccountService;
|
|
/**
|
* 根据合伙人查找打包站列表
|
* @param partnerId
|
* @return
|
*/
|
public List<CityPartner> findPackageIdByPartnerId(String partnerId){
|
CityPartner cityPartner=new CityPartner();
|
cityPartner.setPartnerType(OrderEnum.打包站.getValue());
|
cityPartner.setDelFlag(Constants.DEL_NOT_FLAG);
|
cityPartner.setPackingStation(partnerId);
|
return cityPartnerMapper.select(cityPartner);
|
}
|
|
|
|
public CityPartner findById(Integer id){
|
return cityPartnerMapper.selectByPrimaryKey(id);
|
}
|
|
/**
|
* 根据类型查找 分合伙人和打包站
|
* @param type
|
* @return
|
*/
|
public List<CityPartner> findByType(String type){
|
CityPartner cityPartner=new CityPartner();
|
cityPartner.setDelFlag(Constants.DEL_NOT_FLAG);
|
cityPartner.setPartnerType(type);
|
return cityPartnerMapper.select(cityPartner);
|
}
|
|
|
public int queryElectronicFenceByPartner(String partnerId) {
|
return fenceMapper.queryElectronicFenceByPartner(partnerId);
|
}
|
|
|
|
public void insertGaodeInfo(List<PartnerGaodeModel> gaodeModels) {
|
partnerGaodeMapper.insertGaodeInfo(gaodeModels);
|
}
|
|
public void deletePartnerTownCode(String partnerId) {
|
partnerGaodeMapper.deletePartnerTownCode(partnerId);
|
}
|
|
|
public void deletePartnerAccount(CityPartner partner) {
|
PartnerAccountModel model = new PartnerAccountModel();
|
model.setDelFlag(1);
|
model.setUserId(partner.getUserId());
|
partnerAccountMapper.deletePartnerAccount(model);
|
accountService.deleteByUserId(model.getUserId());
|
}
|
|
public String deleteServiceByKey(CityPartner partner) {
|
//先删除服务
|
Result<JSONArray> service = GdTraceUtil.findService(partner.getPartnerKey());
|
if(service.getCode()==0){
|
JSONArray data = service.getData();
|
for (Object result : data) {
|
JSONObject jsonObject1= (JSONObject) result;
|
String sid = jsonObject1.getStr("sid");
|
String name = jsonObject1.getStr("name");
|
//删除以合伙人id开始命名的服务
|
if(name.startsWith(partner.getPartnerKey())) {
|
GdTraceUtil.deleteService(partner.getPartnerKey(), sid);
|
}
|
}
|
}
|
|
int num = partnerTraceMapper.deleteGaodeService(partner.getId() + "");
|
return num + "";
|
}
|
|
public void createServiceByKey(CityPartner partner) {
|
String service1=partnerTraceService.createService(partner, OrderEnum.回收员全天轨迹);
|
String service2=partnerTraceService.createService(partner,OrderEnum.回收员订单轨迹);
|
String service3=partnerTraceService.createService(partner,OrderEnum.推广员全天轨迹);
|
|
//创建轨迹服务的自定义字段
|
if(StrUtil.isNotBlank(service1)){
|
GdTraceUtil.createTraceProp(partner.getPartnerKey(),service1,"address","string");
|
}
|
if(StrUtil.isNotBlank(service2)){
|
GdTraceUtil.createTraceProp(partner.getPartnerKey(),service2,"address","string");
|
}
|
if(StrUtil.isNotBlank(service3)){
|
GdTraceUtil.createTraceProp(partner.getPartnerKey(),service3,"address","string");
|
}
|
|
}
|
|
|
public String queryAreaCityList(String city) {
|
return addressLevelInfoMapper.queryAreaCityList(city);
|
}
|
|
|
public String queryAreaTownList(String city) {
|
return addressLevelInfoMapper.queryAreaTownList(city);
|
}
|
|
public String queryGaodeByTownId(String townId) {
|
PartnerGaode byTownId = partnerGaodeService.findByTownId(townId);
|
if(byTownId!=null){
|
return byTownId.getPartnerId();
|
}
|
return "";
|
}
|
|
|
public String queryAccountByPartnerId(String userId) {
|
PartnerAccountModel partnerAccountByUserId = partnerAccountMapper.getPartnerAccountByUserId(userId);
|
if(partnerAccountByUserId!=null){
|
String hbb = partnerAccountByUserId.getHbb();
|
if(StrUtil.isNotBlank(hbb)){
|
return hbb;
|
}
|
}
|
return "0";
|
}
|
|
public Map<String, Object> queryPartnerAccount(String userId) {
|
String accountInfoMoney = queryAccountByPartnerId(userId);
|
accountInfoMoney = DoubleUtil.roundTwo(accountInfoMoney);
|
Map<String, Object> map = new HashMap<>();
|
map.put("money", accountInfoMoney);
|
map.put("code", 0);
|
map.put("userId", userId);
|
return map;
|
}
|
|
public CoreUser queryPartnerAdmin(Long id) {
|
return coreUserMapper.selectByPrimaryKey(id);
|
}
|
|
public List<CityPartner> queryAllCityPartnerList(String partnerId) {
|
return cityPartnerMapper.queryAllCityPartnerList(partnerId);
|
}
|
|
public List<CityPartner> queryPartnerName(List<String> partnerIds) {
|
return cityPartnerMapper.queryPartnerName(partnerIds);
|
}
|
|
public List<CityPartner> queryPackageByPartner(List<String> partnerIds) {
|
return cityPartnerMapper.queryPackageByPartner(partnerIds);
|
}
|
|
public List<String> queryPackageIdList(String partnerId) {
|
return cityPartnerMapper.queryPackageIdList(partnerId);
|
}
|
|
public List<UserModel> queryOtherUserByPid(String pid, AccountMoneyModel model, List<String> packageStationList) {
|
return otherUserMapper.queryOtherUserByPid(pid, model.getUserName(), model.getRoleType(), packageStationList);
|
}
|
|
|
public List<UserModel> queryUserNormal(AccountMoneyModel model) {
|
return userMapper.queryAllUserByPid(model.getUserName(), model.getRoleType(),model.getPartnerId());
|
}
|
|
public int updateAccountLimit(AccountMoneyModel model) {
|
AccountInfo oldModel = accountService.findById(model.getAccountId());
|
String message ="";
|
String packageUserId="";
|
OtherUserInfo userModel =otherUserService.findById(oldModel.getUserId());
|
BigDecimal newOl = new BigDecimal("0");
|
if (null != userModel) {
|
if (null != userModel.getPartnerId()) {
|
//打包站
|
if (userModel.getUserType().equals("7")) {
|
PartnerAccountModel pa = partnerAccountMapper.queryAccountIdByUserId(userModel.getUserId());
|
CityPartner packP = queryById(Long.parseLong(pa.getPartnerId()));
|
|
PartnerAccount byPartnerId = partnerAccountService.findByPartnerId(packP.getPackingStation());
|
String cityPartnerMoney = byPartnerId.getHbb();
|
|
if (pa.getFixedLimit()!=null) {
|
newOl = new BigDecimal(model.getFixedLimit()).subtract(Convert.toBigDecimal(pa.getOverdraftLimit(),BigDecimal.ZERO));
|
BigDecimal overFlag = Convert.toBigDecimal(cityPartnerMoney,BigDecimal.ZERO).subtract(newOl);
|
if (overFlag.compareTo(BigDecimal.ZERO) == -1) {
|
return -1;
|
}
|
if(DoubleUtil.roundTwo(pa.getFixedLimit()).equals(DoubleUtil.roundTwo(model.getFixedLimit()))){
|
return -2;
|
}
|
pa.setOverdraftLimit(model.getFixedLimit());
|
} else {
|
if(model.getFixedLimit().equals("0")){
|
return -2;
|
|
}
|
pa.setOverdraftLimit(model.getFixedLimit());
|
}
|
pa.setFixedLimit(model.getFixedLimit());
|
String partnerId = userModel.getPartnerId();
|
CityPartner partner = queryById(Long.parseLong(partnerId));
|
Snowflake snowflake = IdUtil.getSnowflake(0, 3);
|
String payOrderId = "ZF" + snowflake.nextIdStr();
|
pa.setType("7");
|
|
if (partner.getPartnerType().equals("2")) {
|
partner = queryById(partner.getPackingStation());
|
}
|
//调整额度时需要扣除合伙人额度
|
//UserAccountModel partnerAccount = queryPartnerAccountByUserId(partner.getUserId());
|
PartnerAccountModel partnerAccountModel = getPartnerAccountByUserId(partner.getUserId());
|
|
|
|
//insertPartnerAccountLog(partnerAccount, type, newOl, payOrderId, "7");
|
BigDecimal newPartnerMoney = new BigDecimal(partnerAccountModel.getHbb()).subtract(newOl);
|
if (newPartnerMoney.compareTo(BigDecimal.ZERO) == -1) {
|
return -1;
|
}
|
insertPackageAccountLog(pa,payOrderId,DoubleUtil.roundTwo(newOl.toString()),null,null);
|
|
//调整打包站额度
|
updatePackageAccount(pa);
|
//insertPacAccountLog(partnerAccountModel, type, newOl, payOrderId, "7");
|
//String type, String money, String payOrderId,CityPartner partner,String newMoney
|
BigDecimal pol = newOl.multiply(new BigDecimal("-1"));
|
insertPartnerLogByPartner(partnerAccountModel,"7",pol.toString(),payOrderId,partner,newPartnerMoney.toString());
|
|
//partnerAccount.setMoney(newPartnerMoney.doubleValue());
|
partnerAccountModel.setHbb(DoubleUtil.roundTwo(newPartnerMoney.toString()));
|
partnerAccountModel.setMoney(DoubleUtil.roundTwo(newPartnerMoney.toString()));
|
//updateAccountPartner(partnerAccount);
|
updatePartnerAccount(partnerAccountModel);
|
|
message="您已经由管理员调整额度,固定额度为:" + pa.getFixedLimit() + "元,可用额度为:" + pa.getOverdraftLimit() + ",请注意变化.";
|
packageUserId = partner.getUserId();
|
} else {
|
BigDecimal oldol = new BigDecimal(oldModel.getOverdraftLimit());
|
BigDecimal ollimit = new BigDecimal(oldModel.getFixedLimit());
|
newOl = new BigDecimal(model.getFixedLimit()).subtract(ollimit);
|
BigDecimal overFlag = oldol.add(newOl);
|
if(new BigDecimal(model.getFixedLimit()).compareTo(BigDecimal.ZERO)==0){
|
overFlag = oldol.multiply(new BigDecimal("-1"));
|
}
|
boolean flag1 = false;
|
if (overFlag.compareTo(BigDecimal.ZERO) == -1) {
|
if(new BigDecimal(model.getFixedLimit()).compareTo(BigDecimal.ZERO)==0){
|
flag1 = true;
|
}else{
|
return -1;
|
|
}
|
}
|
if(DoubleUtil.roundTwo(oldModel.getFixedLimit()).equals(DoubleUtil.roundTwo(model.getFixedLimit()))){
|
return -2;
|
}
|
if(!flag1){
|
oldModel.setOverdraftLimit(DoubleUtil.roundTwo(oldol.add(newOl).toString()));
|
oldModel.setFixedLimit(DoubleUtil.roundTwo(ollimit.add(newOl).toString()));
|
}else{
|
oldModel.setOverdraftLimit(DoubleUtil.roundTwo("0"));
|
oldModel.setFixedLimit(DoubleUtil.roundTwo("0"));
|
}
|
String type = "8";
|
//调整额度时需要扣除合伙人额度
|
String partnerId = userModel.getPartnerId();
|
CityPartner partner = queryById(partnerId);
|
PartnerAccountModel partnerAccountModel = getPartnerAccountByUserId(partner.getUserId());
|
|
Snowflake snowflake = IdUtil.getSnowflake(0, 3);
|
String payOrderId = "ZF" + snowflake.nextIdStr();
|
if (newOl.compareTo(BigDecimal.ZERO) == -1) {
|
type = "14";
|
}
|
BigDecimal newPartnerMoney;
|
if(!flag1){
|
newPartnerMoney = new BigDecimal(partnerAccountModel.getHbb()).subtract(newOl);
|
}else{
|
newPartnerMoney = new BigDecimal(partnerAccountModel.getHbb()).add(oldol);
|
}
|
if (newPartnerMoney.compareTo(BigDecimal.ZERO) == -1) {
|
return -1;
|
}
|
if(!flag1){
|
}else{
|
newOl = overFlag;
|
|
}
|
partnerAccountModel.setAddType("");
|
insertPartnerAccountLog(partnerAccountModel, type, newOl, payOrderId, "7");
|
|
partnerAccountModel.setMoney(DoubleUtil.roundTwo(newPartnerMoney.toString()));
|
partnerAccountModel.setHbb(DoubleUtil.roundTwo(newPartnerMoney.toString()));
|
updatePartnerAccount(partnerAccountModel);
|
accountMapper.updateAccountLimit(oldModel);
|
}
|
|
}
|
} else {
|
return 0;
|
}
|
if(null!=message&&!"".equals(message)){
|
sysMessageMapper.insertMessage(message, packageUserId, "", "1", "额度调整", DateUtil.now());
|
|
}else{
|
//发送系统消息
|
message = "您已经由管理员调整额度,固定额度为:" + oldModel.getFixedLimit() + "元,可用额度为:" + oldModel.getOverdraftLimit() + ",请注意变化.";
|
sysMessageMapper.insertMessage(message, oldModel.getUserId(), "", "1", "额度调整", DateUtil.now());
|
|
}
|
|
return 1;
|
}
|
|
public void insertPartnerLogByPartner(PartnerAccountModel accountModel, String type, String money, String payOrderId,CityPartner partner,String newMoney) {
|
//写入日志
|
PartnerAccountLogModel partnerLog = new PartnerAccountLogModel();
|
partnerLog.setAccountId(accountModel.getAccount());
|
partnerLog.setType(type);
|
partnerLog.setCreateTime(DateUtil.now());
|
partnerLog.setRoleName("城市合伙人");
|
partnerLog.setUserName(partner.getPartnerName());
|
partnerLog.setUserPhone(partner.getMobilePhone());
|
if(type.equals("13")){
|
BigDecimal subMoney = new BigDecimal(money).multiply(new BigDecimal("-1")) ;
|
partnerLog.setMoney(DoubleUtil.roundTwo(subMoney.toString()));
|
|
}else{
|
partnerLog.setMoney(money);
|
|
}
|
partnerLog.setAccountMoney(accountModel.getHbb());
|
partnerLog.setHbb(newMoney);
|
partnerLog.setFlowNo(payOrderId);
|
partnerLog.setApproverStatus("1");
|
partnerLog.setDelFlag(0);
|
partnerAccountMapper.addPartnerAccountLog(partnerLog);
|
}
|
|
public PageInfo<AccountMoneyModel> queryAccountByUserIds(AccountMoneyModel model) {
|
PageHelper.startPage(model.getPage(),model.getLimit());
|
List<AccountMoneyModel> list = accountMapper.queryAccountByUserIds(model);
|
PageInfo<AccountMoneyModel> pageInfo=new PageInfo<>(list);
|
|
for (AccountMoneyModel mm : list) {
|
mm.setMoney(DoubleUtil.roundTwo(mm.getMoney()));
|
OtherUserInfo userModel = otherUserService.findById(mm.getUserId());
|
|
if (null != userModel) {
|
if (userModel.getUserType().equals("7")) {
|
//查询打包站额
|
String partnerId = userModel.getPartnerId();
|
CityPartner partner = queryById(Long.parseLong(partnerId));
|
if(null!=partner){
|
PartnerAccountModel partnerAccountModel = partnerAccountMapper.queryAccountIdByUserId(partner.getUserId());
|
mm.setFixedLimit(partnerAccountModel.getFixedLimit());
|
mm.setOverdraftLimit(partnerAccountModel.getOverdraftLimit());
|
mm.setMobilePhone(userModel.getMobilePhone());
|
mm.setUserName(userModel.getName());
|
mm.setRegistTime(userModel.getRegistTime());
|
mm.setRoleType(userModel.getUserType());
|
}else{
|
|
}
|
|
} else {
|
if(userModel.getUserType().equals("5")){
|
String pHbb = queryAccountByPartnerId(mm.getUserId());
|
if(null!=pHbb&&!"".equals(pHbb)){
|
mm.setMoney(DoubleUtil.roundTwo(pHbb));
|
}
|
}
|
mm.setMobilePhone(userModel.getMobilePhone());
|
mm.setUserName(userModel.getName());
|
mm.setRegistTime(userModel.getRegistTime());
|
mm.setRoleType(userModel.getUserType());
|
}
|
|
} else {
|
UserModel userInfo = userMapper.queryUserById(mm.getUserId());
|
userModel=new OtherUserInfo();
|
BeanUtil.copyProperties(userInfo,userModel);
|
if(userModel!=null) {
|
mm.setMobilePhone(userModel.getMobilePhone());
|
if (null != userModel.getNickName() && !"".equals(userModel.getNickName())) {
|
mm.setUserName(com.xzx.gc.common.utils.StringUtils.decode(userModel.getNickName()));
|
} else {
|
mm.setUserName("--");
|
}
|
mm.setRegistTime(userModel.getRegistTime());
|
mm.setRoleType("1");
|
}
|
}
|
|
}
|
|
return pageInfo;
|
}
|
|
public int updateAccountType(AccountMoneyModel model) {
|
return accountMapper.updateAccountType(model);
|
}
|
|
public int queryPartnerGaode(List<AreaModel> areaList){
|
List<String> list = new ArrayList<>();
|
for (AreaModel area:areaList) {
|
list.add(area.getTownName());
|
}
|
return partnerGaodeMapper.queryPartnerGaode(list);
|
}
|
public void sendPasswordByPartner(CityPartner cityPartner){
|
Map<String,Object> map= MapUtil.newHashMap();
|
map.put("password",cityPartner.getPassword());
|
map.put("account",cityPartner.getAccountNo());
|
String content = StrUtil.format("敬爱的合伙人:({account}),您的合伙人账户已经开通,后台登录密码是{password},请登录后台及时更新。谢谢", map);
|
SmsUtil.sendPoint(cityPartner.getMobilePhone(), content);
|
|
}
|
public List<String> queryPartnerByCurrent() {
|
//查询合伙人列表
|
List<String> partnerIds = new ArrayList<>();
|
CoreUser user = platformService.getCurrentUser();
|
//CoreUser user = cityPartnerMapper.queryCoreUser();
|
if (user.getId() == 1) {
|
//如果是超管 显示全部投诉订单信息
|
partnerIds = null;
|
} else {
|
//如果是运营管理员 显示
|
if (user.getOrgId() == 10) {
|
partnerIds = null;
|
} else {
|
//合伙人显示 该合伙人和名下合伙人的所有订单。
|
CityPartner partner = cityPartnerMapper.selectByPrimaryKey(user.getId());
|
if(null!=partner){
|
partnerIds.add(user.getId() + "");
|
|
}else{
|
partnerIds = null;
|
}
|
//多级合伙人带拓展
|
//List<String> childPartnerIds = xzxOrderComplaintDao.queryChildPids(user.getId()+"");
|
}
|
|
}
|
return partnerIds;
|
}
|
|
public String queryCityPartnerByPhone(String mobilePhone) {
|
return cityPartnerMapper.queryCityPartnerByPhone(mobilePhone);
|
}
|
|
|
|
public Map<String, Object> queryCityPartner(XzxCityPartnerModel model) {
|
List<String> partnerIds = queryPartnerByCurrent();
|
model.setPartnerIdList(partnerIds);
|
if (null != partnerIds && partnerIds.size() > 0) {
|
model.setPackingStation(partnerIds.get(0));
|
}
|
Map<String, Object> 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");
|
}
|
if (null != model.getPartnerType()) {
|
if (model.getPartnerType().equals("2")) {
|
model.setPartnerIdList(null);
|
}
|
} else {
|
model.setPartnerType("1");
|
}
|
|
PageHelper.startPage(model.getPage(),model.getLimit());
|
if(model.getPartnerType().equals("1")){
|
model.setPackingStation(null);
|
}
|
List<XzxCityPartnerModel> list = cityPartnerMapper.queryCityPartner(model);
|
for (XzxCityPartnerModel obj : list) {
|
List<List<String>> townList = new ArrayList<>();
|
|
List<AreaModel> areaList = partnerGaodeMapper.queryAreaByParentner(obj.getId());
|
for (AreaModel am : areaList) {
|
List<String> townList1 = new ArrayList<>();
|
townList1.add(am.getProvinceName());
|
townList1.add(am.getCityName());
|
townList1.add(am.getTownName());
|
townList.add(townList1);
|
}
|
obj.setTownList(townList);
|
String cityName = "";
|
List<String> cityIdList = partnerGaodeMapper.queryGaodeByParentner(obj.getId());
|
obj.setAreaList(areaList);
|
//当前只支持多选
|
if (cityIdList.size() > 0) {
|
cityName = addressLevelInfoMapper.queryCityNameById(cityIdList.get(0));
|
}
|
if(obj.getPartnerType().equals("2")){
|
//打包站前端需要返回list地址
|
PartnerGaodeModel gaodeModel = new PartnerGaodeModel();
|
gaodeModel = partnerGaodeMapper.queryGaodeAreaByPackageId(obj.getId());
|
if (null != gaodeModel) {
|
String[] packageAddress = gaodeModel.getAddressArea().split(",");
|
obj.setPackageAddress(packageAddress);
|
}
|
|
}
|
obj.setCityName(cityName);
|
obj.setCzMoney(DoubleUtil.roundTwo(obj.getCzMoney()));
|
obj.setTxMoney(DoubleUtil.roundTwo(obj.getTxMoney()));
|
List<XzxElectronicFenceModel> fenceNameList = fenceMapper.queryFenceNameList(obj);
|
StringBuffer sb = new StringBuffer();
|
StringBuffer sbId = new StringBuffer();
|
if (null != fenceNameList && fenceNameList.size() > 0) {
|
for (XzxElectronicFenceModel stn : fenceNameList) {
|
sb.append(stn.getFenceName()).append(",");
|
sbId.append(stn.getId()).append(",");
|
}
|
String sbStr = sb.toString();
|
String sbIds = sbId.toString();
|
if (!"".equals(sbStr)) {
|
sbStr = sbStr.substring(0, sbStr.length() - 1);
|
obj.setFenceName(sbStr);
|
}
|
if (!"".equals(sbIds)) {
|
sbIds = sbIds.substring(0, sbIds.length() - 1);
|
obj.setFenceIds(sbIds);
|
}
|
}
|
List<String> citys = partnerGaodeMapper.queryCitysByPartnerId(obj.getId());
|
String cityName1 = "";
|
for (String cityId : citys) {
|
String named = addressLevelInfoMapper.queryCityNameById(cityId);
|
if (null != cityName1 && !"".equals(cityName1)) {
|
cityName1 = cityName1 + "," + named;
|
} else {
|
cityName1 = named;
|
}
|
}
|
|
if (cityName1 != null && !"".equals(cityName1)) {
|
obj.setCityName(cityName1);
|
} else {
|
|
String userId = obj.getUserId();
|
UserModel userModel = otherUserMapper.queryUserOtherById(userId);
|
|
cityName = addressLevelInfoMapper.queryCityByCityId(userModel.getCityId());
|
obj.setCityId(userModel.getCityId());
|
obj.setCityName(cityName);
|
}
|
|
if (null != obj.getPackingStation() && !"".equals(obj.getPackingStation())) {
|
CityPartner partner = queryById(Long.parseLong(obj.getPackingStation()));
|
obj.setPackingStationName(partner.getPartnerName());
|
}
|
}
|
PageInfo<XzxCityPartnerModel> pageInfo=new PageInfo<>(list);
|
map.put("code", 0);
|
map.put("data", list);
|
map.put("count", pageInfo.getTotal());
|
return map;
|
}
|
|
|
|
|
public PartnerAccountModel getPartnerAccountByUserId(String userId) {
|
return partnerAccountMapper.getPartnerAccountByUserId(userId);
|
}
|
|
|
public void updatePartnerAccount(PartnerAccountModel partnerAccountModel) {
|
partnerAccountMapper.updatePartnerAccount(partnerAccountModel);
|
}
|
|
public void updatePackageAccount(PartnerAccountModel partnerAccountModel) {
|
partnerAccountMapper.updatePackageAccount(partnerAccountModel);
|
}
|
|
public void insertPackageAccountLog(PartnerAccountModel partnerAccountModel, String payOrderId, String money,BigDecimal hbbFp,BigDecimal edFp) {
|
CityPartner partner = cityPartnerMapper.queryEntityByUserIds(partnerAccountModel.getUserId());
|
PartnerAccountLogModel partnerLog = new PartnerAccountLogModel();
|
partnerLog.setFlowNo(payOrderId);
|
partnerLog.setCreateTime(DateUtil.now());
|
partnerLog.setApproverStatus("1");
|
if(null!=partnerAccountModel.getType()&&!"".equals(partnerAccountModel.getType())){
|
if(partnerAccountModel.getType().equals("7")){
|
AccountMoneyModel model = new AccountMoneyModel();
|
model.setAccountId(partnerAccountModel.getAccount());
|
AccountMoneyModel oldModel = partnerAccountMapper.queryPartnerByAccountId(model);
|
BigDecimal oldLimit = new BigDecimal(oldModel.getFixedLimit());
|
BigDecimal oldOverLimit = new BigDecimal(oldModel.getOverdraftLimit());
|
|
partnerLog.setManageLimit(DoubleUtil.roundTwo(money));
|
partnerLog.setManageLimitFix(DoubleUtil.roundTwo(money));
|
partnerLog.setOldLimitFix(DoubleUtil.roundTwo(oldLimit.toString()));
|
partnerLog.setNewLimitFix(DoubleUtil.roundTwo(partnerAccountModel.getFixedLimit()));
|
partnerLog.setOldLimit(DoubleUtil.roundTwo(oldOverLimit.toString()));
|
partnerLog.setNewLimit(DoubleUtil.roundTwo(partnerAccountModel.getOverdraftLimit()));
|
partnerLog.setMoney(DoubleUtil.roundTwo("0"));
|
partnerLog.setHbb(DoubleUtil.roundTwo(partnerAccountModel.getHbb()));
|
partnerLog.setAccountMoney(DoubleUtil.roundTwo(partnerAccountModel.getHbb()));
|
}else{
|
//充值处理
|
if(null!=hbbFp){
|
//环保币分配
|
partnerLog.setMoney(DoubleUtil.roundTwo(hbbFp.toString()));
|
partnerLog.setHbb(DoubleUtil.roundTwo(hbbFp.add(new BigDecimal(partnerAccountModel.getHbb())).toString()));
|
partnerLog.setAccountMoney(DoubleUtil.roundTwo(partnerAccountModel.getHbb() + ""));//额度分配
|
//额度分配
|
partnerLog.setOldLimit(partnerAccountModel.getOverdraftLimit());
|
partnerLog.setManageLimit(DoubleUtil.roundTwo(edFp.toString()));
|
partnerLog.setNewLimit(DoubleUtil.roundTwo(edFp.add(new BigDecimal(partnerAccountModel.getOverdraftLimit())).toString()));
|
|
partnerLog.setOldLimitFix(partnerAccountModel.getFixedLimit());
|
partnerLog.setManageLimitFix("0");
|
partnerLog.setNewLimitFix(partnerAccountModel.getFixedLimit());
|
}else{
|
partnerLog.setMoney(DoubleUtil.roundTwo(money));
|
partnerLog.setHbb(DoubleUtil.roundTwo(new BigDecimal(money).add(new BigDecimal(partnerAccountModel.getHbb())).toString()));
|
partnerLog.setAccountMoney(DoubleUtil.roundTwo(partnerAccountModel.getHbb() + ""));
|
}
|
}
|
|
}else{
|
partnerLog.setMoney(DoubleUtil.roundTwo(money));
|
partnerLog.setHbb(DoubleUtil.roundTwo(new BigDecimal(money).add(new BigDecimal(partnerAccountModel.getHbb())).toString()));
|
partnerLog.setAccountMoney(DoubleUtil.roundTwo(partnerAccountModel.getHbb() + ""));
|
}
|
partnerLog.setDelFlag(0);
|
partnerLog.setAccountId(partnerAccountModel.getAccount());
|
partnerLog.setUserName(partner.getPartnerName());
|
if(null!=partnerAccountModel.getType()&&!"".equals(partnerAccountModel.getType())){
|
partnerLog.setType(partnerAccountModel.getType());
|
}else{
|
partnerLog.setType("1");
|
}
|
|
partnerLog.setUserPhone(partner.getMobilePhone());
|
partnerLog.setRoleName("打包站");
|
partnerAccountMapper.addPartnerAccountLog(partnerLog);
|
}
|
|
|
public void insertPartnerAccountLog(PartnerAccountModel accountModel, String type, BigDecimal money, String payOrderId, String packageType) {
|
//写入日志
|
AccountLogModel log = new AccountLogModel();
|
boolean flag = true;
|
if(null!=accountModel.getAddType()&&!"".equals(accountModel.getAddType())){
|
log.setNewMoney(DoubleUtil.roundTwo(new BigDecimal(accountModel.getHbb()).add(money).toString()));
|
|
}else{
|
flag = false;
|
log.setNewMoney(DoubleUtil.roundTwo(new BigDecimal(accountModel.getHbb()).subtract(money).toString()));
|
|
}
|
CityPartner partner = cityPartnerMapper.queryEntityByUserIds(accountModel.getUserId());
|
PartnerAccountLogModel partnerLog = new PartnerAccountLogModel();
|
partnerLog.setFlowNo(payOrderId);
|
partnerLog.setCreateTime(DateUtil.now());
|
partnerLog.setApproverStatus("1");
|
if(type.equals("14")){
|
if(!flag){
|
partnerLog.setMoney(DoubleUtil.roundTwo(money.multiply(new BigDecimal("-1")).toString()));
|
|
}else{
|
partnerLog.setMoney(DoubleUtil.roundTwo(money.toString()));
|
|
}
|
|
}else{
|
if(!flag){
|
partnerLog.setMoney(DoubleUtil.roundTwo(money.multiply(new BigDecimal("-1")).toString()));
|
|
}else{
|
partnerLog.setMoney(DoubleUtil.roundTwo(money.toString()));
|
|
}
|
}
|
partnerLog.setHbb(log.getNewMoney());
|
partnerLog.setDelFlag(0);
|
partnerLog.setAccountId(accountModel.getAccount());
|
partnerLog.setAccountMoney(DoubleUtil.roundTwo(accountModel.getHbb() + ""));
|
partnerLog.setUserName(partner.getPartnerName());
|
if (null != packageType) {
|
partnerLog.setType(packageType);
|
|
} else {
|
if(type.equals("9")){
|
partnerLog.setType("12");
|
}else if(type.equals("8")){
|
partnerLog.setType("7");
|
}else{
|
partnerLog.setType("1");
|
}
|
}
|
partnerLog.setUserPhone(partner.getMobilePhone());
|
partnerLog.setRoleName("城市合伙人");
|
partnerAccountMapper.addPartnerAccountLog(partnerLog);
|
|
}
|
|
|
|
|
public List<CityPartner> queryPartnerByMobile(XzxCityPartnerModel model) {
|
return cityPartnerMapper.queryPartnerByMobile(model);
|
|
}
|
|
public UserAccountModel queryPartnerAccountByUserId(String userId) {
|
return accountMapper.getAccountByUserId(userId);
|
}
|
|
|
|
|
public CityPartner queryById(String partnerId) {
|
|
return cityPartnerMapper.selectByPrimaryKey(partnerId);
|
}
|
|
public Map<String, Object> queryUserAccountLog(AccountLogModel model) {
|
|
Map<String, Object> result = new HashMap<>();
|
|
String totalMoney = "0";
|
CoreUser user = platformService.getCurrentUser();
|
if (null != model.getAccountId() && !"".equals(model.getAccountId())) {
|
AccountMoneyModel am = new AccountMoneyModel();
|
am.setAccountId(model.getAccountId());
|
AccountMoneyModel account = accountMapper.queryAccountByAccountId(am);
|
totalMoney = account.getMoney();
|
}
|
List<String> partnerIds = queryPartnerByCurrent();
|
model.setPartnerIds(partnerIds);
|
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<String> list1 = new ArrayList<>();
|
if (null != model.getSzType()&&!"".equals(model.getSzType())) {
|
|
if (model.getSzType().equals("1")) {
|
switch (model.getRoleType()) {
|
case 5:
|
list1.add("1");
|
list1.add("14");
|
break;
|
case 2:
|
list1.add("1");
|
list1.add("4");
|
list1.add("11");
|
list1.add("12");
|
break;
|
case 6:
|
list1.add("1");
|
list1.add("10");
|
break;
|
case 1:
|
list1.add("1");
|
list1.add("3");
|
list1.add("5");
|
list1.add("6");
|
list1.add("7");
|
list1.add("13");
|
break;
|
case 7:
|
list1.add("1");
|
break;
|
default:
|
break;
|
}
|
} else if (model.getSzType().equals("2")) {
|
switch (model.getRoleType()) {
|
case 5:
|
list1.add("2");
|
list1.add("5");
|
list1.add("6");
|
list1.add("7");
|
list1.add("8");
|
list1.add("15");
|
break;
|
case 2:
|
list1.add("2");
|
list1.add("3");
|
list1.add("13");
|
list1.add("15");
|
break;
|
case 6:
|
list1.add("2");
|
list1.add("15");
|
break;
|
case 4:
|
list1.add("4");
|
list1.add("15");
|
break;
|
case 1:
|
list1.add("2");
|
list1.add("15");
|
break;
|
case 7:
|
list1.add("4");
|
list1.add("15");
|
break;
|
default:
|
break;
|
}
|
} else {
|
list1.add("1");
|
list1.add("2");
|
list1.add("3");
|
//操作渠道1:充值 2:提现 3:回收 4入库 5红包 6分享返利 7重量达标返利
|
list1.add("4");
|
list1.add("5");
|
list1.add("6");
|
list1.add("7");
|
list1.add("10");
|
list1.add("11");
|
list1.add("12");
|
list1.add("13");
|
list1.add("8");
|
list1.add("14");
|
list1.add("15");
|
}
|
model.setTypeList(list1);
|
}
|
|
String mType = model.getChannelType();
|
List<AccountLogModel> list = new ArrayList<>();
|
if(model.getRoleType()==5||model.getRoleType()==7) {
|
PageHelper.startPage(model.getPage(), model.getLimit());
|
list = partnerAccountLogMapper.queryPartnerLog(model);
|
for (AccountLogModel almodel : list) {
|
almodel.setTypeText(changeTypeText(almodel.getChannelType(), almodel.getRoleType()+""));
|
if (null != almodel.getOldLimit() && !"".equals(almodel.getOldLimit())) {
|
almodel.setOldLimit(DoubleUtil.roundTwo(almodel.getOldLimit()));
|
} else {
|
almodel.setOldLimit("0");
|
}
|
if (null != almodel.getNewLimit() && !"".equals(almodel.getNewLimit())) {
|
almodel.setNewLimit(DoubleUtil.roundTwo(almodel.getNewLimit()));
|
|
} else {
|
almodel.setNewLimit("0");
|
}
|
|
if(null!=almodel.getNewMoney()&&!"".equals(almodel.getNewMoney())){
|
almodel.setNewMoney(DoubleUtil.roundTwo(almodel.getNewMoney()));
|
}else{
|
almodel.setNewMoney(DoubleUtil.roundTwo("0"));
|
}
|
|
if(null!=almodel.getOldMoney()&&!"".equals(almodel.getOldMoney())){
|
almodel.setOldMoney(DoubleUtil.roundTwo(almodel.getOldMoney()));
|
}else{
|
almodel.setOldMoney(DoubleUtil.roundTwo("0"));
|
}
|
|
if (almodel.getUserType().equals("1")) {
|
//转昵称
|
String nickName = almodel.getUserName();
|
if (nickName != null && !"".equals(nickName)) {
|
nickName= com.xzx.gc.common.utils.StringUtils.decode(nickName);
|
}
|
almodel.setUserName(nickName);
|
}
|
if(model.getRoleType()==7) {
|
almodel.setRoleName("打包员");
|
}
|
}
|
// }else if(model.getRoleType()==7){
|
// PartnerAccountModel packageAccount = partnerAccountMapper.queryAccountIdByAccountId(model.getAccountId());
|
// List<String> packageIds = new ArrayList<>();
|
// packageIds.add(packageAccount.getPartnerId());
|
// model.setPartnerIds(packageIds);
|
// if(null!=partnerIds&&partnerIds.size()>0){
|
// List<String> townIds = partnerGaodeMapper.queryTownIdsByPartnerId(partnerIds.get(0));
|
// model.setTownIds(townIds);
|
// }
|
// if(model.getChannelType().equals("-1")){
|
// if(mType.equals("")){
|
// model.setChannelType(null);
|
// }
|
// }
|
// PageHelper.startPage(model.getPage(),model.getLimit());
|
// //TODO szType=1 收入 2支出 channelType 费用类型
|
// list = accountLogMapper.queryAccountLogByAccount(model);
|
// for (AccountLogModel r : list) {
|
// if(null!=r.getChannelType()&&!"".equals(r.getChannelType())){
|
// r.setTypeText(changeTypeText(r.getChannelType(),"0"));
|
//
|
// }else{
|
// r.setTypeText("充值");
|
// }
|
//
|
// if(null!=r.getNewMoney()&&!"".equals(r.getNewMoney())){
|
// r.setNewMoney(DoubleUtil.roundTwo(r.getNewMoney()));
|
// }else{
|
// r.setNewMoney(DoubleUtil.roundTwo("0"));
|
// }
|
// if(null!=r.getNewLimit()&&!"".equals(r.getNewLimit())){
|
// r.setNewLimit(DoubleUtil.roundTwo(r.getNewLimit()));
|
// }else{
|
// r.setNewLimit(DoubleUtil.roundTwo("0"));
|
// }
|
// if(null!=r.getOldMoney()&&!"".equals(r.getOldMoney())){
|
// r.setOldMoney(DoubleUtil.roundTwo(r.getOldMoney()));
|
// }else{
|
// r.setOldMoney(DoubleUtil.roundTwo("0"));
|
// }
|
// if (r.getUserType().equals("1")) {
|
// //转昵称
|
// String nickName = r.getUserName();
|
// if (nickName != null && !"".equals(nickName)) {
|
// nickName= com.xzx.gc.common.utils.StringUtils.decode(nickName);
|
// }
|
// r.setUserName(nickName);
|
// }
|
// r.setRoleName("打包员");
|
// }
|
}else{
|
if(null!=partnerIds&&partnerIds.size()>0){
|
List<String> townIds = partnerGaodeMapper.queryTownIdsByPartnerId(partnerIds.get(0));
|
model.setTownIds(townIds);
|
}
|
if(model.getChannelType().equals("-1")){
|
if(mType.equals("")){
|
model.setChannelType(null);
|
}
|
}
|
PageHelper.startPage(model.getPage(),model.getLimit());
|
list = accountLogMapper.queryAccountLogByAccount(model);
|
for (AccountLogModel r : list) {
|
r.setTypeText(changeTypeText(r.getChannelType(),"0"));
|
|
if(null!=r.getOldLimit()&&!"".equals(r.getOldLimit())){
|
r.setOldLimit(DoubleUtil.roundTwo(r.getOldLimit()));
|
}else{
|
r.setOldLimit("0");
|
}
|
if(null!=r.getNewLimit()&&!"".equals(r.getNewLimit())){
|
r.setNewLimit(DoubleUtil.roundTwo(r.getNewLimit()));
|
|
}else{
|
r.setNewLimit("0");
|
}
|
if (r.getUserType().equals("1")) {
|
//转昵称
|
String nickName = r.getUserName();
|
if (nickName != null && !"".equals(nickName)) {
|
nickName= com.xzx.gc.common.utils.StringUtils.decode(nickName);
|
}
|
r.setUserName(nickName);
|
}
|
r.setRoleName("城市合伙人");
|
}
|
}
|
result.put("data", list);
|
|
PageInfo<AccountLogModel> pageInfo=new PageInfo<>(list);
|
result.put("count", pageInfo.getTotal());
|
result.put("code", 0);
|
result.put("totalMoney", DoubleUtil.roundTwo(totalMoney));
|
return result;
|
}
|
|
|
|
public Map<String, Object> queryPartnerAccountLog(PartnerAccountLogModel model) {
|
|
Map<String, Object> result = new HashMap<>();
|
CoreUser user = platformService.getCurrentUser();
|
CityPartner partner = queryById(user.getId());
|
PartnerAccountModel userAccount = new PartnerAccountModel();
|
if (null != partner) {
|
userAccount = partnerAccountMapper.queryAccountIdByUserId(partner.getUserId());
|
} else {
|
String acc = platformAccountInfoMapper.queryAccountByAdminId();
|
String[] accArr = acc.split(",");
|
userAccount.setMoney(accArr[1]);
|
userAccount.setHbb(accArr[2]);
|
}
|
if (null != userAccount) {
|
List<PartnerAccountLogModel> list = new ArrayList<>();
|
PageHelper.startPage(model.getPage(),model.getLimit());
|
if (null != userAccount.getAccount() && !"".equals(userAccount.getAccount())) {
|
model.setAccountId(userAccount.getAccount());
|
list = partnerAccountLogMapper.queryPartnerAccountLog(model);
|
} else {
|
list = partnerAccountLogMapper.queryAdminAccountLog(model);
|
for (PartnerAccountLogModel log : list) {
|
String type = log.getType();
|
if(type.equals(CommonEnum.平台充值.getValue())){
|
log.setTypeText("充值");
|
}else if(type.equals(CommonEnum.平台提现.getValue())){
|
log.setTypeText("提现");
|
}else if(type.equals(CommonEnum.平台总部流水提佣.getValue())){
|
log.setTypeText("总部流水提佣");
|
}else if(type.equals(CommonEnum.平台集货.getValue())){
|
log.setTypeText("集货");
|
}
|
log.setApproverStatus("2");
|
log.setApproverTime(log.getCreateTime());
|
String userName = log.getUserName();
|
if (!StringUtils.isEmpty(userName)) {
|
userName = com.xzx.gc.common.utils.StringUtils.decode(log.getUserName());
|
}
|
if (!StringUtils.isEmpty(userName)) {
|
log.setUserName(userName);
|
}
|
if (null != log.getRoleName()) {
|
if (log.getRoleName().equals("1")) {
|
log.setRoleName("普通用户");
|
} else if (log.getRoleName().equals("2")) {
|
log.setRoleName("平台用户");
|
}
|
} else {
|
log.setRoleName("普通用户");
|
}
|
|
}
|
}
|
|
PageInfo<PartnerAccountLogModel> pageInfo=new PageInfo<>(list);
|
result.put("data", list);
|
result.put("hbbAccount", userAccount.getHbb());
|
result.put("moneryAccount", userAccount.getMoney());
|
result.put("code", 0);
|
result.put("count", pageInfo.getTotal());
|
} else {
|
result.put("data", new ArrayList<>());
|
result.put("hbbAccount", "0");
|
result.put("moneryAccount", "0");
|
result.put("code", 0);
|
result.put("count", 0);
|
}
|
|
return result;
|
}
|
|
public List<Map<String, String>> queryPartnerCityById(CityPartner partner) {
|
List<Map<String, String>> list = partnerGaodeMapper.queryPartnerCityById(partner);
|
for (Map<String,String> map:list) {
|
map.put("cityid",map.get("cityId"));
|
map.put("cityname",map.get("cityName"));
|
}
|
return list;
|
}
|
|
public List<Map<String, Object>> queryAreaObj(CityPartner partner) {
|
List<Map<String, Object>> list = partnerGaodeMapper.queryPidBypartnerId(partner);
|
String partnerId = "";
|
if (null != partner) {
|
partnerId = partner.getId() + "";
|
}
|
for (Map<String, Object> map : list) {
|
String pid = map.get("code").toString();
|
List<Map<String, Object>> clist = partnerGaodeMapper.queryGaodeByCid(partnerId, pid);
|
for (Map<String, Object> cmap : clist) {
|
List<Map<String, String>> tlist = partnerGaodeMapper.queryGaodeByTid(partnerId, cmap.get("code").toString());
|
cmap.put("children", tlist);
|
}
|
map.put("children", clist);
|
}
|
return list;
|
}
|
|
public int deleteUserByPartnerId(String id, String accountId) {
|
accountMapper.deleteAccount(accountId);
|
return otherUserMapper.deleteUserByPartnerId(id);
|
|
}
|
|
public boolean update(CityPartner partner) {
|
return cityPartnerMapper.updateByPrimaryKeySelective(partner)>0?true:false;
|
}
|
|
public boolean save(CityPartner info) {
|
return cityPartnerMapper.insertUseGeneratedKeys(info)>0?true:false;
|
}
|
|
public CityPartner queryById(Long id) {
|
return cityPartnerMapper.selectByPrimaryKey(id);
|
}
|
|
|
|
|
public List<Map<String, Object>> queryAllType(RoleTypeModel model) {
|
List<Map<String,Object>> list;
|
if(model.getRoleType().equals("5")){
|
list = partnerAccountLogMapper.queryAllPartnerType();
|
}else{
|
list = partnerAccountLogMapper.queryAllAccountType();
|
}
|
list = changeTypeNameByType(list,model.getRoleType());
|
return list;
|
}
|
|
public List<Map<String,Object>> changeTypeNameByType(List<Map<String, Object>> typeList,String roleType){
|
for (Map<String, Object> map:typeList) {
|
if(null!=map){
|
String key = map.get("type").toString();
|
Integer type = Integer.parseInt(key);
|
if(roleType.equals("5")){
|
//1充值 2提现 3重量返利 4提佣 5分享 6阶梯返利 7额度调整 8红包 9推广返利 10人员变动 11结算提成 12额度恢复 13订单投诉
|
switch (type) {
|
case 1: map.put(key,"充值");map.put("value","充值"); break;
|
case 2:map.put(key,"提现");map.put("value","提现"); break;
|
case 3:map.put(key,"重量返利");map.put("value","重量返利"); break;
|
case 4:map.put(key,"提佣");map.put("value","提佣"); break;
|
case 5:map.put(key,"分享"); map.put("value","分享");break;
|
case 6:map.put(key,"阶梯返利");map.put("value","阶梯返利"); break;
|
case 7:map.put(key,"额度调整"); map.put("value","额度调整");break;
|
case 8:map.put(key,"红包");map.put("value","红包"); break;
|
case 9:map.put(key,"推广返利");map.put("value","推广返利"); break;
|
case 10:map.put(key,"人员变动");map.put("value","人员变动"); break;
|
case 11:map.put(key,"结算提成");map.put("value","结算提成"); break;
|
case 12:map.put(key,"额度恢复"); map.put("value","额度恢复");break;
|
case 13:map.put(key,"订单投诉");map.put("value","订单投诉"); break;
|
default:
|
return null;
|
}
|
}else{
|
switch (type) {
|
//数字
|
//1:充值 2:提现 3:回收 4入库 5红包 6分享返利 7重量达标返利 8额度申请 9\
|
// 额度恢复 10 推广返利 11垫付合伙人 12提成 13重量返利支出 14:额度降低 15总部流水提佣 16订单投诉
|
case 1: map.put(key,"充值"); map.put("value","充值");break;
|
case 2:map.put(key,"提现"); map.put("value","提现");break;
|
case 3:map.put(key,"回收");map.put("value","回收"); break;
|
case 4:map.put(key,"入库"); map.put("value","入库");break;
|
case 5:map.put(key,"红包"); map.put("value","红包");break;
|
case 6:map.put(key,"分享返利");map.put("value","分享返利"); break;
|
case 7:map.put(key,"重量达标返利"); map.put("value","重量达标返利"); break;
|
case 8:map.put(key,"额度申请"); map.put("value","额度申请");break;
|
case 9:map.put(key,"额度恢复");map.put("value","额度恢复"); break;
|
case 10:map.put(key,"推广返利"); map.put("value","推广返利");break;
|
case 11:map.put(key,"垫付合伙人"); map.put("value","垫付合伙人"); break;
|
case 12:map.put(key,"提成"); map.put("value","提成");break;
|
case 13:map.put(key,"重量返利支出"); map.put("value","重量返利支出"); break;
|
case 14:map.put(key,"额度降低");map.put("value","额度降低"); break;
|
case 15:map.put(key,"总部流水提佣"); map.put("value","总部流水提佣");break;
|
case 16:map.put(key,"订单投诉");map.put("value","订单投诉"); break;
|
default:
|
return null;
|
}
|
}
|
|
}
|
}
|
|
return typeList;
|
}
|
public String changeTypeText(String key,String roleType){
|
Integer type = Convert.toInt(key,1);
|
String typeText = "";
|
if(roleType.equals("1")){
|
//合伙人账户类型
|
//1充值 2提现 3重量返利 4提佣 5分享 6阶梯返利 7额度调整 8红包 9推广返利 10人员变动 11结算提成 12额度恢复 13订单投诉
|
switch (type) {
|
case 1: typeText = "充值"; break;
|
case 2:typeText="提现"; break;
|
case 3:typeText="重量返利"; break;
|
case 4:typeText="提佣";break;
|
case 5:typeText="分享";break;
|
case 6:typeText="阶梯返利";break;
|
case 7:typeText="额度调整";break;
|
case 8:typeText="红包";break;
|
case 9:typeText="推广返利";break;
|
case 10:typeText="人员变动";break;
|
case 11:typeText="结算提成";break;
|
case 12:typeText="额度恢复";break;
|
case 13:typeText="订单投诉";break;
|
default:
|
return null;
|
}
|
}else{
|
switch (type) {
|
//用户账户类型
|
//1:充值 2:提现 3:回收 4入库 5红包 6分享返利 7重量达标返利 8额度申请 9\
|
// 额度恢复 10 推广返利 11垫付合伙人 12提成 13重量返利支出 14:额度降低 15总部流水提佣 16订单投诉
|
case 1: typeText="充值";break;
|
case 2:typeText="提现";break;
|
case 3:typeText="回收";break;
|
case 4:typeText="入库";break;
|
case 5:typeText="红包";break;
|
case 6:typeText="分享返利";break;
|
case 7:typeText="重量达标返利";break;
|
case 8:typeText="额度申请";break;
|
case 9:typeText="额度恢复";break;
|
case 10:typeText="推广返利";break;
|
case 11:typeText="垫付合伙人";break;
|
case 12:typeText="提成";break;
|
case 13:typeText="重量返利支出";break;
|
case 14:typeText="额度降低";break;
|
case 15:typeText="总部流水提佣";break;
|
case 16:typeText="订单投诉";break;
|
default:
|
return null;
|
}
|
}
|
|
|
return typeText;
|
}
|
|
|
/**
|
* 删除合伙人
|
* @param model
|
* @return
|
*/
|
public JsonResult<String> deletePartner(XzxCityPartnerModel model){
|
int count = queryElectronicFenceByPartner(model.getId());
|
if(count>0){
|
return JsonResult.failMessage("删除合伙人前,请先删除该合伙人的电子围栏!");
|
}else{
|
CityPartner partner = queryById(model.getId());
|
partner.setDelFlag(1);
|
if(partner.getPartnerType().equals(OrderEnum.打包站.getValue())){
|
List<String> partnerIds = queryPartnerByCurrent();
|
if(null!=partnerIds&&partnerIds.size()>0){
|
return JsonResult.failMessage("合伙人不能删除打包站!");
|
}
|
delCuserById(partner.getUserId(), partner.getMobilePhone(), "7");
|
}else{
|
deleteServiceByKey(partner);
|
deleteUserByPartnerId(model.getId(),partner.getAccountNo());
|
}
|
deletePartnerAccount(partner);
|
deletePartnerTownCode(partner.getId()+"");
|
sysEnvironmentalInfoService.deleteGoods(partner.getId()+"");
|
|
update(partner);
|
|
return JsonResult.success(model.getId());
|
}
|
}
|
|
private void delCuserById(String id, String phone, String userType) {
|
|
UserAccountModel account = queryPartnerAccountByUserId(id);
|
if (null == account.getOverdraftLimit() && "".equals(account.getOverdraftLimit())) {
|
account.setOverdraftLimit("0");
|
}
|
BigDecimal overLimit = new BigDecimal(account.getOverdraftLimit());
|
//要把可用余额加入到合伙人
|
UserModel userModel1 = otherUserMapper.queryUserOtherByIdC(id);
|
if (null != userModel1) {
|
if (overLimit.compareTo(BigDecimal.ZERO) == 1) {
|
|
|
if (null != userModel1.getPartnerId()) {
|
//调整额度时需要扣除合伙人额度
|
String partnerId = userModel1.getPartnerId();
|
CityPartner partner = queryById(partnerId);
|
//UserAccountModel partnerAccount = queryPartnerAccountByUserId(partner.getUserId());
|
PartnerAccountModel partnerAccountModel = getPartnerAccountByUserId(partner.getUserId());
|
Snowflake snowflake = IdUtil.getSnowflake(0, 3);
|
String payOrderId = "ZF" + snowflake.nextIdStr();
|
partnerAccountModel.setAddType("1");
|
insertPartnerAccountLog(partnerAccountModel, "8", overLimit, payOrderId, "7");
|
BigDecimal newPartnerMoney = new BigDecimal(partnerAccountModel.getHbb()).add(overLimit);
|
partnerAccountModel.setHbb(DoubleUtil.roundTwo(newPartnerMoney.toString()));
|
updatePartnerAccount(partnerAccountModel);
|
}
|
}
|
}
|
// 删除user_info
|
otherUserService.deleteById(id);
|
// 删除account
|
accountService.deleteByUserId(id);
|
if (userType.equals("普通用户")) {
|
// 删除地址
|
addressService.deleteByUserId(id);
|
}
|
// 删除redis token
|
UserModel userModel = userMapper.queryUserByUsertype(phone, "1", "0", null, null);
|
// redisService.removeToken(userModel.getUserId());
|
redisUtil.remove("xzx:user:token:" + id);
|
if (null != userModel) {
|
redisUtil.remove("xzx:user:token:" + userModel.getUserId());
|
}
|
|
List<Map<String, Object>> userIdList = otherUserMapper.queryCuserByPhoneRedisDelList(phone);
|
for (Map<String, Object> map : userIdList) {
|
String userId = map.get("userId").toString();
|
redisUtil.remove("xzx:user:token:" + userId);
|
}
|
redisUtil.remove(phone);
|
}
|
|
/**
|
* 添加合伙人
|
* @param model
|
* @return
|
*/
|
public JsonResult<String> addPartner(XzxCityPartnerModel model){
|
//判断是否有分配key
|
List<String> partnerIds1 = queryPartnerByCurrent();
|
if(null!=partnerIds1&&partnerIds1.size()>0){
|
if(model.getPartnerType().equals("1")){
|
return JsonResult.failMessage("不允许新建下级合伙人!");
|
|
}
|
}
|
//不能添加重复区域的合伙人
|
if(model.getPartnerType().equals("1")){
|
int num = queryPartnerGaode(model.getAreaList());
|
if(num>0){
|
return JsonResult.failMessage("该区域已经存在合伙人!");
|
|
}
|
}
|
List<AreaModel> areaModelList = model.getAreaList();
|
String mobile = model.getMobilePhone();
|
String res = checkSamePartnerName(model,areaModelList,mobile);
|
if(null!=res){
|
return JsonResult.failMessage(res);
|
}
|
model.setDelFlag(0);
|
model.setCreateTime(DateUtil.now());
|
CityPartner info = BeanUtils.copy(model, CityPartner.class);
|
|
info.setDelFlag(0);
|
String userId = idUtils.generate("USER",3);
|
info.setUserId(userId);
|
if(model.getPartnerType().equals(OrderEnum.合伙人.getValue())){
|
String password = RandomUtil.randomString(6);
|
info.setPassword(password);
|
//发送密码短信
|
sendPasswordByPartner(info);
|
if(null==info.getOrgId()){
|
info.setOrgId(Constants.ORG_ID_PARTNER);
|
}
|
info.setState(Constants.IS_START);
|
}else{
|
if(null==info.getOrgId()){
|
info.setOrgId(Constants.ORG_ID_PACKAGE);
|
}
|
info.setState(Constants.IS_START);
|
//判断是否合伙人登陆
|
List<String> partnerIds = queryPartnerByCurrent();
|
if(null!=partnerIds&&partnerIds.size()>0){
|
info.setPackingStation(partnerIds.get(0));
|
}else{
|
//根据区域查询合伙人Id
|
String townName = model.getTownName();
|
String townIdPackage = queryAreaTownList(townName);
|
String packingStation = queryGaodeByTownId(townIdPackage);
|
info.setPackingStation(packingStation);
|
}
|
}
|
if(null!=info.getPassword()&&!"".equals(info.getPassword())){
|
String salt1 = RandomUtil.randomString(16);
|
String newPassword =SecurityUtil.encrypt(salt1,info.getPassword());
|
info.setPassword(newPassword);
|
info.setSalt(salt1);
|
}
|
|
info.setPartnerKey(model.getPartnerKeys());
|
if(save(info)){
|
//创建服务
|
if(model.getPartnerType().equals(OrderEnum.合伙人.getValue())){
|
createServiceByKey(info);
|
String partnerId = queryCityPartnerByPhone(mobile);
|
List<String> townIds = insertGaodeTown(areaModelList,partnerId,model.getPartnerKeys());
|
info.setId(Integer.parseInt(partnerId));
|
insertUserOther(info,userId);
|
addAccountInfo(info.getMobilePhone(),userId,model.getAccountNo(),Long.parseLong(info.getId()+""),model.getRoleId());
|
initGoodsByPartner(partnerId,townIds);
|
}else{
|
areaModelList = new ArrayList<>();
|
String cityPackage = model.getCityName();
|
String cityIdPackage = queryAreaCityList(cityPackage);
|
AreaModel areaModel = new AreaModel();
|
areaModel.setCityId(Long.parseLong(cityIdPackage));
|
areaModel.setCityName(cityPackage);
|
areaModel.setProvinceName(model.getProvinceName());
|
areaModel.setTownName(model.getTownName());
|
areaModelList.add(areaModel);
|
insertGaodeTown(areaModelList,info.getId()+"",info.getId()+"");
|
insertUserOtherPackage(info,userId,cityIdPackage);
|
addAccountByPackage(info.getMobilePhone(),userId,model.getAccountNo(),Long.parseLong(info.getId()+""));
|
}
|
return JsonResult.success(info.getId()+"");
|
}else{
|
return JsonResult.failMessage("添加合伙人失败!");
|
}
|
}
|
|
public void addAccountByPackage(String mobilePhone,String userId,String accountNo,Long id){
|
// 添加账号表
|
String value = "0";
|
accountMapper.addCuserAccountRole(accountNo, mobilePhone, userId,value);
|
PartnerAccountModel model = new PartnerAccountModel();
|
model.setUserId(userId);
|
model.setAccount(accountNo);
|
model.setUpdateTime(cn.hutool.core.date.DateUtil.now());
|
model.setPartnerId(id+"");
|
model.setOverdraftLimit("0");
|
model.setFixedLimit("0");
|
model.setType(OrderEnum.账户打包站.getValue());
|
partnerAccountMapper.addPartnerAccount(model);
|
//写入消息列表中
|
String message = "新建打包站成功,您的账号为:"+accountNo+",初始密码为:888888";
|
sysMessageMapper.insertMessage(message,userId,"","1","新建打包站",DateUtil.now());
|
|
}
|
|
public void addAccountInfo(String mobilePhone,String userId,String accountNo,Long id,Long roleId){
|
// 添加账号表
|
String value = "0";
|
accountMapper.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(cn.hutool.core.date.DateUtil.now());
|
model.setPartnerId(id+"");
|
model.setType(OrderEnum.账户合伙人.getValue());
|
partnerAccountMapper.addPartnerAccount(model);
|
}
|
coreUserRole.setOrgId(Long.parseLong("9"));
|
//String uId = userId.substring(userId.length()-6,userId.length());
|
//coreUserRole.setUserId(Long.parseLong(uId));
|
coreUserRole.setUserId(id);
|
coreUserRoleMapper.insert(coreUserRole);
|
|
//写入消息列表中
|
String message = "新建合伙人成功,您的账号为:"+accountNo+",初始密码为:888888";
|
sysMessageMapper.insertMessage(message,userId,"","1","新建合伙人",DateUtil.now());
|
|
|
}
|
|
|
/**
|
* 修改合伙人
|
* @param model
|
* @return
|
*/
|
public JsonResult<String> updatePartner(XzxCityPartnerModel model){
|
//判断是否有分配key
|
String key = model.getPartnerKeys();
|
if(model.getPartnerType().equals("1")){
|
if(null==key&&"".equals(model.getPartnerKeys())){
|
return JsonResult.failMessage(" 修改失败,合伙人key不能为空!");
|
}
|
}
|
|
List<AreaModel> areaModelList = model.getAreaList();
|
if(model.getPartnerType().equals("1")) {
|
if(null==areaModelList&&areaModelList.size()==0){
|
return JsonResult.failMessage(" 添加失败,合伙人地区不能为空!");
|
}
|
}
|
|
model.setDelFlag(0);
|
model.setCreateTime(DateUtil.now());
|
ObjectMapper objectMapper = new ObjectMapper();
|
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
CityPartner info = objectMapper.convertValue(model, CityPartner.class);
|
info.setPartnerKey(key);
|
if(model.getPartnerType().equals("1")){
|
CityPartner partner=queryById(info.getId()+"");
|
if (null == info.getOrgId()) {
|
info.setOrgId(partner.getOrgId());
|
}
|
info.setState("S1");
|
}else{
|
if(null==info.getOrgId()){
|
info.setOrgId(16);
|
}
|
info.setState("S1");
|
}
|
if(update(info)){
|
//删除合伙人原有区域
|
deletePartnerTownCode(info.getId()+"");
|
|
List<AreaModel> oldAreaModel = model.getOldAreaList();
|
//需要新增的区域
|
List<String> newArea = new ArrayList<>();
|
//需要减少的区域
|
List<String> oldAreaList = new ArrayList<>();
|
List<String> subArea = new ArrayList<>();
|
List<String> addArea = new ArrayList<>();
|
for (AreaModel oldArea:oldAreaModel) {
|
oldAreaList.add(oldArea.getTownName());
|
}
|
for (AreaModel addAreaModel:areaModelList) {
|
addArea.add(addAreaModel.getTownName());
|
}
|
//是否有新区域
|
|
for (String townName:addArea) {
|
boolean flag=false;
|
String townIdPackage = "";
|
if (oldAreaList.contains(townName)) {
|
flag = true;
|
}
|
townIdPackage = queryAreaTownList(townName);
|
if(!flag){
|
newArea.add(townIdPackage);
|
}
|
}
|
//减少的区域
|
for (String oldTown:oldAreaList) {
|
boolean flag=false;
|
String townIdPackage = "";
|
if (addArea.contains(oldTown)) {
|
flag = true;
|
}
|
townIdPackage = queryAreaTownList(oldTown);
|
if(!flag){
|
subArea.add(townIdPackage);
|
}
|
}
|
if(null!=newArea&&newArea.size()>0){
|
initGoodsByPartner(info.getId()+"",newArea);
|
}
|
if(null!=subArea&&subArea.size()>0){
|
sysEnvironmentalInfoMapper.deleteGoods(info.getId()+"",subArea);
|
bannerMapper.delBannerApiByTown(info.getId()+"",subArea);
|
}
|
|
insertGaodeTown(areaModelList,info.getId()+"",model.getPartnerKeys());
|
|
|
return JsonResult.success("修改成功!");
|
}else{
|
return JsonResult.failMessage("修改合伙人失败!");
|
}
|
}
|
|
|
private String checkSamePartnerName(XzxCityPartnerModel model, List<AreaModel> areaModelList, String mobile){
|
String key = model.getPartnerKeys();
|
if(model.getPartnerType().equals("1")){
|
if(null==key&&"".equals(model.getPartnerKeys())){
|
return " 添加失败,合伙人key不能为空!";
|
}
|
}
|
if(model.getPartnerType().equals("1")) {
|
if(null==areaModelList&&areaModelList.size()==0){
|
return " 添加失败,合伙人地区不能为空!";
|
}
|
}
|
//判断是否有该合伙人手机号
|
if(null!=mobile&&!"".equals(mobile)){
|
List<CityPartner> list = queryPartnerByMobile(model);
|
if(null!=list&&list.size()>0){
|
return " 添加失败,手机号码、合伙人或打包站名称不能重复!";
|
}
|
}
|
return null;
|
}
|
|
private List<String> insertGaodeTown(List<AreaModel> areaModelList,String partnerId,String key){
|
List<PartnerGaodeModel> townCodeList = new ArrayList<>();
|
List<String> townIds = new ArrayList<>();
|
for (AreaModel area:areaModelList) {
|
String city = area.getCityName();
|
String cityId = queryAreaCityList(city);
|
String cityPackage = area.getCityName();
|
String cityIdPackage = queryAreaCityList(cityPackage);
|
String provinceName = area.getProvinceName();
|
String townName = area.getTownName();
|
String townIdPackage = queryAreaTownList(townName);
|
townIds.add(townIdPackage);
|
PartnerGaodeModel gaodeModel = new PartnerGaodeModel();
|
gaodeModel.setCityId(cityIdPackage);
|
if(null!=townName&&!"".equals(townName)){
|
gaodeModel.setAddressArea(provinceName+","+cityPackage+","+townName);
|
}else{
|
gaodeModel.setAddressArea(provinceName+","+cityPackage);
|
|
}
|
gaodeModel.setTownId(townIdPackage);
|
gaodeModel.setCityId(cityId);
|
gaodeModel.setCreateTime(DateUtil.now());
|
gaodeModel.setPartnerId(partnerId);
|
gaodeModel.setPartnerKey(key);
|
gaodeModel.setDelFlag("0");
|
townCodeList.add(gaodeModel);
|
}
|
insertGaodeInfo(townCodeList);
|
return townIds;
|
}
|
|
private void insertUserOther(CityPartner info,String userId){
|
UserModel otherInfo = new UserModel();
|
otherInfo.setName(info.getPartnerName());
|
otherInfo.setDelFlag("0");
|
otherInfo.setMobilePhone(info.getMobilePhone());
|
otherInfo.setLoginAccount(userId);
|
otherInfo.setRoleIds("3");
|
otherInfo.setUserType("5");
|
otherInfo.setUserId(userId);
|
String salt = RandomUtil.randomString(16);
|
otherInfo.setSalt(salt);
|
String pass = SecurityUtil.encrypt(salt,info.getPassword());
|
otherInfo.setPassword(pass);
|
otherInfo.setRegistTime(DateUtil.now());
|
otherInfo.setIsProhibit("0");
|
otherInfo.setPartnerId(info.getId()+"");
|
otherUserMapper.insertUserOtherInfo(otherInfo);
|
}
|
|
private void insertUserOtherPackage(CityPartner info,String userId,String cityId){
|
UserModel otherInfo = new UserModel();
|
otherInfo.setName(info.getPartnerName());
|
otherInfo.setDelFlag("0");
|
otherInfo.setMobilePhone(info.getMobilePhone());
|
otherInfo.setLoginAccount(userId);
|
otherInfo.setRoleIds("6");
|
otherInfo.setUserType("7");
|
otherInfo.setCityId(cityId);
|
otherInfo.setUserId(userId);
|
String salt = RandomUtil.randomString(16);
|
otherInfo.setSalt(salt);
|
String pass = SecurityUtil.encrypt(salt,"888888");
|
otherInfo.setPassword(pass);
|
otherInfo.setRegistTime(DateUtil.now());
|
otherInfo.setIsProhibit("0");
|
otherInfo.setPartnerId(info.getId()+"");
|
|
otherInfo.setAvatar(Constants.DEFAULT_AVATAR);
|
otherUserMapper.insertUserOtherInfo(otherInfo);
|
|
}
|
|
//初始化合伙人的物品价格
|
private void initGoodsByPartner(String partnerId,List<String> cityIds){
|
List<SysEnvironmentalInfo> list = sysEnvironmentalInfoService.findByCityId(Constants.TIANXIN_CODE);
|
|
List<SysEnvironmentalInfo> fatherList=new ArrayList<>();
|
List<SysEnvironmentalInfo> childList=new ArrayList<>();
|
|
|
for (String cityId:cityIds) {
|
|
//排除自营区的分类
|
if(!Constants.TIANXIN_CODE.equals(cityId)) {
|
|
//先加父类 再加子类
|
for (SysEnvironmentalInfo item : list) {
|
SysEnvironmentalInfo dto=new SysEnvironmentalInfo();
|
BeanUtil.copyProperties(item,dto);
|
Long parentId=item.getParentId();
|
//父类
|
if(parentId==null){
|
dto.setCityId(Convert.toInt(cityId));
|
dto.setPartnerId(partnerId);
|
dto.setCreateTime(DateUtil.now());
|
fatherList.add(dto);
|
}
|
}
|
|
if(CollUtil.isNotEmpty(fatherList)){
|
sysEnvironmentalInfoService.insertBatch(fatherList);
|
//再加子类
|
for (SysEnvironmentalInfo item : list) {
|
Long parentId=item.getParentId();
|
//父类
|
if(parentId!=null){
|
SysEnvironmentalInfo dto=new SysEnvironmentalInfo();
|
BeanUtil.copyProperties(item,dto);
|
dto.setCityId(Convert.toInt(cityId));
|
dto.setPartnerId(partnerId);
|
dto.setCreateTime(DateUtil.now());
|
String fatherItemType = list.stream().filter(x -> x.getId().equals(parentId)).collect(Collectors.toList()).get(0).getItemType();
|
Long fatherId = fatherList.stream().filter(x -> x.getItemType().equals(fatherItemType)).collect(Collectors.toList()).get(0).getId();
|
dto.setParentId(fatherId);
|
childList.add(dto);
|
}
|
}
|
|
if(CollUtil.isNotEmpty(childList)) {
|
sysEnvironmentalInfoService.insertBatch(childList);
|
}
|
}
|
|
|
}
|
}
|
}
|
|
public JsonResult updatePartnerProhibit(XzxCityPartnerModel model){
|
CityPartner info=queryById(model.getId());
|
String msg = checkPackageProhibit(model);
|
if(null!=msg){
|
return JsonResult.failMessage(msg);
|
}
|
if(model.getProhibit()==0){
|
info.setProhibit(false);
|
}else{
|
info.setProhibit(true);
|
}
|
|
info.setUpdateTime(DateUtil.now());
|
update(info);
|
otherUserMapper.updateOtherUserById1(info.getId()+"");
|
return JsonResult.success("修改成功");
|
}
|
|
private String checkPackageProhibit(XzxCityPartnerModel model){
|
//判断是否合伙人身份
|
CoreUser user = sessionUtil.getCurrentUser();
|
CityPartner partner = queryById(user.getId());
|
if(null!=partner){
|
//查询打包站账户余额是否为0
|
String hbb = queryAccountByPartnerId(partner.getUserId());
|
BigDecimal m = new BigDecimal(hbb);
|
if(m.compareTo(BigDecimal.ZERO)==1){
|
return "打包站账户余额不为零,无法关闭打包站!";
|
}
|
}
|
return null;
|
}
|
|
}
|
|