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.FundManagementApiDao; import com.ibeetl.admin.console.dao.PayConsoleDao; import com.ibeetl.admin.console.dao.XzxCityPartnerDao; import com.ibeetl.admin.console.dao.XzxSysAddressLevelInfoDao; import com.ibeetl.admin.console.model.*; import com.ibeetl.admin.console.util.DateUtil; import com.ibeetl.admin.console.util.DoubleUtil; import com.ibeetl.admin.console.util.HttpClientUtils; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.entity.XzxAccountInfo; import com.ibeetl.admin.core.entity.XzxCityPartner; import com.ibeetl.admin.core.entity.XzxElectronicFence; import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.service.CorePlatformService; import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.web.JsonResult; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.poi.sl.usermodel.Placeholder; 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 org.springframework.web.bind.annotation.RequestBody; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; /** * XzxCityPartner Service */ @Service @Transactional public class XzxCityPartnerService extends CoreBaseService { @Autowired private XzxCityPartnerDao xzxCityPartnerDao; @Autowired private FundManagementApiDao fundManagementApiDao; @Autowired PayConsoleDao payConsoleDao; @Autowired private XzxSysAddressLevelInfoDao xzxSysAddressLevelInfoDao; @Autowired private XzxUserShareInfoService shareInfoService; @Autowired CuserConsoleService cuserConsoleService; @Autowired XzxCityPartnerService cityPartnerService; @Autowired PayConsoleService payLogService; @Autowired CorePlatformService platformService; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); final org.apache.commons.codec.binary.Base64 base64 = new Base64(); public PageQuery queryByCondition(PageQuery query) { PageQuery ret = xzxCityPartnerDao.queryByCondition(query); queryListAfter(ret.getList()); return ret; } public int queryElectronicFenceByPartner(String partnerId) { return xzxCityPartnerDao.queryElectronicFenceByPartner(partnerId); } public XzxCityPartner queryEntityByUserIds(String userId) { return xzxCityPartnerDao.queryEntityByUserIds(userId); } public void batchDelXzxCityPartner(List ids) { try { xzxCityPartnerDao.batchDelXzxCityPartnerByIds(ids); } catch (Exception e) { throw new PlatformException("批量删除XzxCityPartner失败", e); } } public void insertGaodeInfo(List gaodeModels) { xzxCityPartnerDao.insertGaodeInfo(gaodeModels); } public void deletePartnerTownCode(String partnerId) { xzxCityPartnerDao.deletePartnerTownCode(partnerId); } public AreaModel queryAreaLongiLati(AreaModel model) { return xzxCityPartnerDao.queryAreaLongiLati(model); } public List queryAreaLongiLatiList(String city) { return xzxCityPartnerDao.queryAreaLongiLatiList(city); } public void deletePartnerAccount(XzxCityPartner partner) { PartnerAccountModel model = new PartnerAccountModel(); model.setDelFlag(1); model.setUserId(partner.getUserId()); xzxCityPartnerDao.deletePartnerAccount(model); xzxCityPartnerDao.deleteAccountByUserId(model); } public String deleteServiceByKey(XzxCityPartner partner) { String key = partner.getPartnerKey(); String url = "https://tsapi.amap.com/v1/track/service/delete"; List sidList = xzxCityPartnerDao.querySidListByPartnerId(partner.getId() + ""); /*List sidList= new ArrayList<>(); sidList.add("117858"); sidList.add("117878");*/ for (String sid : sidList) { Map map = new HashMap<>(); map.put("key", key); map.put("sid", sid); String result1 = HttpClientUtils.doPost(url, map); System.out.println("删除服务返回:" + result1); } int num = xzxCityPartnerDao.deleteGaodeService(partner.getId() + ""); return num + ""; } public String createServiceByKey(XzxCityPartner partner) { String name1 = "回收员轨迹_" + partner.getId(); String name2 = "推广员轨迹_" + partner.getId(); String url = "https://tsapi.amap.com/v1/track/service/add"; String key = partner.getPartnerKey(); Map map1 = new HashMap<>(); Map map2 = new HashMap<>(); String result1 = ""; String result2 = ""; if (null != key && !"".equals(key)) { map1.put("key", key); map1.put("name", name1); map2.put("key", key); map2.put("name", name2); result1 = HttpClientUtils.doPost(url, map1); result2 = HttpClientUtils.doPost(url, map2); } else { return null; } Map maps1 = (Map) JSON.parse(result1); Map maps2 = (Map) JSON.parse(result2); if (null != maps1.get("data")) { String str1 = maps1.get("data").toString(); String str2 = maps2.get("data").toString(); Map mapsHsy = (Map) JSON.parse(str1); Map mapsTgy = (Map) JSON.parse(str2); String sid1 = mapsHsy.get("sid").toString(); String sid2 = mapsTgy.get("sid").toString(); String r1 = createGaodeAddress(key, sid1, "string"); String r2 = createGaodeAddress(key, sid2, "string"); PartnerTraceModel model1 = new PartnerTraceModel(); model1.setDelFlag(0); model1.setCreateTime(sdf.format(new Date())); model1.setPartnerId(partner.getId() + ""); model1.setPartnerKey(key); model1.setPartnerServiceId(sid1); model1.setPartnerServiceType("1"); int num1 = insertGaodeSid(model1); if (num1 > 0) { model1.setPartnerServiceId(sid2); model1.setPartnerServiceType("2"); int num2 = insertGaodeSid(model1); return num2 + ""; } else { return null; } } return null; } private String createGaodeAddress(String key, String sid, String type) { String url = "https://tsapi.amap.com/v1/track/point/column/add"; Map map1 = new HashMap<>(); map1.put("key", key); map1.put("sid", sid); map1.put("column", "address"); map1.put("type", type); String result = HttpClientUtils.doPost(url, map1); System.out.println("=============高德返回" + result); return result; } private int insertGaodeSid(PartnerTraceModel model) { return xzxCityPartnerDao.insertGaodeSid(model); } public String queryAreaCityList(String city) { return xzxCityPartnerDao.queryAreaCityList(city); } public String queryAreaProvinceList(String city) { return xzxCityPartnerDao.queryAreaProvinceList(city); } public String queryAreaTownList(String city) { return xzxCityPartnerDao.queryAreaTownList(city); } public String queryGaodeByTownId(String townId) { return xzxCityPartnerDao.queryGaodeByTownId(townId); } public XzxCityPartner queryCityPartnerByCityId(String city) { String partnerId = xzxCityPartnerDao.queryPartnerByCity(city); if (null != partnerId && !"".equals(partnerId)) { return xzxCityPartnerDao.queryPartnerById(Long.parseLong(partnerId)); } else { return null; } } public String queryAccountByPartnerId(String userId) { return xzxCityPartnerDao.queryAccountByPartnerId(userId); } public Map queryPartnerAccount(String userId) { String accountInfoMoney = xzxCityPartnerDao.queryAccountByPartnerId(userId); if (null != accountInfoMoney && !"".equals(accountInfoMoney)) { accountInfoMoney = DoubleUtil.roundTwo(accountInfoMoney); } else { accountInfoMoney = "0.00"; } Map map = new HashMap<>(); map.put("money", accountInfoMoney); map.put("code", 0); map.put("userId", userId); return map; } public CoreUser queryPartnerAdmin(Long id) { return xzxCityPartnerDao.queryPartnerAdmin(id); } public List queryAllCityPartnerList(String partnerId) { return xzxCityPartnerDao.queryAllCityPartnerList(partnerId); } public List queryPartnerName(List partnerIds) { return xzxCityPartnerDao.queryPartnerName(partnerIds); } public List queryPackageByPartner(List partnerIds) { return xzxCityPartnerDao.queryPackageByPartner(partnerIds); } public List queryPackageIdList(String partnerId) { return xzxCityPartnerDao.queryPackageIdList(partnerId); } public List queryOtherUserByPid(String pid, AccountMoneyModel model, List packageStationList) { return xzxCityPartnerDao.queryOtherUserByPid(pid, model.getUserName(), model.getRoleType(), packageStationList); } public List queryAllUserIds() { return xzxCityPartnerDao.queryAllUserIds(); } public List queryUserNormal(AccountMoneyModel model) { return xzxCityPartnerDao.queryAllUserByPid(model.getUserName(), model.getRoleType(),model.getTownIds()); } public int queryAccountByUserIdsCount(AccountMoneyModel model) { return xzxCityPartnerDao.queryAccountByUserIdsCount(model); } public void updateAccountLimitByPid(PartnerAccountModel pa){ xzxCityPartnerDao.updateAccountLimitByPid(pa); } public List queryUserIdsByPid(String partnerId){ return xzxCityPartnerDao.queryUserIdsByPid(partnerId); } public int updateAccountLimit(AccountMoneyModel model) { AccountMoneyModel oldModel = xzxCityPartnerDao.queryAccountByAccountId(model); String message =""; String packageUserId=""; UserModel userModel = cuserConsoleService.queryUserOtherById(oldModel.getUserId()); BigDecimal newOl = new BigDecimal("0"); if (null != userModel) { if (null != userModel.getPartnerId()) { if (userModel.getUserType().equals("7")) { PartnerAccountModel pa = xzxCityPartnerDao.queryAccountIdByUserId(userModel.getUserId()); if (null != pa.getFixedLimit()) { if (null != pa.getOverdraftLimit()) { } else { pa.setOverdraftLimit("0"); } BigDecimal pao = new BigDecimal(pa.getOverdraftLimit()); newOl = new BigDecimal(model.getFixedLimit()).subtract(new BigDecimal(pa.getFixedLimit())); BigDecimal overFlag = pao.add(newOl); if (overFlag.compareTo(BigDecimal.ZERO) == -1) { return -1; } pao=overFlag; pa.setOverdraftLimit(pao.toString()); } else { pa.setOverdraftLimit(model.getFixedLimit()); } pa.setFixedLimit(model.getFixedLimit()); //调整打包站额度 cityPartnerService.updatePackageAccount(pa); String partnerId = userModel.getPartnerId(); XzxCityPartner partner = cityPartnerService.queryById(Long.parseLong(partnerId)); Snowflake snowflake = IdUtil.getSnowflake(0, 3); String payOrderId = "ZF" + snowflake.nextIdStr(); pa.setType("7"); insertPackageAccountLog(pa,payOrderId,DoubleUtil.roundTwo(newOl.toString())); if (partner.getPartnerType().equals("2")) { partner = cityPartnerService.queryById(partner.getPackingStation()); } String type = "8"; //调整额度时需要扣除合伙人额度 UserAccountModel partnerAccount = queryPartnerAccountByUserId(partner.getUserId()); PartnerAccountModel partnerAccountModel = getPartnerAccountByUserId(partner.getUserId()); if (newOl.compareTo(BigDecimal.ZERO) == -1) { type = "14"; } insertPartnerAccountLog(partnerAccount, type, newOl, payOrderId, "7"); BigDecimal newPartnerMoney = new BigDecimal(partnerAccount.getMoney()).subtract(newOl); if (newPartnerMoney.compareTo(BigDecimal.ZERO) == -1) { return -1; } partnerAccount.setMoney(newPartnerMoney.doubleValue()); partnerAccountModel.setHbb(DoubleUtil.roundTwo(newPartnerMoney.toString())); partnerAccountModel.setMoney(DoubleUtil.roundTwo(newPartnerMoney.toString())); cityPartnerService.updateAccountPartner(partnerAccount); cityPartnerService.updatePartnerAccount(partnerAccountModel); //将打包员的额度置为0 //List userIds = cityPartnerService.queryUserIdsByPid(pa.getPartnerId()); //pa.setUserIds(userIds); //cityPartnerService.updateAccountLimitByPid(pa); 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 (overFlag.compareTo(BigDecimal.ZERO) == -1) { return -1; } oldModel.setOverdraftLimit(DoubleUtil.roundTwo(oldol.add(newOl).toString())); oldModel.setFixedLimit(DoubleUtil.roundTwo(ollimit.add(newOl).toString())); String type = "8"; //调整额度时需要扣除合伙人额度 String partnerId = userModel.getPartnerId(); XzxCityPartner partner = cityPartnerService.queryById(partnerId); UserAccountModel partnerAccount = queryPartnerAccountByUserId(partner.getUserId()); PartnerAccountModel partnerAccountModel = getPartnerAccountByUserId(partner.getUserId()); Snowflake snowflake = IdUtil.getSnowflake(0, 3); String payOrderId = "ZF" + snowflake.nextIdStr(); if (newOl.compareTo(BigDecimal.ZERO) == -1) { type = "14"; } insertPartnerAccountLog(partnerAccount, type, newOl, payOrderId, "7"); BigDecimal newPartnerMoney = new BigDecimal(partnerAccount.getMoney()).subtract(newOl); if (newPartnerMoney.compareTo(BigDecimal.ZERO) == -1) { return -1; } partnerAccount.setMoney(newPartnerMoney.doubleValue()); partnerAccountModel.setMoney(DoubleUtil.roundTwo(newPartnerMoney.toString())); partnerAccountModel.setHbb(DoubleUtil.roundTwo(newPartnerMoney.toString())); cityPartnerService.updateAccountPartner(partnerAccount); cityPartnerService.updatePartnerAccount(partnerAccountModel); xzxCityPartnerDao.updateAccountLimit(oldModel); } } } else { return 0; } if(null!=message&&!"".equals(message)){ payConsoleDao.insertMessage(message, packageUserId, "", "1", "额度调整", sdf.format(new Date())); }else{ //发送系统消息 message = "您已经由管理员调整额度,固定额度为:" + oldModel.getFixedLimit() + "元,可用额度为:" + oldModel.getOverdraftLimit() + ",请注意变化."; payConsoleDao.insertMessage(message, oldModel.getUserId(), "", "1", "额度调整", sdf.format(new Date())); } return 1; } public List queryAccountByUserIds(AccountMoneyModel model) { int p = model.getPage(); p = (p - 1) * model.getLimit(); model.setPage(p); List list = xzxCityPartnerDao.queryAccountByUserIds(model); for (AccountMoneyModel mm : list) { UserModel userModel = cuserConsoleService.queryUserOtherInfoById(mm.getUserId()); mm.setMoney(DoubleUtil.roundTwo(mm.getMoney())); if (null != userModel) { if (userModel.getUserType().equals("7")) { //查询打包站额度 String partnerId = userModel.getPartnerId(); XzxCityPartner partner = xzxCityPartnerDao.queryPartnerById(Long.parseLong(partnerId)); PartnerAccountModel partnerAccountModel = xzxCityPartnerDao.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 { mm.setMobilePhone(userModel.getMobilePhone()); mm.setUserName(userModel.getName()); mm.setRegistTime(userModel.getRegistTime()); mm.setRoleType(userModel.getUserType()); } } else { userModel = cuserConsoleService.queryUserById(mm.getUserId()); mm.setMobilePhone(userModel.getMobilePhone()); if (null != userModel.getNickName() && !"".equals(userModel.getNickName())) { try { mm.setUserName(new String(base64.decode(userModel.getNickName()), "UTF-8")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } else { mm.setUserName("--"); } mm.setRegistTime(userModel.getRegistTime()); mm.setRoleType("1"); } } return list; } public int updateAccountType(AccountMoneyModel model) { return xzxCityPartnerDao.updateAccountType(model); } public int queryPartnerGaode(List areaList){ List list = new ArrayList<>(); for (AreaModel area:areaList) { list.add(area.getTownName()); } return xzxCityPartnerDao.queryPartnerGaode(list); } public List queryPartnerByCurrent() { //查询合伙人列表 List partnerIds = new ArrayList<>(); CoreUser user = platformService.getCurrentUser(); if (user.getId() == 1) { //如果是超管 显示全部投诉订单信息 partnerIds = null; } else { //如果是运营管理员 显示 if (user.getOrgId() == 10) { partnerIds = null; } else { //合伙人显示 该合伙人和名下合伙人的所有订单。 partnerIds.add(user.getId() + ""); //多级合伙人带拓展 //List childPartnerIds = xzxOrderComplaintDao.queryChildPids(user.getId()+""); } } return partnerIds; } public String queryCityPartnerByPhone(String mobilePhone) { return xzxCityPartnerDao.queryCityPartnerByPhone(mobilePhone); } public Map queryCityPartnerForOtherUser() { List partnerIds = queryPartnerByCurrent(); List list1 = xzxCityPartnerDao.queryCityPartnerForOtherUser(partnerIds, "2"); List list2 = xzxCityPartnerDao.queryCityPartnerForOtherUser(partnerIds, "6"); Map map = new HashMap<>(); map.put("code", 0); map.put("hsyData", list1); map.put("tgyData", list2); return map; } public Map queryCityPartner(XzxCityPartnerModel model) { List partnerIds = queryPartnerByCurrent(); model.setPartnerIdList(partnerIds); if (null != partnerIds && partnerIds.size() > 0) { model.setPackingStation(partnerIds.get(0)); } 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"); } if (null != model.getPartnerType()) { if (model.getPartnerType().equals("2")) { model.setPartnerIdList(null); } } else { model.setPartnerType("1"); } List list = xzxCityPartnerDao.queryCityPartner(model); for (XzxCityPartnerModel obj : list) { List> townList = new ArrayList<>(); List areaList = xzxCityPartnerDao.queryAreaByParentner(obj.getId()); for (AreaModel am : areaList) { List townList1 = new ArrayList<>(); townList1.add(am.getProvinceName()); townList1.add(am.getCityName()); townList1.add(am.getTownName()); townList.add(townList1); } obj.setTownList(townList); String cityName = ""; List cityIdList = xzxCityPartnerDao.queryGaodeByParentner(obj.getId()); obj.setAreaList(areaList); //当前只支持多选 if (cityIdList.size() > 0) { cityName = xzxCityPartnerDao.queryCityNameById(cityIdList.get(0)); } //if(obj.getPartnerType().equals("2")){ //打包站前端需要返回list地址 PartnerGaodeModel gaodeModel = new PartnerGaodeModel(); gaodeModel = xzxCityPartnerDao.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 fenceNameList = xzxCityPartnerDao.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 citys = xzxCityPartnerDao.queryCitysByPartnerId(obj.getId()); String cityName1 = ""; for (String cityId : citys) { String named = xzxCityPartnerDao.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 = cuserConsoleService.queryUserOtherById(userId); cityName = cuserConsoleService.queryAreaName("2", userModel.getCityId()); obj.setCityId(userModel.getCityId()); obj.setCityName(cityName); } if (null != obj.getPackingStation() && !"".equals(obj.getPackingStation())) { XzxCityPartner partner = xzxCityPartnerDao.queryPartnerById(Long.parseLong(obj.getPackingStation())); obj.setPackingStationName(partner.getPartnerName()); } } int num = xzxCityPartnerDao.queryCityPartnerCount(model); map.put("code", 0); map.put("data", list); map.put("count", num); return map; } public Map queryDetailsPresentation(PartnerPayMsgModel model) { List partnerIds = queryPartnerByCurrent(); model.setPartnerIds(partnerIds); Map map = new HashMap<>(); int p = model.getPage(); p = (p - 1) * model.getLimit(); model.setPage(p); model.setUserId(model.getUserId()); List list = xzxCityPartnerDao.queryDetailsPresentation(model); for (PartnerPayMsgModel model1 : list ) { model1.setMoney(DoubleUtil.roundTwo(model1.getMoney())); } int count = 0; if (null != list && list.size() > 0) { count = xzxCityPartnerDao.queryDetailsPresentationCount(model); } map.put("code", 0); map.put("data", list); map.put("count", count); return map; } public String addPayInfoImg(PayInfoModel model) { Snowflake snowflake1 = IdUtil.getSnowflake(0, 3); String payOrderId = "ZF" + snowflake1.nextIdStr(); RemittanceModel remittanceModel = new RemittanceModel(); remittanceModel.setBankName("长沙银行股份有限公司鑫泰支行"); remittanceModel.setCompany("湖南小棕熊环保科技有限公司"); remittanceModel.setCompanyAccount("800271283808014"); remittanceModel.setCreateTime(sdf.format(new Date())); remittanceModel.setRechargeName(model.getRechargeName()); remittanceModel.setRechargePhone(model.getRechargePhone()); remittanceModel.setPayOrderId(payOrderId); CoreUser user = platformService.getCurrentUser(); XzxCityPartner partner = xzxCityPartnerDao.queryPartnerById(user.getId()); if (null == partner) { if (null != model.getPartnerId() && !"".equals(model.getPartnerId())) { partner = xzxCityPartnerDao.queryPartnerById(Long.parseLong(model.getPartnerId())); } }else{ if(null!=model.getPartnerId()&&!"".equals(model.getPartnerId())){ partner = xzxCityPartnerDao.queryPartnerById(Long.parseLong(model.getPartnerId())); } } remittanceModel.setCreateUserId(partner.getUserId() + ""); xzxCityPartnerDao.insertRemittance(remittanceModel); model.setPayOrderId(payOrderId); model.setCreateUserId(partner.getUserId() + ""); int num = xzxCityPartnerDao.addPayInfo(model); PartnerAccountLogModel log = new PartnerAccountLogModel(); log.setFlowNo(payOrderId); log.setCreateTime(sdf.format(new Date())); log.setApproverStatus("1"); log.setMoney(model.getMoney()); log.setHbb(model.getMoney()); log.setDelFlag(0); log.setAccountId(partner.getAccountNo()); log.setUserName(partner.getPartnerName()); log.setType("1"); log.setUserPhone(partner.getMobilePhone()); if (partner.getPartnerType().equals("1")) { log.setRoleName("城市合伙人"); } else { log.setRoleName("打包站"); } xzxCityPartnerDao.addPartnerAccountLog(log); return num + ""; } public int addPayInfo1(PayInfoModel model) { return xzxCityPartnerDao.addPayInfo1(model); } public int addPayInfo(PayInfoModel model) { CoreUser user = platformService.getCurrentUser(); model.setAccountId(""); model.setStatus("1"); model.setPayType("1"); model.setCreateUserId(user.getId() + ""); model.setCreateTime(sdf.format(new Date())); return xzxCityPartnerDao.addPayInfo(model); } public PartnerAccountModel getPartnerAccountByUserId(String userId) { return fundManagementApiDao.getPartnerAccountByUserId(userId); } public void updateAccountPartner(UserAccountModel accountModel) { xzxCityPartnerDao.updateAccountPartner(accountModel); //return null } public void updatePartnerAccount(PartnerAccountModel partnerAccountModel) { xzxCityPartnerDao.updatePartnerAccount(partnerAccountModel); } public void updatePackageAccount(PartnerAccountModel partnerAccountModel) { xzxCityPartnerDao.updatePackageAccount(partnerAccountModel); } public void insertPackageAccountLog(PartnerAccountModel partnerAccountModel, String payOrderId, String money) { XzxCityPartner partner = xzxCityPartnerDao.queryEntityByUserIds(partnerAccountModel.getUserId()); PartnerAccountLogModel partnerLog = new PartnerAccountLogModel(); partnerLog.setFlowNo(payOrderId); partnerLog.setCreateTime(sdf.format(new Date())); partnerLog.setApproverStatus("1"); if(null!=partnerAccountModel.getType()&&!"".equals(partnerAccountModel.getType())){ if(partnerAccountModel.getType().equals("7")){ partnerLog.setMoney(DoubleUtil.roundTwo(money)); partnerLog.setHbb(DoubleUtil.roundTwo(partnerAccountModel.getFixedLimit())); BigDecimal oldLimit = new BigDecimal(partnerAccountModel.getFixedLimit()); oldLimit =oldLimit.subtract(new BigDecimal(money)); partnerLog.setAccountMoney(DoubleUtil.roundTwo(oldLimit.toString())); }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("打包站"); xzxCityPartnerDao.addPartnerAccountLog(partnerLog); } public void insertAccountLogByPartner(UserAccountModel accountModel, String type, BigDecimal money, String payOrderId) { //写入日志 AccountLogModel log = new AccountLogModel(); log.setAccountId(accountModel.getAccountId()); log.setChannelType(type); log.setCreateTime(sdf.format(new Date())); log.setCreateUserId(accountModel.getUserId()); log.setNewFixedLimit(DoubleUtil.roundTwo("0")); log.setNewLimit(DoubleUtil.roundTwo("0")); log.setNewMoney(DoubleUtil.roundTwo(new BigDecimal(accountModel.getMoney()).add(money).toString())); log.setOldFixedLimit(DoubleUtil.roundTwo("0")); log.setOldLimit(DoubleUtil.roundTwo("0")); log.setOldMoney(DoubleUtil.roundTwo(accountModel.getMoney() + "")); log.setOrderId(payOrderId); payLogService.insertAccountLog(log); } public void insertPartnerLogByPartner(PartnerAccountModel accountModel, String type, String money, String payOrderId,XzxCityPartner partner,String newMoney) { //写入日志 PartnerAccountLogModel partnerLog = new PartnerAccountLogModel(); partnerLog.setAccountId(accountModel.getAccount()); partnerLog.setType(type); partnerLog.setCreateTime(sdf.format(new Date())); partnerLog.setRoleName("城市合伙人"); partnerLog.setMoney(money); partnerLog.setUserName(partner.getPartnerName()); partnerLog.setUserPhone(partner.getMobilePhone()); partnerLog.setAccountMoney(accountModel.getMoney()); partnerLog.setHbb(newMoney); partnerLog.setFlowNo(payOrderId); partnerLog.setApproverStatus("1"); partnerLog.setDelFlag(0); xzxCityPartnerDao.addPartnerAccountLog(partnerLog); } public void insertPartnerAccountLog(UserAccountModel accountModel, String type, BigDecimal money, String payOrderId, String packageType) { //写入日志 AccountLogModel log = new AccountLogModel(); log.setAccountId(accountModel.getAccountId()); log.setChannelType(type); log.setCreateTime(sdf.format(new Date())); log.setCreateUserId(accountModel.getUserId()); BigDecimal oldFixedLimit = new BigDecimal(String.valueOf(accountModel.getFixedLimit())); BigDecimal oldLimit = new BigDecimal(String.valueOf(accountModel.getOverdraftLimit())); BigDecimal oldMoney = new BigDecimal(accountModel.getMoney()); log.setNewFixedLimit(accountModel.getFixedLimit()); log.setNewLimit(accountModel.getLimit() + ""); if(null!=accountModel.getAddType()&&!"".equals(accountModel.getAddType())){ log.setNewMoney(DoubleUtil.roundTwo(new BigDecimal(accountModel.getMoney()).add(money).toString())); }else{ log.setNewMoney(DoubleUtil.roundTwo(new BigDecimal(accountModel.getMoney()).subtract(money).toString())); } log.setOldFixedLimit(accountModel.getFixedLimit()); log.setOldLimit(accountModel.getLimit() + ""); log.setOldMoney(DoubleUtil.roundTwo(accountModel.getMoney() + "")); log.setOrderId(payOrderId); payLogService.insertAccountLog(log); XzxCityPartner partner = xzxCityPartnerDao.queryEntityByUserIds(accountModel.getUserId()); PartnerAccountLogModel partnerLog = new PartnerAccountLogModel(); partnerLog.setFlowNo(payOrderId); partnerLog.setCreateTime(sdf.format(new Date())); partnerLog.setApproverStatus("1"); partnerLog.setMoney(DoubleUtil.roundTwo(money.toString())); partnerLog.setHbb(log.getNewMoney()); partnerLog.setDelFlag(0); partnerLog.setAccountId(accountModel.getAccountId()); partnerLog.setAccountMoney(DoubleUtil.roundTwo(accountModel.getMoney() + "")); partnerLog.setUserName(partner.getPartnerName()); if (null != packageType) { partnerLog.setType(packageType); } else { partnerLog.setType("1"); } partnerLog.setUserPhone(partner.getMobilePhone()); partnerLog.setRoleName("城市合伙人"); xzxCityPartnerDao.addPartnerAccountLog(partnerLog); } public String queryAccountByAdminId() { return xzxCityPartnerDao.queryAccountByAdminId(); } public int updatePlatformHbb(String hbb) { return fundManagementApiDao.updatePlatformHbb(hbb); } public int updatePlatformMoney(String money) { return fundManagementApiDao.updatePlatformMoney(money); } public void insertPlatFormLog(PlatformAccountLogModel model) { fundManagementApiDao.insertPlatFormLog(model); } public String updatePayInfoPass(PayInfoModel model) { String payOrderId = model.getPayOrderId(); PayInfoModel payInfo = xzxCityPartnerDao.queryPayInfoById(payOrderId); String fee = "0"; if (null != payInfo.getFee() && !"".equals(payInfo.getFee())) { fee = payInfo.getFee(); } int num = xzxCityPartnerDao.updatePayInfoPass(model); PartnerAccountLogModel log = new PartnerAccountLogModel(); //审核通过,需要修改用户可用余额 //1:查询合作人账号 PartnerAccountModel pAccount = fundManagementApiDao.getPartnerAccountByUserId(model.getCreateUserId()); String acc = xzxCityPartnerDao.queryAccountByAdminId(); String[] accArr = acc.split(","); String adminMoney = accArr[1]; String adminhbb = accArr[2]; if (null != pAccount) { BigDecimal oldMoney = new BigDecimal("0"); if(null!=pAccount.getHbb()){ oldMoney = new BigDecimal(pAccount.getHbb()); }else{ pAccount.setHbb("0"); } BigDecimal oldhbb = new BigDecimal(pAccount.getHbb()); BigDecimal newhbb = oldhbb.add(new BigDecimal(payInfo.getMoney())); //平台 BigDecimal oldAdminMoney = new BigDecimal(adminMoney); BigDecimal oldAdminhbb = new BigDecimal(adminhbb); CoreUser user = platformService.getCurrentUser(); BigDecimal b3 = new BigDecimal(pAccount.getHbb()); //平台账户处理充值 BigDecimal newAdminMoney = oldAdminMoney.add(new BigDecimal(payInfo.getMoney())); BigDecimal newAdminhbb = oldAdminhbb.subtract(new BigDecimal(payInfo.getMoney())); log.setApprover(user.getName()); log.setUpdateTime(sdf.format(new Date())); log.setApproverTime(sdf.format(new Date())); log.setHbb(b3.add(new BigDecimal(payInfo.getMoney())).toString()); log.setFlowNo(payOrderId); log.setApproverStatus("2"); if (pAccount.getType().equals("0")) { //合伙人充值 //用户 BigDecimal newMoney = oldMoney.subtract(new BigDecimal(payInfo.getMoney())); if (model.getStatus().equals("3")) { BigDecimal b1 = new BigDecimal(pAccount.getHbb()); BigDecimal b2 = new BigDecimal(model.getMoney()); fundManagementApiDao.updateParterAccount(DoubleUtil.roundTwo(b3.add(b2).toString()), pAccount.getAccount()); fundManagementApiDao.updatePlatformMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); fundManagementApiDao.updatePlatformHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); //写流水日志 XzxCityPartner partner = queryById(pAccount.getPartnerId()); PartnerAccountModel pAccount1 = fundManagementApiDao.getPartnerAccountByUserId(partner.getUserId()); UserAccountModel account1 = fundManagementApiDao.getAccountByUserId(partner.getUserId()); String userM = "0"; if (null != pAccount1.getHbb() & !"".equals(pAccount1.getHbb())) { userM = DoubleUtil.roundTwo(pAccount1.getHbb()); } String packUserId = partner.getUserId(); System.out.println("打包员金额为::" + userM + "打包员的UserId 为" + packUserId); PlatformAccountLogModel platformAccountLogModel = new PlatformAccountLogModel(); platformAccountLogModel.setCreateTime(sdf.format(new Date())); platformAccountLogModel.setCreateUserId(pAccount.getPartnerId()); platformAccountLogModel.setMoney(DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setHbb("-" + DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setOldHbb(DoubleUtil.roundTwo(oldAdminhbb.toString())); platformAccountLogModel.setOldMoney(DoubleUtil.roundTwo(oldAdminMoney.toString())); platformAccountLogModel.setNewHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); platformAccountLogModel.setNewMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); platformAccountLogModel.setCreateUserName(partner.getPartnerName()); platformAccountLogModel.setCreateUserType("2"); platformAccountLogModel.setCreateUserMobile(partner.getMobilePhone()); platformAccountLogModel.setFlowNo(payOrderId); fundManagementApiDao.insertPlatFormLog(platformAccountLogModel); fundManagementApiDao.updateParterAccountLog(log); //同步合伙人普通账号 insertAccountLogByPartner(account1,"1",b2,payOrderId); fundManagementApiDao.updateParterAccount1(DoubleUtil.roundTwo(b3.add(b2).toString()), pAccount.getAccount()); } else { log.setApproverStatus("3"); } } else { //打包站充值 查询打包站的账号 if (model.getStatus().equals("3")) { XzxCityPartner packagePartner = xzxCityPartnerDao.queryPartnerById(Long.parseLong(pAccount.getPartnerId())); XzxCityPartner partner = xzxCityPartnerDao.queryPartnerById(Long.parseLong(packagePartner.getPackingStation())); fundManagementApiDao.updatePlatformMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); fundManagementApiDao.updatePlatformHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); if(pAccount.getOverdraftLimit().equals(pAccount.getFixedLimit())){ PartnerAccountModel newPackage = new PartnerAccountModel(); newPackage.setUserId(packagePartner.getUserId()); newPackage.setHbb(DoubleUtil.roundTwo(newhbb.toString())); updatePartnerAccount(newPackage); insertPackageAccountLog(pAccount, payOrderId, payInfo.getMoney()); }else{ BigDecimal ov = new BigDecimal(pAccount.getOverdraftLimit()); BigDecimal fl = new BigDecimal(pAccount.getFixedLimit()); BigDecimal pfMoney = new BigDecimal(payInfo.getMoney()); BigDecimal sfo = fl.subtract(ov); BigDecimal fla = sfo.subtract(pfMoney); BigDecimal fla1 = pfMoney.subtract(sfo); if(fla.compareTo(BigDecimal.ZERO)==-1){ pAccount.setOverdraftLimit(pAccount.getFixedLimit()); pAccount.setHbb(fla1.add(new BigDecimal(pAccount.getHbb())).toString()); updatePartnerAccount(pAccount); insertPackageAccountLog(pAccount, payOrderId, payInfo.getMoney()); }else{ //pAccount.setHbb(pAccount.getHbb()); pAccount.setOverdraftLimit(DoubleUtil.roundTwo(ov.add(pfMoney).toString())); updatePartnerAccount(pAccount); insertPackageAccountLog(pAccount, payOrderId, payInfo.getMoney()); } } PlatformAccountLogModel platformAccountLogModel = new PlatformAccountLogModel(); platformAccountLogModel.setCreateTime(sdf.format(new Date())); platformAccountLogModel.setCreateUserId(pAccount.getPartnerId()); platformAccountLogModel.setMoney(DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setHbb("-" + DoubleUtil.roundTwo(payInfo.getMoney())); platformAccountLogModel.setOldHbb(DoubleUtil.roundTwo(oldAdminhbb.toString())); platformAccountLogModel.setOldMoney(DoubleUtil.roundTwo(oldAdminMoney.toString())); platformAccountLogModel.setNewHbb(DoubleUtil.roundTwo(newAdminhbb.toString())); platformAccountLogModel.setNewMoney(DoubleUtil.roundTwo(newAdminMoney.toString())); platformAccountLogModel.setCreateUserName(partner.getPartnerName()); platformAccountLogModel.setCreateUserType("2"); platformAccountLogModel.setCreateUserMobile(partner.getMobilePhone()); platformAccountLogModel.setFlowNo(payOrderId); fundManagementApiDao.insertPlatFormLog(platformAccountLogModel); fundManagementApiDao.updateParterAccountLog(log); } else { log.setApproverStatus("3"); } } } return num + ""; } public List queryPartnerFenceList(XzxCityPartnerModel model) { CoreUser user = platformService.getCurrentUser(); model.setId(user.getId() + ""); List list = xzxCityPartnerDao.queryPartnerFenceList(model); return list; } public List queryPartnerFenceListByUser(XzxCityPartnerModel model) { CoreUser user = platformService.getCurrentUser(); List partnerIds = queryPartnerByCurrent(); if (user.getId() == 1) { model.setId(null); } else { model.setId(user.getId() + ""); } if (null != partnerIds && partnerIds.size() > 0) { model.setPartnerIds(partnerIds.get(0)); } List list = xzxCityPartnerDao.queryPartnerFenceListByUser(model); return list; } public List queryPartnerByMobile(XzxCityPartnerModel model) { return xzxCityPartnerDao.queryPartnerByMobile(model); } public UserAccountModel queryPartnerAccountByUserId(String userId) { return fundManagementApiDao.getAccountByUserId(userId); } public String querySidByPid(String partnerId, String serviceType) { return xzxCityPartnerDao.querySidByPid(partnerId, serviceType); } public List queryTownIdsByPartnerId(String partnerId) { return xzxCityPartnerDao.queryTownIdsByPartnerId(partnerId); } public List queryTownIdsByPartnerIdList(List partnerIds) { return xzxCityPartnerDao.queryTownIdsByPartnerIdList(partnerIds); } public List> queryGaodeByUserId(XzxCityPartnerModel model) { List> list1 = new ArrayList<>(); CoreUser user = platformService.getCurrentUser(); List partnerIds = queryPartnerByCurrent(); XzxCityPartner partner = xzxCityPartnerDao.queryPartnerById(user.getId()); String key = ""; if (null != model.getOrderId() && !"".equals(model.getOrderId())) { partner = xzxCityPartnerDao.queryPartnerKeyByOrder(model.getOrderId()); key = partner.getPartnerKey(); model.setUserType("2"); } else { model.setUserType("6"); } if (null != partner) { key = partner.getPartnerKey(); } else { UserModel userModel = cuserConsoleService.queryUserOtherById(model.getUserId()); String partnerId = userModel.getPartnerId(); partner = cityPartnerService.queryById(partnerId); if (null != partner) { key = partner.getPartnerKey(); } else { return null; } } UserModel userModel = xzxCityPartnerDao.queryUserModelbyPartnerId(partnerIds, model.getUserType(), model.getUserId(), model.getOrderId()); if (null != model.getDayTime() && !"".equals(model.getDayTime())) { if (null != model.getDateTime() && !"".equals(model.getDateTime())) { String[] ss = model.getDateTime().split("-"); model.setStartTime(model.getDayTime() + " " + ss[0] + ":00"); model.setEndTime(model.getDayTime() + " " + ss[1] + ":59"); } } Map objMap = new HashMap<>(); String terminalId = userModel.getTerminalId(); Map map1 = new HashMap(); String url = ""; String type = null; if (userModel.getUserType().equals("2")) { type = "1"; map1.put("tid", terminalId); } else if (userModel.getUserType().equals("6")) { type = "2"; } String sid = xzxCityPartnerDao.querySidByPartnerId(partner.getId() + "", type); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); map1.put("key", key); map1.put("sid", sid); String result1 = ""; url = "https://tsapi.amap.com/v1/track/terminal/trsearch"; if (userModel.getUserType().equals("2")) { if (null != model.getOrderId()) { String trid = xzxCityPartnerDao.queryOrderById(model.getOrderId(), userModel.getUserId(), model.getStartTime(), model.getEndTime()); map1.put("trid", trid); result1 = HttpClientUtils.doGet(url, map1); Map maps1 = (Map) JSON.parse(result1); if (null != maps1.get("data")) { String str1 = maps1.get("data").toString(); Map mapsHsy = (Map) JSON.parse(str1); if (null != mapsHsy.get("tracks")) { String tracks = mapsHsy.get("tracks").toString(); List dataArr = JSON.parseArray(tracks, GuijiByGaodeTridModel.class); GuijiByGaodeTridModel mm = dataArr.get(0); objMap.put("distance", mm.getDistance()); objMap.put("totalTime", mm.getTime() / (1000 * 60)); objMap.put("counts", mm.getCounts()); List pointsList = mm.getPoints(); if (null != pointsList && pointsList.size() > 0) { List> propData = new ArrayList<>(); String address = ""; long t = 0; long tt1 = 0; for (PointsModel pp : pointsList) { Map propMap = new HashMap<>(); Map maps4 = pp.getProps(); if (!"".equals(address)) { if (address.equals(maps4.get("address").toString())) { if (tt1 == 0) { tt1 = pp.getLocatetime() - t; } else { tt1 = tt1 + (pp.getLocatetime() - t); } continue; } else { propMap.put("stopTime", tt1 / (1000 * 60)); } } address = maps4.get("address").toString(); propMap.put("address", address); t = pp.getLocatetime(); Date date = new Date(t); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String tt = sdf1.format(date); propMap.put("time", tt); propData.add(propMap); } objMap.put("counts", propData.size()); objMap.put("propData", propData); } } } } else { List trids = xzxCityPartnerDao.queryOrderByIds(userModel.getUserId(), model.getStartTime(), model.getEndTime()); for (int i = 0; i < trids.size(); i++) { map1.put("trid", trids.get(i)); String r1 = HttpClientUtils.doGet(url, map1); if (i == 0) { result1 = i + ":" + r1; } else { result1 = result1 + " " + i + ":" + r1; } } } } else if (userModel.getUserType().equals("6")) { try { Date date1 = simpleDateFormat.parse(model.getStartTime()); Date date2 = simpleDateFormat.parse(model.getEndTime()); long ts1 = date1.getTime(); long ts2 = date2.getTime(); map1.put("starttime", ts1 + ""); map1.put("endtime", ts2 + ""); map1.put("tid", terminalId); result1 = HttpClientUtils.doGet(url, map1); Map maps1 = (Map) JSON.parse(result1); if (null != maps1.get("data")) { String str1 = maps1.get("data").toString(); Map mapsHsy = (Map) JSON.parse(str1); if (null != mapsHsy.get("tracks")) { String tracks = mapsHsy.get("tracks").toString(); List dataArr = JSON.parseArray(tracks, GuijiByGaodeTridModel.class); GuijiByGaodeTridModel mm = dataArr.get(0); objMap.put("distance", mm.getDistance()); objMap.put("totalTime", mm.getTime() / (1000 * 60)); objMap.put("counts", mm.getCounts()); List pointsList = mm.getPoints(); if (null != pointsList && pointsList.size() > 0) { List> propData = new ArrayList<>(); String address = ""; long t = 0; long tt1 = 0; for (PointsModel pp : pointsList) { Map propMap = new HashMap<>(); Map maps4 = pp.getProps(); if (!"".equals(address)) { if (address.equals(maps4.get("address").toString())) { if (tt1 == 0) { tt1 = pp.getLocatetime() - t; } else { tt1 = tt1 + (pp.getLocatetime() - t); } continue; } else { propMap.put("stopTime", tt1 / (1000 * 60)); } } address = maps4.get("address").toString(); propMap.put("address", address); t = pp.getLocatetime(); Date date = new Date(t); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String tt = sdf1.format(date); propMap.put("time", tt); propData.add(propMap); } objMap.put("counts", propData.size()); objMap.put("propData", propData); } } } } catch (ParseException e) { e.printStackTrace(); } } objMap.put("userModel", userModel); list1.add(objMap); return list1; } public Map queryUserAccountLog(AccountLogModel model) { Map result = new HashMap<>(); int page = model.getPage(); int limit = model.getLimit(); int p = page; p = (p - 1) * limit; model.setPage(p); String totalMoney = "0"; CoreUser user = platformService.getCurrentUser(); XzxCityPartner partner = xzxCityPartnerDao.queryPartnerById(user.getId()); if (null != model.getAccountId() && !"".equals(model.getAccountId())) { AccountMoneyModel am = new AccountMoneyModel(); am.setAccountId(model.getAccountId()); AccountMoneyModel account = xzxCityPartnerDao.queryAccountByAccountId(am); totalMoney = account.getMoney(); } //String accountNo = partner.getAccountNo(); List partnerIds = queryPartnerByCurrent(); // model.setAccountId(accountNo); 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 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); } List list = xzxCityPartnerDao.queryAccountLogByAccount(model); for (AccountLogModel r : list) { if (r.getUserType().equals("1")) { //转昵称 String nickName = r.getUserName(); if (nickName != null && !"".equals(nickName)) { try { nickName = new String(base64.decode(nickName), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } r.setUserName(nickName); } r.setRoleName("城市合伙人"); } result.put("data", list); result.put("count", xzxCityPartnerDao.queryAccountLogByAccountCount(model)); result.put("code", 0); result.put("totalMoney", DoubleUtil.roundTwo(totalMoney)); return result; } public List> queryOrderByHsy(XzxCityPartnerModel model) { if (null != model.getDayTime() && !"".equals(model.getDayTime())) { if (null != model.getDateTime() && !"".equals(model.getDateTime())) { String[] ss = model.getDateTime().split("-"); model.setStartTime(model.getDayTime() + " " + ss[0] + ":00"); model.setEndTime(model.getDayTime() + " " + ss[1] + ":59"); } else { model.setStartTime(model.getDayTime() + " 00:00:00"); model.setEndTime(model.getDayTime() + " 23:59:59"); } } else { String t = sdf.format(new Date()); String[] tl = t.split(" "); model.setStartTime(tl[0] + " 00:00:00"); model.setEndTime(tl[0] + " 23:59:59"); } List> list = xzxCityPartnerDao.queryOrderByHsy(model); return list; } public PartnerAccountModel queryAccountIdByUserId(String userId) { return xzxCityPartnerDao.queryAccountIdByUserId(userId); } public Map queryPartnerAccountLog(PartnerAccountLogModel model) { Map result = new HashMap<>(); int page = model.getPage(); int limit = model.getLimit(); int p = page; p = (p - 1) * limit; model.setPage(p); CoreUser user = platformService.getCurrentUser(); XzxCityPartner partner = xzxCityPartnerDao.queryPartnerById(user.getId()); PartnerAccountModel userAccount = new PartnerAccountModel(); if (null != partner) { userAccount = xzxCityPartnerDao.queryAccountIdByUserId(partner.getUserId()); } else { String acc = xzxCityPartnerDao.queryAccountByAdminId(); String[] accArr = acc.split(","); userAccount.setMoney(accArr[1]); userAccount.setHbb(accArr[2]); } int count = 0; if (null != userAccount) { List list = new ArrayList<>(); if (null != userAccount.getAccount() && !"".equals(userAccount.getAccount())) { model.setAccountId(userAccount.getAccount()); list = xzxCityPartnerDao.queryPartnerAccountLog(model); count = xzxCityPartnerDao.queryPartnerAccountLogCount(model); } else { list = xzxCityPartnerDao.queryAdminAccountLog(model); count = xzxCityPartnerDao.queryAdminAccountLogCount(model); for (PartnerAccountLogModel log : list) { log.setApproverStatus("2"); log.setApproverTime(log.getCreateTime()); String userName = log.getUserName(); if (!StringUtils.isEmpty(userName)) { try { userName = new String(base64.decode(log.getUserName()), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } 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("普通用户"); } } } result.put("data", list); result.put("hbbAccount", userAccount.getHbb()); result.put("moneryAccount", userAccount.getMoney()); result.put("code", 0); result.put("count", count); } 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> queryPartnerCityById(XzxCityPartner partner) { List> list = xzxCityPartnerDao.queryPartnerCityById(partner); return list; } public List> queryAreaObj(XzxCityPartner partner) { List> list = xzxCityPartnerDao.queryPidBypartnerId(partner); String partnerId = ""; if (null != partner) { partnerId = partner.getId() + ""; } for (Map map : list) { String pid = map.get("code").toString(); List> clist = xzxCityPartnerDao.queryGaodeByCid(partnerId, pid); for (Map cmap : clist) { List> tlist = xzxCityPartnerDao.queryGaodeByTid(partnerId, cmap.get("code").toString()); cmap.put("children", tlist); } map.put("children", clist); } return list; } public int deleteUserByPartnerId(String id, String accountId) { xzxCityPartnerDao.deleteAccount(accountId); return xzxCityPartnerDao.deleteUserByPartnerId(id); } }