From f1cc29b2f08ea4d4e5e019fd2e6d9b0234fbaee7 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Mon, 19 Nov 2018 15:34:02 +0800 Subject: [PATCH] =?UTF-8?q?[Wiwide=E4=BF=A1=E6=81=AFmove=E5=88=B0=E5=8F=A6?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E8=A1=A8][=E5=AE=A2=E6=B5=81]:=E8=BF=81?= =?UTF-8?q?=E7=A7=BBwiwide=E7=9A=84=E4=BF=A1=E6=81=AF=E5=88=B0=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E8=A1=A8wx=5Fwiwide=5Finfo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedule/WiwideTokenSchedule.java | 24 +- .../java/com/iformall/domain/po/WxMall.java | 65 ----- .../com/iformall/domain/po/WxWiWideInfo.java | 165 +++++++++++++ .../iformall/mapper/WxWiwideInfoMapper.java | 15 ++ .../service/impl/DataTowerServiceImpl.java | 50 ++-- .../java/com/iformall/utils/WiwideUtil.java | 15 +- .../main/resources/mapper/WxMallMapper.xml | 231 ++++++++---------- .../resources/mapper/WxWiwideInfoMapper.xml | 54 ++++ 8 files changed, 378 insertions(+), 241 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxWiwideInfoMapper.java create mode 100644 mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/WiwideTokenSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/WiwideTokenSchedule.java index d23814eb3..6b8905c41 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/WiwideTokenSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/WiwideTokenSchedule.java @@ -1,9 +1,9 @@ package com.iformall.schedule; import com.alibaba.fastjson.JSONObject; -import com.iformall.domain.po.WxMall; +import com.iformall.domain.po.WxWiWideInfo; import com.iformall.exception.MallinkException; -import com.iformall.mapper.WxMallMapper; +import com.iformall.mapper.WxWiwideInfoMapper; import com.iformall.utils.WiwideUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,31 +23,31 @@ public class WiwideTokenSchedule { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired - private WxMallMapper wxMallMapper; + private WxWiwideInfoMapper wxWiwideInfoMapper; @Scheduled(cron = "0 0/45 * * * ?") public void requestToken() { - List list = wxMallMapper.findList(null); + List list = wxWiwideInfoMapper.findList(null); for (int i = 0, size = list.size(); i < size; i++) { - WxMall wxMall = list.get(i); - String data = WiwideUtil.queryToken(wxMall); + WxWiWideInfo wxWiWideInfo = list.get(i); + String data = WiwideUtil.queryToken(wxWiWideInfo); String token = (String) JSONObject.parseObject(data).get("data"); - updateToken(wxMall, token); + updateToken(wxWiWideInfo, token); } } - private void updateToken(WxMall wxMall, String token) { + private void updateToken(WxWiWideInfo wxWiWideInfo, String token) { Calendar instance = Calendar.getInstance(); instance.add(Calendar.MINUTE, 45); - WxMall record = new WxMall(); - record.setId(wxMall.getId()); + WxWiWideInfo record = new WxWiWideInfo(); + record.setId(wxWiWideInfo.getId()); record.setToken(token); record.setExpiredTime(instance.getTime()); try { - wxMallMapper.updateToken(record); + wxWiwideInfoMapper.updateToken(record); } catch (MallinkException e) { - logger.info("更新TOKEN失败:商场" + wxMall.getName()); + logger.info("更新TOKEN失败:商场" + wxWiWideInfo.getTenantId()); } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java index 4f3939a78..8f925d527 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMall.java @@ -63,9 +63,6 @@ public class WxMall implements Serializable { /*地址**/ @io.swagger.annotations.ApiModelProperty(value="地址",name="addr") private String addr; - /*迈外迪id**/ - @io.swagger.annotations.ApiModelProperty(value="迈外迪id",name="wiwideId") - private String wiwideId; /*总面积**/ @io.swagger.annotations.ApiModelProperty(value="总面积",name="totalArea") private BigDecimal totalArea; @@ -78,9 +75,6 @@ public class WxMall implements Serializable { /*车位数**/ @io.swagger.annotations.ApiModelProperty(value="车位数",name="parkPlaceNumber") private Integer parkPlaceNumber; - /*支付ID,参看wx_pay_account**/ - @io.swagger.annotations.ApiModelProperty(value="支付ID,参看wx_pay_account",name="payId") - private Long payId; @io.swagger.annotations.ApiModelProperty(value="电话",name="servicePhone") private String servicePhone; @io.swagger.annotations.ApiModelProperty(value="商场图标",name="imgUrl") @@ -88,22 +82,9 @@ public class WxMall implements Serializable { @io.swagger.annotations.ApiModelProperty(value="商场图标",name="imgUrlH") private String imgUrlH; - @io.swagger.annotations.ApiModelProperty(value="迈外迪key",name="wiwideKey") - private String wiwideKey; - - @io.swagger.annotations.ApiModelProperty(value="迈外迪url",name="wiwideUrl") - private String wiwideUrl; - @io.swagger.annotations.ApiModelProperty(value="小程序提示",name="weapNote") private String weapNote; - @io.swagger.annotations.ApiModelProperty(value="token",name="token") - private String token; - - @io.swagger.annotations.ApiModelProperty(value="expiredTime",name="expiredTime") - private Date expiredTime; - - public String getTenantId() { return tenantId; } @@ -146,12 +127,6 @@ public class WxMall implements Serializable { public void setAddr(String _addr) { addr = _addr; } - public String getWiwideId() { - return wiwideId; - } - public void setWiwideId(String _wiwideId) { - wiwideId = _wiwideId; - } public BigDecimal getTotalArea() { return totalArea; } @@ -176,12 +151,6 @@ public class WxMall implements Serializable { public void setParkPlaceNumber(Integer _parkPlaceNumber) { parkPlaceNumber = _parkPlaceNumber; } - public Long getPayId() { - return payId; - } - public void setPayId(Long _payId) { - payId = _payId; - } public String getServicePhone() { return servicePhone; @@ -207,22 +176,6 @@ public class WxMall implements Serializable { this.imgUrlH = imgUrlH; } - public String getWiwideKey() { - return wiwideKey; - } - - public void setWiwideKey(String wiwideKey) { - this.wiwideKey = wiwideKey; - } - - public String getWiwideUrl() { - return wiwideUrl; - } - - public void setWiwideUrl(String wiwideUrl) { - this.wiwideUrl = wiwideUrl; - } - public String getWeapNote() { return weapNote; } @@ -231,22 +184,6 @@ public class WxMall implements Serializable { this.weapNote = weapNote; } - public String getToken() { - return token; - } - - public void setToken(String token) { - this.token = token; - } - - public Date getExpiredTime() { - return expiredTime; - } - - public void setExpiredTime(Date expiredTime) { - this.expiredTime = expiredTime; - } - public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") @@ -257,12 +194,10 @@ public class WxMall implements Serializable { ,Province_ASC("`province` ASC"),Province_DESC("`province` DESC") ,City_ASC("`city` ASC"),City_DESC("`city` DESC") ,Addr_ASC("`addr` ASC"),Addr_DESC("`addr` DESC") - ,WiwideId_ASC("`wiwide_id` ASC"),WiwideId_DESC("`wiwide_id` DESC") ,TotalArea_ASC("`total_area` ASC"),TotalArea_DESC("`total_area` DESC") ,OperatingArea_ASC("`operating_area` ASC"),OperatingArea_DESC("`operating_area` DESC") ,ParkArea_ASC("`parkArea` ASC"),ParkArea_DESC("`parkArea` DESC") ,ParkPlaceNumber_ASC("`park_place_number` ASC"),ParkPlaceNumber_DESC("`park_place_number` DESC") - ,PayId_ASC("`pay_id` ASC"),PayId_DESC("`pay_id` DESC") ,ServicePhone_ASC("`service_phone` ASC"),ServicePhone_DESC("`service_phone` DESC") ,ImgUrl_ASC("`img_url` ASC"),ImgUrl_DESC("`img_url` DESC") ,ImgUrlH_ASC("`img_url_h` ASC"),ImgUrlH_DESC("`img_url_h` DESC") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java new file mode 100644 index 000000000..b073fa387 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java @@ -0,0 +1,165 @@ +package com.iformall.domain.po; + +import javax.persistence.Id; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Table(name = "wx_wiwide_info") +public class WxWiWideInfo implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + protected Long id; + + @Transient + protected List ids; + @Transient + protected String sortColumns; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getSortColumns() { + return sortColumns; + } + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + + /**租户ID**/ + @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") + private String tenantId; + /**迈外迪id**/ + @io.swagger.annotations.ApiModelProperty(value="迈外迪id",name="wiwideId") + private String wiwideId; + + @io.swagger.annotations.ApiModelProperty(value="迈外迪key",name="wiwideKey") + private String wiwideKey; + + @io.swagger.annotations.ApiModelProperty(value="迈外迪url",name="wiwideUrl") + private String wiwideUrl; + + @io.swagger.annotations.ApiModelProperty(value="token",name="token") + private String token; + + @io.swagger.annotations.ApiModelProperty(value="expiredTime",name="expiredTime") + private Date expiredTime; + + + public String getTenantId() { + return tenantId; + } + public void setTenantId(String _tenantId) { + tenantId = _tenantId; + } + public String getWiwideId() { + return wiwideId; + } + public void setWiwideId(String _wiwideId) { + wiwideId = _wiwideId; + } + + public String getWiwideKey() { + return wiwideKey; + } + + public void setWiwideKey(String wiwideKey) { + this.wiwideKey = wiwideKey; + } + + public String getWiwideUrl() { + return wiwideUrl; + } + + public void setWiwideUrl(String wiwideUrl) { + this.wiwideUrl = wiwideUrl; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + public Date getExpiredTime() { + return expiredTime; + } + + public void setExpiredTime(Date expiredTime) { + this.expiredTime = expiredTime; + } + + public static enum Field + { + Id_ASC("`id` ASC"),Id_DESC("`id` DESC") + ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") + ,WiwideId_ASC("`wiwide_id` ASC"),WiwideId_DESC("`wiwide_id` DESC") + ; + private String value; + Field(String value){ + this.value = value; + } + public String getValue() { + return value; + } + public void setCol(String value) { + this.value = value; + } + @Override + public String toString() { + return this.getValue(); + } + } + + public void setSortColumns(WxWiWideInfo.Field... fields) + { + if (fields == null || fields.length == 0) { + return; + } + for (int k = 0; k < fields.length; k++) { + if (fields[k] == null) { + return; + } + } + StringBuilder sb = new StringBuilder(fields[0].toString()); + for (int k = 1; k < fields.length; k++) { + sb.append(","); + sb.append(fields[k].toString()); + } + + this.sortColumns = sb.toString(); + } + + public void setSortColumns(String sortColumns) + { + if (sortColumns == null || "".equals(sortColumns.trim())) { + return; + } + if (sortColumns.contains(",")) { + String[] cols = sortColumns.split(","); + List fList = new java.util.ArrayList(); + for (int k = 0; k < cols.length; k++) { + fList.add(Field.valueOf(cols[k])); + } + this.setSortColumns(fList.toArray(new Field[fList.size()])); + } else { + this.setSortColumns(Field.valueOf(sortColumns)); + } + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxWiwideInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxWiwideInfoMapper.java new file mode 100644 index 000000000..81966fff1 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxWiwideInfoMapper.java @@ -0,0 +1,15 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxWiWideInfo; + +import java.util.List; + +public interface WxWiwideInfoMapper extends CommonMapper { + + List findList(WxWiWideInfo wxWiWideInfo); + + + void updateToken(WxWiWideInfo wxWiWideInfo); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java index 8c79305fc..641d9770e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -9,13 +9,9 @@ import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.DataTowerService; -import com.iformall.service.WxRentContractService; import com.iformall.utils.DateUtils; -import com.iformall.utils.HashUtil; -import com.iformall.utils.HttpUtil; import com.iformall.utils.WiwideUtil; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.codec.Base64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -47,7 +43,7 @@ public class DataTowerServiceImpl implements DataTowerService { WxCarCmdLogMapper wxCarCmdLogMapper; @Autowired - WxMallMapper wxMallMapper; + WxWiwideInfoMapper wxWiwideInfoMapper; @Autowired WxBillRentMapper wxBillRentMapper; @@ -622,41 +618,41 @@ public class DataTowerServiceImpl implements DataTowerService { public Map queryCustomer(String tenantId) { - WxMall wxMall = new WxMall(); - wxMall.setTenantId(tenantId); - List list = wxMallMapper.findList(wxMall); - wxMall = list.get(0); - String wiwideUrl = wxMall.getWiwideUrl(); + WxWiWideInfo wiWideInfo = new WxWiWideInfo(); + wiWideInfo.setTenantId(tenantId); + List list = wxWiwideInfoMapper.findList(wiWideInfo); + wiWideInfo = list.get(0); + String wiwideUrl = wiWideInfo.getWiwideUrl(); Map datamap = new HashMap<>(2); - datamap.put("token", getWiwideToken(wxMall)); + datamap.put("token", getWiwideToken(wiWideInfo)); datamap.put("url", wiwideUrl); return datamap; } - private void updateToken(WxMall wxMall, String token) { + private void updateToken(WxWiWideInfo wiWideInfo, String token) { Calendar instance = Calendar.getInstance(); instance.add(Calendar.MINUTE, 45); - WxMall record = new WxMall(); - record.setId(wxMall.getId()); + WxWiWideInfo record = new WxWiWideInfo(); + record.setId(wiWideInfo.getId()); record.setToken(token); record.setExpiredTime(instance.getTime()); try { - wxMallMapper.updateToken(record); + wxWiwideInfoMapper.updateToken(record); } catch (MallinkException e) { - logger.info("更新TOKEN失败:商场" + wxMall.getName()); + logger.info("更新TOKEN失败:商场" + wiWideInfo.getTenantId()); } } - private String getWiwideToken(WxMall wxMall) { - Date expiredTime = wxMall.getExpiredTime(); - String token = wxMall.getToken(); + private String getWiwideToken(WxWiWideInfo wiWideInfo) { + Date expiredTime = wiWideInfo.getExpiredTime(); + String token = wiWideInfo.getToken(); if (StringUtils.isEmpty(token) || expiredTime == null || expiredTime.before(new Date())) { - String data = WiwideUtil.queryToken(wxMall); + String data = WiwideUtil.queryToken(wiWideInfo); token = (String) JSONObject.parseObject(data).get("data"); - updateToken(wxMall, token); + updateToken(wiWideInfo, token); } return token; } @@ -664,14 +660,14 @@ public class DataTowerServiceImpl implements DataTowerService { @Override public ResultData queryCustomerData(String tenantId, Map params) { - WxMall wxMall = new WxMall(); - wxMall.setTenantId(tenantId); - List list = wxMallMapper.findList(wxMall); - wxMall = list.get(0); - if (wxMall == null) + WxWiWideInfo wiWideInfo = new WxWiWideInfo(); + wiWideInfo.setTenantId(tenantId); + List list = wxWiwideInfoMapper.findList(wiWideInfo); + wiWideInfo = list.get(0); + if (wiWideInfo == null) return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND); - String res = WiwideUtil.queryData(wxMall, getWiwideToken(wxMall), params); + String res = WiwideUtil.queryData(wiWideInfo, getWiwideToken(wiWideInfo), params); JSONObject result = JSONObject.parseObject(res); diff --git a/mallinkService/src/main/java/com/iformall/utils/WiwideUtil.java b/mallinkService/src/main/java/com/iformall/utils/WiwideUtil.java index 733fbe886..db620e2e0 100644 --- a/mallinkService/src/main/java/com/iformall/utils/WiwideUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/WiwideUtil.java @@ -3,6 +3,7 @@ package com.iformall.utils; import com.alibaba.fastjson.JSONObject; import com.iformall.common.ErrorCode; import com.iformall.domain.po.WxMall; +import com.iformall.domain.po.WxWiWideInfo; import com.iformall.exception.MallinkException; import org.apache.shiro.codec.Base64; import org.slf4j.Logger; @@ -130,22 +131,22 @@ public class WiwideUtil { } - public static String queryToken(WxMall wxMall) { + public static String queryToken(WxWiWideInfo wiWideInfo) { logger.info("获取TOKEN"); - String username = wxMall.getWiwideId(); - String authVal = WiwideUtil.encrypt(wxMall.getWiwideKey()); + String username = wiWideInfo.getWiwideId(); + String authVal = WiwideUtil.encrypt(wiWideInfo.getWiwideKey()); Map params = new HashMap<>(); params.put("username", username); params.put("authVal", authVal); - String wiwideUrl = wxMall.getWiwideUrl(); + String wiwideUrl = wiWideInfo.getWiwideUrl(); String token = HttpUtil.doPost(wiwideUrl + "/login/auth", params); - logger.info("商场:" + wxMall.getName() + ",返回TOKEN" + token); + logger.info("商场:" + wiWideInfo.getTenantId() + ",返回TOKEN" + token); return token; } - public static String queryData(WxMall wxMall, String token, Map params) { + public static String queryData(WxWiWideInfo wiWideInfo, String token, Map params) { - String data = HttpUtil.doPostWiwide(wxMall.getWiwideUrl() + "/reports/data", token, params); + String data = HttpUtil.doPostWiwide(wiWideInfo.getWiwideUrl() + "/reports/data", token, params); return data; } } diff --git a/mallinkService/src/main/resources/mapper/WxMallMapper.xml b/mallinkService/src/main/resources/mapper/WxMallMapper.xml index 7b0cedd82..bf8959086 100644 --- a/mallinkService/src/main/resources/mapper/WxMallMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMallMapper.xml @@ -1,139 +1,110 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - `id`,`tenant_id`,`name`,`group`,`country`,`province`,`city`,`addr`,`wiwide_id`, + + + + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`name`,`group`,`country`,`province`,`city`,`addr`, `total_area`,`operating_area`,`park_area`,`park_place_number`,`pay_id`,`service_phone`, - `img_url`,`img_url_h`,`wiwide_key`,`wiwide_url`, `weap_note`,`token`,`expired_time` + `img_url`,`img_url_h`, `weap_note` - - where 1 = 1 - - - and `id` = #{id} - - - - - and `tenant_id` = #{tenantId} - - - - - and `name` like concat('%', #{name},'%') - - - - - and `group` like concat('%', #{group},'%') - - - - - and `country` like concat('%', #{country},'%') - - - - - and `province` like concat('%', #{province},'%') - - - - - and `city` like concat('%', #{city},'%') - - - - - and `addr` like concat('%', #{addr},'%') - - - - - and `wiwide_id` like concat('%', #{wiwideId},'%') - - - - - and `total_area` = #{totalArea} - - - - - and `operating_area` = #{operatingArea} - - - - - and `park_area` = #{parkArea} - - - - - and `park_place_number` = #{parkPlaceNumber} - - - - - and `pay_id` = #{payId} - - - - and `service_phone` = #{servicePhone} - - - - and `img_url` = #{imgUrl} - - - and `img_ur_h` = #{imgUrlH} - - - and id in - - #{idItem} - - - order by ${sortColumns} - - - - - + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + + and `name` like concat('%', #{name},'%') + + + + and `group` like concat('%', #{group},'%') + + + + and `country` like concat('%', #{country},'%') + + + + and `province` like concat('%', #{province},'%') + + + + and `city` like concat('%', #{city},'%') + + + + and `addr` like concat('%', #{addr},'%') + + + + and `total_area` = #{totalArea} + + + + and `operating_area` = #{operatingArea} + + + + and `park_area` = #{parkArea} + + + + and `park_place_number` = #{parkPlaceNumber} + + + and `service_phone` = #{servicePhone} + + + and `img_url` = #{imgUrl} + + + and `img_ur_h` = #{imgUrlH} + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + update wx_mall set token=#{token},expired_time=#{expiredTime} where id=#{id} - - - - + + diff --git a/mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml new file mode 100644 index 000000000..5e1b36d86 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + `id`,`tenant_id`,`wiwide_id`,`wiwide_key`,`wiwide_url`, `token`,`expired_time` + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + + and `wiwide_id` like concat('%', #{wiwideId},'%') + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + update wx_wiwide_info set token=#{token},expired_time=#{expiredTime} where id=#{id} + + + +