|
|
@@ -6,12 +6,15 @@ import com.iformall.common.ResultData; |
|
|
import com.iformall.domain.po.*; |
|
|
import com.iformall.domain.po.*; |
|
|
import com.iformall.domain.vo.WxBillAll; |
|
|
import com.iformall.domain.vo.WxBillAll; |
|
|
import com.iformall.enums.*; |
|
|
import com.iformall.enums.*; |
|
|
|
|
|
import com.iformall.exception.MallinkException; |
|
|
import com.iformall.mapper.*; |
|
|
import com.iformall.mapper.*; |
|
|
import com.iformall.service.DataTowerService; |
|
|
import com.iformall.service.DataTowerService; |
|
|
import com.iformall.service.WxRentContractService; |
|
|
import com.iformall.service.WxRentContractService; |
|
|
import com.iformall.utils.DateUtils; |
|
|
import com.iformall.utils.DateUtils; |
|
|
import com.iformall.utils.HashUtil; |
|
|
import com.iformall.utils.HashUtil; |
|
|
import com.iformall.utils.HttpUtil; |
|
|
import com.iformall.utils.HttpUtil; |
|
|
|
|
|
import com.iformall.utils.WiwideUtil; |
|
|
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.shiro.codec.Base64; |
|
|
import org.apache.shiro.codec.Base64; |
|
|
import org.slf4j.Logger; |
|
|
import org.slf4j.Logger; |
|
|
import org.slf4j.LoggerFactory; |
|
|
import org.slf4j.LoggerFactory; |
|
|
@@ -72,7 +75,7 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//出租与未出租*********************************************** |
|
|
//出租与未出租*********************************************** |
|
|
private Map<String, Object> shopRunning(String tenantId){ |
|
|
|
|
|
|
|
|
private Map<String, Object> shopRunning(String tenantId) { |
|
|
|
|
|
|
|
|
WxShop wxShop = new WxShop(); |
|
|
WxShop wxShop = new WxShop(); |
|
|
wxShop.setTenantId(tenantId); |
|
|
wxShop.setTenantId(tenantId); |
|
|
@@ -109,15 +112,15 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
params.put("tenantId", tenantId); |
|
|
params.put("tenantId", tenantId); |
|
|
|
|
|
|
|
|
Calendar instance = Calendar.getInstance(); |
|
|
Calendar instance = Calendar.getInstance(); |
|
|
instance.set(Calendar.DAY_OF_YEAR,1); |
|
|
|
|
|
instance.set(Calendar.HOUR_OF_DAY,0); |
|
|
|
|
|
instance.set(Calendar.MINUTE,0); |
|
|
|
|
|
instance.set(Calendar.SECOND,0); |
|
|
|
|
|
|
|
|
instance.set(Calendar.DAY_OF_YEAR, 1); |
|
|
|
|
|
instance.set(Calendar.HOUR_OF_DAY, 0); |
|
|
|
|
|
instance.set(Calendar.MINUTE, 0); |
|
|
|
|
|
instance.set(Calendar.SECOND, 0); |
|
|
String startdate = DateUtils.date2String(instance); |
|
|
String startdate = DateUtils.date2String(instance); |
|
|
instance.clear(); |
|
|
instance.clear(); |
|
|
String enddate = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss"); |
|
|
String enddate = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss"); |
|
|
params.put("startdate",startdate); |
|
|
|
|
|
params.put("enddate",enddate); |
|
|
|
|
|
|
|
|
params.put("startdate", startdate); |
|
|
|
|
|
params.put("enddate", enddate); |
|
|
Map<String, Object> payinfo = wxBillRentMapper.queryPayInfo(params); |
|
|
Map<String, Object> payinfo = wxBillRentMapper.queryPayInfo(params); |
|
|
if (payinfo != null) { |
|
|
if (payinfo != null) { |
|
|
BigDecimal receivableAmount = (BigDecimal) payinfo.get("receivepay"); |
|
|
BigDecimal receivableAmount = (BigDecimal) payinfo.get("receivepay"); |
|
|
@@ -246,8 +249,8 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
cal.add(Calendar.DAY_OF_YEAR, 1); |
|
|
cal.add(Calendar.DAY_OF_YEAR, 1); |
|
|
Date endTime = cal.getTime(); |
|
|
Date endTime = cal.getTime(); |
|
|
|
|
|
|
|
|
long verifiedCount = wxCouponOrderMapper.findVerifiedCount(tenantId,startTime,endTime); |
|
|
|
|
|
long orderedCount = wxCouponOrderMapper.findOrderedCount(tenantId,startTime,endTime); |
|
|
|
|
|
|
|
|
long verifiedCount = wxCouponOrderMapper.findVerifiedCount(tenantId, startTime, endTime); |
|
|
|
|
|
long orderedCount = wxCouponOrderMapper.findOrderedCount(tenantId, startTime, endTime); |
|
|
couponMap.put("verifiedCount", verifiedCount); |
|
|
couponMap.put("verifiedCount", verifiedCount); |
|
|
couponMap.put("orderedCount", orderedCount); |
|
|
couponMap.put("orderedCount", orderedCount); |
|
|
WxCouponChannel wxCouponChannel = new WxCouponChannel(); |
|
|
WxCouponChannel wxCouponChannel = new WxCouponChannel(); |
|
|
@@ -316,9 +319,9 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
usedCount = totalCount - remainsCount; |
|
|
usedCount = totalCount - remainsCount; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
messageMap.put("usedCount",usedCount); |
|
|
|
|
|
messageMap.put("totalCount",totalCount); |
|
|
|
|
|
messageMap.put("remainsCount",remainsCount); |
|
|
|
|
|
|
|
|
messageMap.put("usedCount", usedCount); |
|
|
|
|
|
messageMap.put("totalCount", totalCount); |
|
|
|
|
|
messageMap.put("remainsCount", remainsCount); |
|
|
|
|
|
|
|
|
return messageMap; |
|
|
return messageMap; |
|
|
} |
|
|
} |
|
|
@@ -329,10 +332,10 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
WxBillAll record = new WxBillAll(); |
|
|
WxBillAll record = new WxBillAll(); |
|
|
record.setTenantId(tenantId); |
|
|
record.setTenantId(tenantId); |
|
|
Calendar instance = Calendar.getInstance(); |
|
|
Calendar instance = Calendar.getInstance(); |
|
|
instance.set(Calendar.DAY_OF_YEAR,1); |
|
|
|
|
|
instance.set(Calendar.HOUR_OF_DAY,0); |
|
|
|
|
|
instance.set(Calendar.MINUTE,0); |
|
|
|
|
|
instance.set(Calendar.SECOND,0); |
|
|
|
|
|
|
|
|
instance.set(Calendar.DAY_OF_YEAR, 1); |
|
|
|
|
|
instance.set(Calendar.HOUR_OF_DAY, 0); |
|
|
|
|
|
instance.set(Calendar.MINUTE, 0); |
|
|
|
|
|
instance.set(Calendar.SECOND, 0); |
|
|
String startdate = DateUtils.date2String(instance); |
|
|
String startdate = DateUtils.date2String(instance); |
|
|
instance.clear(); |
|
|
instance.clear(); |
|
|
String enddate = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss"); |
|
|
String enddate = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss"); |
|
|
@@ -353,12 +356,12 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
public Map<String, Object> queryRunningMobile(String tenantId) { |
|
|
public Map<String, Object> queryRunningMobile(String tenantId) { |
|
|
|
|
|
|
|
|
HashMap<String, Object> dataMap = new HashMap<>(); |
|
|
HashMap<String, Object> dataMap = new HashMap<>(); |
|
|
dataMap.put("shop",shopRunning(tenantId)); |
|
|
|
|
|
dataMap.put("rent",rentRunning(tenantId)); |
|
|
|
|
|
dataMap.put("report",reportRunning(tenantId)); |
|
|
|
|
|
dataMap.put("car",carRunning(tenantId)); |
|
|
|
|
|
dataMap.put("coupon",couponRunning(tenantId)); |
|
|
|
|
|
dataMap.put("visitor",visitorRunning(tenantId)); |
|
|
|
|
|
|
|
|
dataMap.put("shop", shopRunning(tenantId)); |
|
|
|
|
|
dataMap.put("rent", rentRunning(tenantId)); |
|
|
|
|
|
dataMap.put("report", reportRunning(tenantId)); |
|
|
|
|
|
dataMap.put("car", carRunning(tenantId)); |
|
|
|
|
|
dataMap.put("coupon", couponRunning(tenantId)); |
|
|
|
|
|
dataMap.put("visitor", visitorRunning(tenantId)); |
|
|
|
|
|
|
|
|
return dataMap; |
|
|
return dataMap; |
|
|
} |
|
|
} |
|
|
@@ -368,20 +371,20 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
public Map<String, Object> queryRunningPotal(String tenantId) { |
|
|
public Map<String, Object> queryRunningPotal(String tenantId) { |
|
|
|
|
|
|
|
|
HashMap<String, Object> dataMap = new HashMap<>(); |
|
|
HashMap<String, Object> dataMap = new HashMap<>(); |
|
|
dataMap.put("shop",shopRunning(tenantId)); |
|
|
|
|
|
dataMap.put("rent",rentRunning(tenantId)); |
|
|
|
|
|
dataMap.put("report",reportRunning(tenantId)); |
|
|
|
|
|
dataMap.put("car",carRunning(tenantId)); |
|
|
|
|
|
dataMap.put("coupon",couponRunning(tenantId)); |
|
|
|
|
|
dataMap.put("visitor",visitorRunning(tenantId)); |
|
|
|
|
|
dataMap.put("contract",contractRunning(tenantId)); |
|
|
|
|
|
dataMap.put("message",messageRunning(tenantId)); |
|
|
|
|
|
dataMap.put("bill",billRunning(tenantId)); |
|
|
|
|
|
|
|
|
dataMap.put("shop", shopRunning(tenantId)); |
|
|
|
|
|
dataMap.put("rent", rentRunning(tenantId)); |
|
|
|
|
|
dataMap.put("report", reportRunning(tenantId)); |
|
|
|
|
|
dataMap.put("car", carRunning(tenantId)); |
|
|
|
|
|
dataMap.put("coupon", couponRunning(tenantId)); |
|
|
|
|
|
dataMap.put("visitor", visitorRunning(tenantId)); |
|
|
|
|
|
dataMap.put("contract", contractRunning(tenantId)); |
|
|
|
|
|
dataMap.put("message", messageRunning(tenantId)); |
|
|
|
|
|
dataMap.put("bill", billRunning(tenantId)); |
|
|
|
|
|
|
|
|
return dataMap; |
|
|
return dataMap; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Map<String, Object> queryRunning(String tenantId) { |
|
|
public Map<String, Object> queryRunning(String tenantId) { |
|
|
WxShop wxShop = new WxShop(); |
|
|
WxShop wxShop = new WxShop(); |
|
|
@@ -416,15 +419,15 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
Map<String, Object> params = new HashMap<>(); |
|
|
params.put("tenantId", tenantId); |
|
|
params.put("tenantId", tenantId); |
|
|
Calendar instance = Calendar.getInstance(); |
|
|
Calendar instance = Calendar.getInstance(); |
|
|
instance.set(Calendar.DAY_OF_YEAR,1); |
|
|
|
|
|
instance.set(Calendar.HOUR_OF_DAY,0); |
|
|
|
|
|
instance.set(Calendar.MINUTE,0); |
|
|
|
|
|
instance.set(Calendar.SECOND,0); |
|
|
|
|
|
|
|
|
instance.set(Calendar.DAY_OF_YEAR, 1); |
|
|
|
|
|
instance.set(Calendar.HOUR_OF_DAY, 0); |
|
|
|
|
|
instance.set(Calendar.MINUTE, 0); |
|
|
|
|
|
instance.set(Calendar.SECOND, 0); |
|
|
String startdate = DateUtils.date2String(instance); |
|
|
String startdate = DateUtils.date2String(instance); |
|
|
instance.clear(); |
|
|
instance.clear(); |
|
|
String enddate = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss"); |
|
|
String enddate = DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss"); |
|
|
params.put("startdate",startdate); |
|
|
|
|
|
params.put("enddate",enddate); |
|
|
|
|
|
|
|
|
params.put("startdate", startdate); |
|
|
|
|
|
params.put("enddate", enddate); |
|
|
Map<String, Object> payinfo = wxBillRentMapper.queryPayInfo(params); |
|
|
Map<String, Object> payinfo = wxBillRentMapper.queryPayInfo(params); |
|
|
if (payinfo != null) { |
|
|
if (payinfo != null) { |
|
|
BigDecimal receivepay = (BigDecimal) payinfo.get("receivepay"); |
|
|
BigDecimal receivepay = (BigDecimal) payinfo.get("receivepay"); |
|
|
@@ -609,18 +612,18 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//绑定车牌 |
|
|
//绑定车牌 |
|
|
Map<String,Object> carParams=new HashMap<>(); |
|
|
|
|
|
carParams.put("tenantId",tenantId); |
|
|
|
|
|
carParams.put("startdate",DateUtils.getSystemTime("yyyy-MM-dd 00:00:00")); |
|
|
|
|
|
carParams.put("enddate",DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss")); |
|
|
|
|
|
|
|
|
Map<String, Object> carParams = new HashMap<>(); |
|
|
|
|
|
carParams.put("tenantId", tenantId); |
|
|
|
|
|
carParams.put("startdate", DateUtils.getSystemTime("yyyy-MM-dd 00:00:00")); |
|
|
|
|
|
carParams.put("enddate", DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss")); |
|
|
long todaybindcar = wxCUserCarMapper.queryCarCount(carParams); |
|
|
long todaybindcar = wxCUserCarMapper.queryCarCount(carParams); |
|
|
carParams.put("startdate",yesterday+" 00:00:00"); |
|
|
|
|
|
carParams.put("enddate",yesterday+" 23:59:59"); |
|
|
|
|
|
|
|
|
carParams.put("startdate", yesterday + " 00:00:00"); |
|
|
|
|
|
carParams.put("enddate", yesterday + " 23:59:59"); |
|
|
long yesterdaybindcar = wxCUserCarMapper.queryCarCount(carParams); |
|
|
long yesterdaybindcar = wxCUserCarMapper.queryCarCount(carParams); |
|
|
carParams.put("startdate",lastweek+" 00:00:00"); |
|
|
|
|
|
carParams.put("enddate",lastweek+" 23:59:59"); |
|
|
|
|
|
|
|
|
carParams.put("startdate", lastweek + " 00:00:00"); |
|
|
|
|
|
carParams.put("enddate", lastweek + " 23:59:59"); |
|
|
long lastweekbindcar = wxCUserCarMapper.queryCarCount(carParams); |
|
|
long lastweekbindcar = wxCUserCarMapper.queryCarCount(carParams); |
|
|
datamap.put("todaybindcar",todaybindcar); |
|
|
|
|
|
|
|
|
datamap.put("todaybindcar", todaybindcar); |
|
|
//datamap.put("yesterdaybindcar",yesterdaybindcar); |
|
|
//datamap.put("yesterdaybindcar",yesterdaybindcar); |
|
|
//datamap.put("lastweekbindcar",lastweekbindcar); |
|
|
//datamap.put("lastweekbindcar",lastweekbindcar); |
|
|
|
|
|
|
|
|
@@ -651,57 +654,36 @@ public class DataTowerServiceImpl implements DataTowerService { |
|
|
wxMall.setTenantId(tenantId); |
|
|
wxMall.setTenantId(tenantId); |
|
|
List<WxMall> list = wxMallMapper.findList(wxMall); |
|
|
List<WxMall> list = wxMallMapper.findList(wxMall); |
|
|
wxMall = list.get(0); |
|
|
wxMall = list.get(0); |
|
|
String username = wxMall.getWiwideId(); |
|
|
|
|
|
String authVal = encrypt(wxMall.getWiwideKey()); |
|
|
|
|
|
Map<String, String> params = new HashMap<>(); |
|
|
|
|
|
params.put("username", username); |
|
|
|
|
|
params.put("authVal", authVal); |
|
|
|
|
|
String wiwideUrl = wxMall.getWiwideUrl(); |
|
|
String wiwideUrl = wxMall.getWiwideUrl(); |
|
|
String token = HttpUtil.doPost(wiwideUrl + "/login/auth", params); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> datamap = new HashMap<>(); |
|
|
|
|
|
datamap.put("token", JSONObject.parseObject(token).get("data")); |
|
|
|
|
|
|
|
|
Map<String, Object> datamap = new HashMap<>(2); |
|
|
|
|
|
Date expiredTime = wxMall.getExpiredTime(); |
|
|
|
|
|
String token = wxMall.getToken(); |
|
|
|
|
|
if (token != null && expiredTime != null && expiredTime.after(new Date())) { |
|
|
|
|
|
datamap.put("token", wxMall.getToken()); |
|
|
|
|
|
} else { |
|
|
|
|
|
String data = WiwideUtil.queryToken(wxMall); |
|
|
|
|
|
token = (String) JSONObject.parseObject(data).get("data"); |
|
|
|
|
|
datamap.put("token", token); |
|
|
|
|
|
updateToken(wxMall, token); |
|
|
|
|
|
} |
|
|
datamap.put("url", wiwideUrl); |
|
|
datamap.put("url", wiwideUrl); |
|
|
|
|
|
|
|
|
return datamap; |
|
|
return datamap; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public String encrypt(String key) { |
|
|
|
|
|
String data = System.currentTimeMillis() / 1000 + 30 + ""; |
|
|
|
|
|
String md5 = HashUtil.md5(key); |
|
|
|
|
|
int x = 0; |
|
|
|
|
|
int len = data.length(); |
|
|
|
|
|
int l = md5.length(); |
|
|
|
|
|
char[] datachar = new char[len]; |
|
|
|
|
|
for (int i = 0; i < len; i++) { |
|
|
|
|
|
if (x == l) { |
|
|
|
|
|
x = 0; |
|
|
|
|
|
} |
|
|
|
|
|
datachar[i] = md5.charAt(x); |
|
|
|
|
|
x++; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
StringBuilder chars = new StringBuilder(); |
|
|
|
|
|
for (int i = 0; i < len; i++) { |
|
|
|
|
|
int a = data.charAt(i); |
|
|
|
|
|
int b = (datachar[i] % 256); |
|
|
|
|
|
char v = (char) (a + b); |
|
|
|
|
|
chars.append(v); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
byte[] bytes = null; |
|
|
|
|
|
|
|
|
private void updateToken(WxMall wxMall, String token) { |
|
|
|
|
|
Calendar instance = Calendar.getInstance(); |
|
|
|
|
|
instance.add(Calendar.MINUTE, 45); |
|
|
|
|
|
WxMall record = new WxMall(); |
|
|
|
|
|
record.setId(wxMall.getId()); |
|
|
|
|
|
record.setToken(token); |
|
|
|
|
|
record.setExpiredTime(instance.getTime()); |
|
|
try { |
|
|
try { |
|
|
bytes = chars.toString().getBytes("ISO-8859-1"); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
|
|
|
wxMallMapper.updateToken(record); |
|
|
|
|
|
} catch (MallinkException e) { |
|
|
|
|
|
logger.info("更新TOKEN失败:商场" + wxMall.getName()); |
|
|
} |
|
|
} |
|
|
return Base64.encodeToString(bytes); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public TreeMap getTimeTreeMap() { |
|
|
public TreeMap getTimeTreeMap() { |
|
|
TreeMap<Object, Object> timemap = new TreeMap(); |
|
|
TreeMap<Object, Object> timemap = new TreeMap(); |
|
|
timemap.put("06:00", 0); |
|
|
timemap.put("06:00", 0); |
|
|
|