From fbd6db34171d517d8cc6acc3a0650655cb4822ae Mon Sep 17 00:00:00 2001 From: gongbiao Date: Tue, 2 Apr 2019 14:39:25 +0800 Subject: [PATCH 01/10] =?UTF-8?q?[=E7=89=A9=E4=B8=9A=E8=B4=A6=E5=8D=95][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E5=95=86=E9=93=BA=E4=BF=A1=E6=81=AF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/domain/po/WxBillDeposit.java | 12 ++++++++++++ .../java/com/iformall/domain/po/WxBillProperty.java | 11 +++++++++++ .../iformall/domain/po/WxBillPropertyDeposit.java | 11 +++++++++++ .../service/impl/WxRentContractServiceImpl.java | 2 +- .../resources/mapper/WxBillPropertyDepositMapper.xml | 6 ++++-- .../main/resources/mapper/WxBillPropertyMapper.xml | 5 +++-- 6 files changed, 42 insertions(+), 5 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java index 652d0ee9f..ae9846d5a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillDeposit.java @@ -104,6 +104,18 @@ public class WxBillDeposit implements Serializable { @io.swagger.annotations.ApiModelProperty(value = "退还金额", name = "returnPrice") private Integer returnPrice; + @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") + private String shopInfo; + + public String getShopInfo() { + return shopInfo; + } + + public void setShopInfo(String shopInfo) { + this.shopInfo = shopInfo; + } + + public Date getStarttime() { return starttime; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java index 6de3ee128..3bf185759 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillProperty.java @@ -119,6 +119,17 @@ public class WxBillProperty implements Serializable { @io.swagger.annotations.ApiModelProperty(value = "预览账单0否1是", name = "isPreview") private Integer isPreview; + @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") + private String shopInfo; + + public String getShopInfo() { + return shopInfo; + } + + public void setShopInfo(String shopInfo) { + this.shopInfo = shopInfo; + } + public Integer getIsPreview() { return isPreview; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java index 5f0540a43..7dc143b2e 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillPropertyDeposit.java @@ -104,6 +104,17 @@ public class WxBillPropertyDeposit implements Serializable { @io.swagger.annotations.ApiModelProperty(value = "退还金额", name = "returnPrice") private Integer returnPrice; + @io.swagger.annotations.ApiModelProperty(value = "商铺信息", name = "shopInfo") + private String shopInfo; + + public String getShopInfo() { + return shopInfo; + } + + public void setShopInfo(String shopInfo) { + this.shopInfo = shopInfo; + } + public Date getStarttime() { return starttime; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index c80e08712..fbae7c59b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -450,7 +450,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); shopInfo.put(rentInfoObject.getString("shopNumber"), rentInfoObject.get("deposit")); } - + wxBillDeposit.setShopInfo(JSONObject.toJSONString(shopInfo)); } try { wxBillDepositMapper.insertSelective(wxBillDeposit); diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyDepositMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyDepositMapper.xml index 1885f39a5..a657487f4 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyDepositMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyDepositMapper.xml @@ -21,13 +21,14 @@ + `id`,`property_contract_id`,`receive_pay`,`pay`,`receive_date`, `pay_date`,`createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`, - `merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`,`return_price` + `merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`,`return_price`,`shop_info` @@ -69,7 +70,8 @@ select br.`id`,br.`receive_pay` receivePay,br.`pay`,br.`receive_date` receiveDate, br.`pay_date` payDate,br.`createtime`,br.`expired_day` expiredDay,br.`owe`,br.`status`, br.`need_pay` needPay,m.`name` merchantName,s.shop_number shopNumber,br.`updatetime`, - br.`merchant_id` merchantId,br.`rent_shop_type` rentShopType,br.`return_price` returnPrice + br.`merchant_id` merchantId,br.`rent_shop_type` rentShopType,br.`return_price` returnPrice,br.`shop_info` + shopInfo from wx_bill_property_deposit br left join wx_merchant m on br.merchant_id=m.id left join wx_shop s on br.shop_id=s.id diff --git a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml index 01deb3916..843c72541 100644 --- a/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillPropertyMapper.xml @@ -26,6 +26,7 @@ + @@ -33,7 +34,7 @@ `id`,`property_contract_id`,`receive_pay`,`pay`,`receive_date`,`pay_date`, `createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`, `merchant_id`,`user_id`,`shop_id`,`updatetime`,`rent_shop_type`, - `revenue`,`late_pay_ratio`,`late_pay_time`,`late_pay_price`,`period`,`is_preview` + `revenue`,`late_pay_ratio`,`late_pay_time`,`late_pay_price`,`period`,`is_preview`,`shop_info` @@ -84,7 +85,7 @@ else FLOOR(DATEDIFF(now(),br.late_pay_time)*br.late_pay_ratio/10000*br.owe) end latePayPrice, (select max(period) from wx_bill_property where property_contract_id=br.property_contract_id) - allPeriod,d.`status` depositStatus + allPeriod,d.`status` depositStatus,br.`shop_info` shopInfo from wx_bill_property br left join wx_merchant m on br.merchant_id=m.id left join wx_shop s on br.shop_id=s.id left join wx_bill_property_deposit d on br.property_contract_id=d.property_contract_id From 7bc08b8ec2655b11cf8bc14f901ab5b4589fac80 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Tue, 2 Apr 2019 14:40:31 +0800 Subject: [PATCH 02/10] =?UTF-8?q?[=E6=95=B0=E6=8D=AE=E6=90=AD=E5=8F=B0][?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0][=E8=AE=BF=E9=97=AE=E8=BF=88=E5=A4=96?= =?UTF-8?q?=E8=BF=AA=E6=8E=A5=E5=8F=A3=E6=97=A5=E5=BF=97]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/service/impl/DataTowerServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) 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 77d4df06f..11897be3a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -752,7 +752,9 @@ public class DataTowerServiceImpl implements DataTowerService { if (cap == null || !cap.stream().anyMatch(c->c.equals(dataType))) { return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND); } + logger.info("迈外迪访问接口参数:" + params); String res = WiwideUtil.queryData(wiWideInfo, getWiwideToken(wiWideInfo), params); + logger.info("迈外迪访问接口结果:" + res); JSONObject result = JSONObject.parseObject(res); if (result == null) return new ResultData(ErrorCode.WIWIDE_INFO_NOT_READY); From af50e2157f6c734695cc34ac6bdeaef657f58303 Mon Sep 17 00:00:00 2001 From: hupeng Date: Tue, 2 Apr 2019 15:35:02 +0800 Subject: [PATCH 03/10] =?UTF-8?q?[=E9=9C=80=E6=B1=82][=E6=96=B0=E5=A2=9E]:?= =?UTF-8?q?=E5=BA=97=E9=93=BA=E5=AF=BC=E5=87=BA=E4=BD=BF=E7=94=A8=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/domain/po/WxShop.java | 14 ++- .../java/com/iformall/domain/vo/WxShopVo.java | 111 ++++++++++++++++++ .../com/iformall/mapper/WxShopMapper.java | 3 +- .../com/iformall/service/ExcelService.java | 2 +- .../service/impl/WxShopServiceImpl.java | 14 ++- .../main/resources/mapper/WxShopMapper.xml | 57 +++++++-- 6 files changed, 189 insertions(+), 12 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxShopVo.java diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxShop.java b/mallinkService/src/main/java/com/iformall/domain/po/WxShop.java index ad768f539..878e050c0 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxShop.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxShop.java @@ -1,5 +1,7 @@ package com.iformall.domain.po; +import cn.afterturn.easypoi.excel.annotation.Excel; + import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; @@ -52,14 +54,22 @@ public class WxShop implements Serializable { /*租户ID**/ @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") private String tenantId; + + @io.swagger.annotations.ApiModelProperty(value = "点位类型", name = "pointType") + @Excel(name="类型",width = 20,orderNum = "1", + replace = {"商铺_null", "固定点位_1", "临时促销点位_2", "宣传点位_3","ATM点位_4","仓库点位_5","其他点位_6"}) + private Integer pointType; /*商铺编号**/ @io.swagger.annotations.ApiModelProperty(value="商铺编号",name="shopNumber") + @Excel(name="商铺号/多径点位号",width = 20,orderNum = "2") private String shopNumber; /*建筑面积**/ @io.swagger.annotations.ApiModelProperty(value="建筑面积",name="buildArea") + @Excel(name="建筑面积(㎡)",width = 20,orderNum = "5") private String buildArea; /*经营面积**/ @io.swagger.annotations.ApiModelProperty(value="经营面积",name="operationArea") + @Excel(name="计租面积(㎡)",width = 20,orderNum = "6") private String operationArea; /*楼座号**/ @io.swagger.annotations.ApiModelProperty(value="楼座号",name="building") @@ -69,6 +79,7 @@ public class WxShop implements Serializable { private Long floor; /*状态(0:未出租, 1:已出租)**/ @io.swagger.annotations.ApiModelProperty(value="状态(0:未出租, 1:已出租)",name="status") + @Excel(name="租赁状态",width = 20,orderNum = "7",replace = {"未出租_0","已出租_1"}) private Integer status; /*店铺相对位置x**/ @io.swagger.annotations.ApiModelProperty(value="店铺相对位置x",name="x") @@ -107,8 +118,7 @@ public class WxShop implements Serializable { @io.swagger.annotations.ApiModelProperty(value = "类型", name = "type") private Integer type; - @io.swagger.annotations.ApiModelProperty(value = "点位类型", name = "pointType") - private Integer pointType; + @io.swagger.annotations.ApiModelProperty(value = "备注", name = "comments") private String comments; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxShopVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxShopVo.java new file mode 100644 index 000000000..50648cdac --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxShopVo.java @@ -0,0 +1,111 @@ +package com.iformall.domain.vo; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import com.iformall.domain.po.WxShop; + + +public class WxShopVo extends WxShop { + private static final long serialVersionUID = 6687964942922444531L; + + + @io.swagger.annotations.ApiModelProperty(value="楼座",name="buildingName") + @Excel(name="楼座",width = 20,orderNum = "3") + private String buildingName; + /**楼层号**/ + @io.swagger.annotations.ApiModelProperty(value="楼层",name="floorName") + @Excel(name="楼层",width = 20,orderNum = "4") + private String floorName; + + + @io.swagger.annotations.ApiModelProperty(value="商户ID",name="merchantId") + private Long merchantId; + + @Excel(name="租赁商户",width = 20,orderNum = "8") + @io.swagger.annotations.ApiModelProperty(value="商户名",name="merchantName") + private String merchantName; + + /*联系方式**/ + @io.swagger.annotations.ApiModelProperty(value="联系方式",name="linkPhone") + @Excel(name="负责人电话",width = 20,orderNum = "12") + private String linkPhone; + + @io.swagger.annotations.ApiModelProperty(value="联系人",name="linkPerson") + @Excel(name="负责人",width = 20,orderNum = "11") + private String linkPerson; + + @io.swagger.annotations.ApiModelProperty(value="品牌",name="brandName") + @Excel(name="品牌",width = 20,orderNum = "10") + private String brandName; + + @io.swagger.annotations.ApiModelProperty(value="经营业态",name="business") + @Excel(name="经营业态",width = 20,orderNum = "9") + private String business; + + public String getBuildingName() { + return buildingName; + } + + public void setBuildingName(String buildingName) { + this.buildingName = buildingName; + } + + public String getFloorName() { + return floorName; + } + + public void setFloorName(String floorName) { + this.floorName = floorName; + } + + public Long getMerchantId() { + return merchantId; + } + + public void setMerchantId(Long merchantId) { + this.merchantId = merchantId; + } + + public String getMerchantName() { + return merchantName; + } + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + @Override + public String getLinkPhone() { + return linkPhone; + } + + @Override + public void setLinkPhone(String linkPhone) { + this.linkPhone = linkPhone; + } + + @Override + public String getLinkPerson() { + return linkPerson; + } + + @Override + public void setLinkPerson(String linkPerson) { + this.linkPerson = linkPerson; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getBusiness() { + return business; + } + + public void setBusiness(String business) { + this.business = business; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java index 630277d27..833f2368a 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java @@ -2,6 +2,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxShop; +import com.iformall.domain.vo.WxShopVo; import java.util.List; import java.util.Map; @@ -26,5 +27,5 @@ public interface WxShopMapper extends CommonMapper { int hasShopNumber(WxShop wxShop); - List> findListWithMerchantMap(WxShop record); + List findListWithMerchantMap(WxShop record); } diff --git a/mallinkService/src/main/java/com/iformall/service/ExcelService.java b/mallinkService/src/main/java/com/iformall/service/ExcelService.java index bf2c5df9b..21563014c 100644 --- a/mallinkService/src/main/java/com/iformall/service/ExcelService.java +++ b/mallinkService/src/main/java/com/iformall/service/ExcelService.java @@ -58,7 +58,7 @@ public class ExcelService { { Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF); if (workbook != null); - downLoadExcel(fileName, response, workbook); + downLoadExcel(fileName, response, workbook); } private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java index 969bbb883..29c6ac051 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java @@ -8,10 +8,12 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.WxMerchantShop; import com.iformall.domain.po.WxShop; +import com.iformall.domain.vo.WxShopVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxMerchantShopMapper; import com.iformall.mapper.WxShopMapper; +import com.iformall.service.ExcelService; import com.iformall.service.WxShopService; import com.iformall.utils.Constant; import com.iformall.utils.DownFileUtil; @@ -41,6 +43,9 @@ public class WxShopServiceImpl implements WxShopService { @Autowired WxMerchantShopMapper wxMerchantShopMapper; + @Autowired + ExcelService excelService; + @Override public PageInfo listAsPage(WxShop record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxShopMapper.findList(record)); @@ -132,6 +137,13 @@ public class WxShopServiceImpl implements WxShopService { return pageInfo; } + public void exportShop(WxShop wxShop, HttpServletRequest request, HttpServletResponse response) { + List list = wxShopMapper.findListWithMerchantMap(wxShop); + String name = EnumRentShopType.SHOP.getCode().equals(wxShop.getType())?"店铺列表":"多经点位列表"; + excelService.exportExcel(list,null, name, WxShopVo.class,name+".xls",response); + } + +/* @Override public void exportShop(WxShop wxShop, HttpServletRequest request, HttpServletResponse response) { List> shopList = wxShopMapper.findListWithMerchantMap(wxShop); @@ -258,6 +270,6 @@ public class WxShopServiceImpl implements WxShopService { e.printStackTrace(); } } - +*/ } diff --git a/mallinkService/src/main/resources/mapper/WxShopMapper.xml b/mallinkService/src/main/resources/mapper/WxShopMapper.xml index f8ab09396..eb7e550b6 100644 --- a/mallinkService/src/main/resources/mapper/WxShopMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxShopMapper.xml @@ -148,6 +148,7 @@ + - + select + s.id,s.shop_number,s.build_area,s.img_url,s.operation_area,s.status,s.manager,s.manager_phone,s.addr,s.email,s.type,s.point_type, + b.building_name,f.floor_name, + m.id merchantId,m.name merchantName,m.link_person,m.link_phone, + brand.name brandName, + bus.title business from wx_shop s left join wx_merchant_shop ms on ms.shop_id=s.id and ms.is_del=0 left join wx_merchant m on ms.merchant_id=m.id left join wx_mall_building b on s.building=b.id From 240203368f0c83998c1442ab8a173daa4fff92f6 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Tue, 2 Apr 2019 15:37:06 +0800 Subject: [PATCH 04/10] =?UTF-8?q?[=E7=89=A9=E4=B8=9A=E5=90=88=E5=90=8C][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E5=95=86=E9=93=BA=E4=BF=A1=E6=81=AF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/po/WxPropertyContract.java | 11 ++ .../impl/WxPropertyContractServiceImpl.java | 103 +++++++++++------- .../mapper/WxPropertyContractMapper.xml | 6 +- 3 files changed, 78 insertions(+), 42 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java index 02f953189..af268d1e6 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPropertyContract.java @@ -175,6 +175,17 @@ public class WxPropertyContract implements Serializable { @io.swagger.annotations.ApiModelProperty(value = "物业预账单列表", name = "previewBillRentList") private List previewBillRentList; + @io.swagger.annotations.ApiModelProperty(value = "租金信息", name = "rentInfo") + private String rentInfo; + + public String getRentInfo() { + return rentInfo; + } + + public void setRentInfo(String rentInfo) { + this.rentInfo = rentInfo; + } + public String getAdjustRatio() { return adjustRatio; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index ebcb677fc..d059bc974 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -1,6 +1,7 @@ package com.iformall.service.impl; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; @@ -390,6 +391,16 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService wxBillDeposit.setUpdatetime(date); wxBillDeposit.setIsDel(EnumDelStatus.NOT_DEL.getCode()); wxBillDeposit.setRentShopType(wxPropertyContract.getRentShopType()); + String rentInfo = wxPropertyContract.getRentInfo(); + Map shopInfo = new HashMap<>(); + if (rentInfo != null) { + JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); + for (int i = 0, size = rentInfoArray.size(); i < size; i++) { + JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); + shopInfo.put(rentInfoObject.getString("shopNumber"), rentInfoObject.get("buildArea")); + } + } + wxBillDeposit.setShopInfo(JSONObject.toJSONString(shopInfo)); try { wxBillPropertyDepositMapper.insertSelective(wxBillDeposit); } catch (Exception e) { @@ -401,6 +412,15 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService public List buildRentMonth(WxMerchant wxMerchant, Long userId, WxPropertyContract wxPropertyContract, int receivePeriod, Integer lease, Date rentalStartDate, Integer price,Integer isPreview) { String adjustRatio = wxPropertyContract.getAdjustRatio(); + String rentInfo = wxPropertyContract.getRentInfo(); + Map shopInfo = new HashMap<>(); + if (rentInfo != null) { + JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); + for (int i = 0, size = rentInfoArray.size(); i < size; i++) { + JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); + shopInfo.put(rentInfoObject.getString("shopNumber"), rentInfoObject.get("buildArea")); + } + } List integers = JSONArray.parseArray(adjustRatio, Integer.class); integers.add(0, 0); int size = integers.size(); @@ -429,7 +449,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService instance.setTime(rentalStartDate); //开始时间 instance.add(Calendar.MONTH, month * i); - Map resultMap = buildRent(leaseArr[i], receivePeriod, priceArr[i], instance.getTime(), Calendar.MONTH, wxPropertyContract, userId, wxMerchant, billcount,isPreview); + Map resultMap = buildRent(leaseArr[i], receivePeriod, priceArr[i], instance.getTime(), Calendar.MONTH, wxPropertyContract, userId, wxMerchant, billcount, isPreview, shopInfo); List billRentList = (List)resultMap.get("billList"); billcount = (Integer)resultMap.get("billcount"); resultList.addAll(billRentList); @@ -437,7 +457,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService return resultList; } - public Map buildRent(int lease, int receivePeriod, int price, Date startdate, int dayType, WxPropertyContract wxPropertyContract, Long userId, WxMerchant wxMerchant, int billcount,Integer isPreview) { + public Map buildRent(int lease, int receivePeriod, int price, Date startdate, int dayType, WxPropertyContract wxPropertyContract, Long userId, WxMerchant wxMerchant, int billcount, Integer isPreview, Map shopInfo) { Map resultMap = new HashedMap(); List resultList = new ArrayList<>(); int extralease = lease % receivePeriod; @@ -446,12 +466,12 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService int index = paycount - 1; final IdWorker idWorker = IdWorker.get(); for (int i = 0; i < paycount; i++) { - WxBillProperty wxBillRent = new WxBillProperty(); - wxBillRent.setIsPreview(isPreview); + WxBillProperty wxBillProperty = new WxBillProperty(); + wxBillProperty.setIsPreview(isPreview); - wxBillRent.setId(idWorker.nextId()); - wxBillRent.setPropertyContractId(wxPropertyContract.getId()); - wxBillRent.setPay(0); + wxBillProperty.setId(idWorker.nextId()); + wxBillProperty.setPropertyContractId(wxPropertyContract.getId()); + wxBillProperty.setPay(0); int needpay = price * receivePeriod; Date date = new Date(); @@ -460,70 +480,73 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService instance.add(dayType, receivePeriod * i); instance.add(Calendar.DAY_OF_MONTH, -1); Date time = instance.getTime(); - wxBillRent.setReceiveDate(time); + wxBillProperty.setReceiveDate(time); //账单开始时间 instance.clear(); - instance.setTime(wxBillRent.getReceiveDate()); + instance.setTime(wxBillProperty.getReceiveDate()); instance.add(Calendar.DAY_OF_MONTH, 1); - wxBillRent.setStarttime(instance.getTime()); + wxBillProperty.setStarttime(instance.getTime()); //账单结束时间 instance.clear(); - instance.setTime(wxBillRent.getStarttime()); + instance.setTime(wxBillProperty.getStarttime()); instance.add(dayType, receivePeriod); instance.add(Calendar.DAY_OF_MONTH, -1); - wxBillRent.setEndtime(instance.getTime()); + wxBillProperty.setEndtime(instance.getTime()); if (extracount > 0 && i == index) { //账单开始时间 instance.clear(); - instance.setTime(wxBillRent.getReceiveDate()); + instance.setTime(wxBillProperty.getReceiveDate()); instance.add(Calendar.DAY_OF_MONTH, 1); - wxBillRent.setStarttime(instance.getTime()); + wxBillProperty.setStarttime(instance.getTime()); //账单结束时间 instance.clear(); - instance.setTime(wxBillRent.getStarttime()); + instance.setTime(wxBillProperty.getStarttime()); instance.add(dayType, extralease); instance.add(Calendar.DAY_OF_MONTH, -1); - wxBillRent.setEndtime(instance.getTime()); + wxBillProperty.setEndtime(instance.getTime()); needpay = price * extralease; } - wxBillRent.setNeedPay(needpay); - wxBillRent.setOwe(needpay); - wxBillRent.setReceivePay(needpay); + wxBillProperty.setNeedPay(needpay); + wxBillProperty.setOwe(needpay); + wxBillProperty.setReceivePay(needpay); //截止收租日在当前时间之前 - if (wxBillRent.getReceiveDate().before(date)) { + if (wxBillProperty.getReceiveDate().before(date)) { long day = (time.getTime() - date.getTime()) / (24 * 60 * 60 * 1000); - wxBillRent.setStatus(EnumBillRentStatus.NOT_PAID.getCode()); - wxBillRent.setExpiredDay(day); + wxBillProperty.setStatus(EnumBillRentStatus.NOT_PAID.getCode()); + wxBillProperty.setExpiredDay(day); } else {//截止收租日在当前时间之后 Calendar now = Calendar.getInstance(); now.add(dayType, receivePeriod); Date currenttime = now.getTime(); //当前日期加上周期后小于截止收租日就是没有到期,否则当前待缴 - if (currenttime.before(wxBillRent.getReceiveDate())) { - wxBillRent.setStatus(EnumBillRentStatus.NOT_EXPIRED.getCode()); - wxBillRent.setExpiredDay(0L); + if (currenttime.before(wxBillProperty.getReceiveDate())) { + wxBillProperty.setStatus(EnumBillRentStatus.NOT_EXPIRED.getCode()); + wxBillProperty.setExpiredDay(0L); } else { - wxBillRent.setStatus(EnumBillRentStatus.WAIT_PAY.getCode()); - wxBillRent.setExpiredDay(0L); + wxBillProperty.setStatus(EnumBillRentStatus.WAIT_PAY.getCode()); + wxBillProperty.setExpiredDay(0L); } } - wxBillRent.setTenantId(wxMerchant.getTenantId()); - wxBillRent.setIsDel(0); - wxBillRent.setMerchantId(wxMerchant.getId()); - wxBillRent.setUserId(userId); - wxBillRent.setShopId(wxPropertyContract.getShopId()); - wxBillRent.setCreatetime(date); - wxBillRent.setUpdatetime(date); - wxBillRent.setIsDel(EnumDelStatus.NOT_DEL.getCode()); - wxBillRent.setRentShopType(wxPropertyContract.getRentShopType()); - wxBillRent.setPeriod(++billcount); + wxBillProperty.setTenantId(wxMerchant.getTenantId()); + wxBillProperty.setIsDel(0); + wxBillProperty.setMerchantId(wxMerchant.getId()); + wxBillProperty.setUserId(userId); + wxBillProperty.setShopId(wxPropertyContract.getShopId()); + wxBillProperty.setCreatetime(date); + wxBillProperty.setUpdatetime(date); + wxBillProperty.setIsDel(EnumDelStatus.NOT_DEL.getCode()); + wxBillProperty.setRentShopType(wxPropertyContract.getRentShopType()); + wxBillProperty.setPeriod(++billcount); + if (shopInfo != null) { + wxBillProperty.setShopInfo(JSONObject.toJSONString(shopInfo)); + } try { - wxBillPropertyMapper.insertSelective(wxBillRent); - resultList.add(wxBillRent); + wxBillPropertyMapper.insertSelective(wxBillProperty); + resultList.add(wxBillProperty); } catch (Exception e) { logger.error("添加租赁账单失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); @@ -568,7 +591,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService result = buildRentMonth(wxMerchant, userId, propertyContract, receivePeriod, lease, rentalStartDate, price,isPreview); } else { //按日计租 - Map resultMap = buildRent(lease, receivePeriod, price, rentalStartDate, Calendar.DAY_OF_MONTH, propertyContract, userId, wxMerchant, 0,isPreview); + Map resultMap = buildRent(lease, receivePeriod, price, rentalStartDate, Calendar.DAY_OF_MONTH, propertyContract, userId, wxMerchant, 0, isPreview, null); result = (List)resultMap.get("billList"); } } diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index 95765b823..3567fd561 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -36,6 +36,7 @@ + @@ -45,7 +46,7 @@ `deposit`,`pay_date`,`is_del`,`merchant_name`,`brand`,`business_id`, `shop_type`,`shop_id`,`updatetime`,`createtime`,`rent_area`, `link_person`,`link_phone`,`pay_account`,`filename`,`lease`,`rent_contract_id`, - `start_date`,`end_date`,`apply_status`,`adjust_period`,`business_type`,adjust_ratio + `start_date`,`end_date`,`apply_status`,`adjust_period`,`business_type`,adjust_ratio,`rent_info` @@ -104,7 +105,8 @@ f.floor_name floorName,b.building_name buildingName,receive_period receivePeriod, rc.lease,rc.filepath,rc.filename,rc.pay_account payAccount,rc.sign_date signDate, start_date startDate,end_date endDate,rc.rent_contract_id rentContractId,br.`name` brandName, - s.addr,rc.apply_status applyStatus,rc.adjust_period adjustPeriod,rc.business_type businessType,rc.adjust_ratio adjustRatio + s.addr,rc.apply_status applyStatus,rc.adjust_period adjustPeriod,rc.business_type businessType, + rc.adjust_ratio adjustRatio,rc.rent_info rentInfo from wx_property_contract rc left join wx_shop s on rc.shop_id=s.id left join wx_mall_floor f on s.floor=f.id From 74e80ae3c927320d1d880cd3d4c110e2f723b8ca Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 2 Apr 2019 15:42:29 +0800 Subject: [PATCH 05/10] =?UTF-8?q?[=E5=90=88=E5=90=8C][=E6=96=B0=E5=A2=9E]:?= =?UTF-8?q?=E5=90=88=E5=90=8C=E6=94=AF=E6=8C=81=E5=A4=9A=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0901__ADD_RENT_FILES.sql => V201904012109__ADD_RENT_FILES.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mallinkAdmin/src/main/resources/db/migration/{V20190401210901__ADD_RENT_FILES.sql => V201904012109__ADD_RENT_FILES.sql} (100%) diff --git a/mallinkAdmin/src/main/resources/db/migration/V20190401210901__ADD_RENT_FILES.sql b/mallinkAdmin/src/main/resources/db/migration/V201904012109__ADD_RENT_FILES.sql similarity index 100% rename from mallinkAdmin/src/main/resources/db/migration/V20190401210901__ADD_RENT_FILES.sql rename to mallinkAdmin/src/main/resources/db/migration/V201904012109__ADD_RENT_FILES.sql From 95300c814e014627fad6f6778a078cdce8d26539 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Tue, 2 Apr 2019 15:46:23 +0800 Subject: [PATCH 06/10] =?UTF-8?q?[SQL=E6=96=87=E4=BB=B6][=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0][=E5=90=88=E5=90=8C=E5=8F=8A=E8=B4=A6=E5=8D=95?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=AD=97=E6=AE=B5]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V20190401540__ADD_RENT_BILL_FILES.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V20190401540__ADD_RENT_BILL_FILES.sql diff --git a/mallinkAdmin/src/main/resources/db/migration/V20190401540__ADD_RENT_BILL_FILES.sql b/mallinkAdmin/src/main/resources/db/migration/V20190401540__ADD_RENT_BILL_FILES.sql new file mode 100644 index 000000000..b7a97cffd --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V20190401540__ADD_RENT_BILL_FILES.sql @@ -0,0 +1,17 @@ +ALTER TABLE `wx_rent_contract` +ADD COLUMN `rent_info` JSON NULL COMMENT '商铺信息'; + +ALTER TABLE `wx_property_contract` +ADD COLUMN `rent_info` JSON NULL COMMENT '商铺信息'; + +ALTER TABLE `wx_bill_rent` +ADD COLUMN `shop_info` JSON NULL COMMENT '商铺信息'; + +ALTER TABLE `wx_bill_rent_deposit` +ADD COLUMN `shop_info` JSON NULL COMMENT '商铺信息'; + +ALTER TABLE `wx_bill_property` +ADD COLUMN `shop_info` JSON NULL COMMENT '商铺信息'; + +ALTER TABLE `wx_bill_property_deposit` +ADD COLUMN `shop_info` JSON NULL COMMENT '商铺信息'; \ No newline at end of file From 59b5202fcf86bb4b089b221d9bee965ec40895bf Mon Sep 17 00:00:00 2001 From: gongbiao Date: Tue, 2 Apr 2019 15:49:54 +0800 Subject: [PATCH 07/10] =?UTF-8?q?[SQL=E6=96=87=E4=BB=B6][=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0][=E5=90=88=E5=90=8C=E5=8F=8A=E8=B4=A6=E5=8D=95?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=AD=97=E6=AE=B5]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...RENT_BILL_FILES.sql => V201904021540__ADD_RENT_BILL_FILES.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mallinkAdmin/src/main/resources/db/migration/{V20190401540__ADD_RENT_BILL_FILES.sql => V201904021540__ADD_RENT_BILL_FILES.sql} (100%) diff --git a/mallinkAdmin/src/main/resources/db/migration/V20190401540__ADD_RENT_BILL_FILES.sql b/mallinkAdmin/src/main/resources/db/migration/V201904021540__ADD_RENT_BILL_FILES.sql similarity index 100% rename from mallinkAdmin/src/main/resources/db/migration/V20190401540__ADD_RENT_BILL_FILES.sql rename to mallinkAdmin/src/main/resources/db/migration/V201904021540__ADD_RENT_BILL_FILES.sql From 34e7b8a9850958285898de485c6a72db2dcdfa55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E5=AD=A6=E8=BE=BE?= Date: Tue, 2 Apr 2019 16:04:56 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCreditHistoryController.java | 78 +++++++++ .../V201904021550__ADD_WX_CREDIT_HISTORY.sql | 18 +++ .../domain/dto/WxCreditHistoryDto.java | 4 + .../com/iformall/domain/po/MallUserInfo.java | 9 +- .../iformall/domain/po/WxCreditHistory.java | 150 ++++++++++++++++++ .../iformall/domain/vo/WxCreditHistoryVo.java | 55 +++++++ .../java/com/iformall/enums/EnumUserType.java | 35 ++++ .../mapper/WxCreditHistoryMapper.java | 15 ++ .../service/WxCreditHistoryService.java | 60 +++++++ .../impl/WxCreditHistoryServiceImpl.java | 139 ++++++++++++++++ .../mapper/WxCreditHistoryMapper.xml | 122 ++++++++++++++ 11 files changed, 677 insertions(+), 8 deletions(-) create mode 100644 mallinkAdmin/src/main/java/com/iformall/controller/WxCreditHistoryController.java create mode 100644 mallinkAdmin/src/main/resources/db/migration/V201904021550__ADD_WX_CREDIT_HISTORY.sql create mode 100644 mallinkService/src/main/java/com/iformall/domain/dto/WxCreditHistoryDto.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumUserType.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java create mode 100644 mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java create mode 100644 mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCreditHistoryController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCreditHistoryController.java new file mode 100644 index 000000000..b8643ffa6 --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCreditHistoryController.java @@ -0,0 +1,78 @@ +package com.iformall.controller; + +import com.iformall.domain.dto.WxCreditHistoryDto; +import com.iformall.domain.vo.WxCreditHistoryVo; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.*; + +import com.github.pagehelper.PageInfo; +import com.iformall.common.Result; +import com.iformall.common.ResultData; + +import org.slf4j.Logger; +import com.iformall.domain.po.WxCreditHistory; +import com.iformall.service.WxCreditHistoryService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("wxCreditHistory") +public class WxCreditHistoryController extends BaseController +{ + @Autowired + private WxCreditHistoryService wxCreditHistoryService; + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), + @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) + public ResultData list(@ModelAttribute WxCreditHistory wxCreditHistory, Integer pageNum, Integer pageSize) { + if (null == wxCreditHistory) wxCreditHistory = new WxCreditHistory(); + final PageInfo page = wxCreditHistoryService.listAsPageMore(wxCreditHistory, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("新增接口") + @PostMapping("add") + public ResultData add(@RequestBody WxCreditHistory wxCreditHistory) { + //Assert.notNull(wxCreditHistory.getName(), "角色名不能为空"); + //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名"); + wxCreditHistoryService.saveOrUpdate(wxCreditHistory); + return new ResultData(); + } + + @ApiOperation("根据id更新接口") + @PostMapping("update") + public ResultData update(@RequestBody WxCreditHistory wxCreditHistory) { + wxCreditHistoryService.saveOrUpdate(wxCreditHistory); + return new ResultData(); + } + + @ApiOperation("根据id删除接口") + @GetMapping("/del") + @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) + public ResultData delete(Long id) { + wxCreditHistoryService.deleteById(id); + return new ResultData(Result.SUCCESS, "删除成功", null); + } + + @ApiOperation("根据id查询接口") + @GetMapping("/findById") + @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true) + public ResultData findById(Long id) { + return new ResultData(Result.SUCCESS,"查询成功",wxCreditHistoryService.getById(id)); + } + + + +} diff --git a/mallinkAdmin/src/main/resources/db/migration/V201904021550__ADD_WX_CREDIT_HISTORY.sql b/mallinkAdmin/src/main/resources/db/migration/V201904021550__ADD_WX_CREDIT_HISTORY.sql new file mode 100644 index 000000000..244d1e6db --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201904021550__ADD_WX_CREDIT_HISTORY.sql @@ -0,0 +1,18 @@ +DROP TABLE IF EXISTS `wx_credit_history`; +CREATE TABLE `wx_credit_history` ( + `id` bigint(64) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(50) NOT NULL COMMENT '租户ID', + `c_user_id` bigint(64) NOT NULL COMMENT '用户ID', + `credit_amount` int(11) NOT NULL COMMENT '总积分', + `credit_num` int(11) NOT NULL COMMENT '每笔积分明细', + `credit_type` tinyint(2) NOT NULL COMMENT '积分类型(操作说明)', + `create_date` datetime(0) NOT NULL COMMENT '创建日期', + `receipt_url` varchar(256) NULL DEFAULT NULL COMMENT '小票URL', + `operator_type` tinyint(2) NOT NULL COMMENT '操作人类型', + `operator_id` bigint(64) NOT NULL COMMENT '操作人ID', + `merchant_id` bigint(11) NULL DEFAULT NULL COMMENT '商户ID', + `coupon_id` bigint(64) NULL DEFAULT NULL COMMENT '券ID(积分兑换券时生成)', + `business_id` bigint(64) NULL DEFAULT NULL COMMENT '业态ID(计算新增积分时使用)', + `spend` int(11) NULL DEFAULT NULL COMMENT '花费', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB ROW_FORMAT = Dynamic COMMENT='积分记录'; \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/WxCreditHistoryDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/WxCreditHistoryDto.java new file mode 100644 index 000000000..9a2c7746a --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxCreditHistoryDto.java @@ -0,0 +1,4 @@ +package com.iformall.domain.dto; + +public class WxCreditHistoryDto { +} diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java index 0c3b8a212..d48cf6bb5 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java @@ -21,7 +21,7 @@ public class MallUserInfo implements Serializable { protected Long id; @Transient - protected List ids; + protected List ids; @Transient protected String sortColumns; @@ -37,13 +37,6 @@ public class MallUserInfo implements Serializable { return sortColumns; } - public List getIds() { - return ids; - } - public void setIds(List ids) { - this.ids = ids; - } - /**租户ID**/ diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java new file mode 100644 index 000000000..09ac9f2cf --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java @@ -0,0 +1,150 @@ +package com.iformall.domain.po; + +import lombok.Data; +import javax.persistence.*; +import java.util.*; +import java.math.*; +import javax.persistence.Transient; +import java.util.List; +import javax.persistence.Id; +import java.io.Serializable; + +@Table(name = "wx_credit_history") +@Data +public class WxCreditHistory implements Serializable { + private static final long serialVersionUID = 1L; + + @Id + protected Long id; + + @Transient + protected List ids; + @Transient + protected String sortColumns; + + @Transient + @io.swagger.annotations.ApiModelProperty(value="开始时间",name="startTime") + private Date startTime; + + @Transient + @io.swagger.annotations.ApiModelProperty(value="结束时间",name="endTime") + private Date endTime; + + @Transient + @io.swagger.annotations.ApiModelProperty(value="手机号",name="phone") + private String phone; + + @Transient + @io.swagger.annotations.ApiModelProperty(value="姓名",name="name") + private String name; + + /**租户ID*/ + @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") + private String tenantId; + /**用户ID*/ + @io.swagger.annotations.ApiModelProperty(value="用户ID",name="cUserId") + private Long cUserId; + /**总积分*/ + @io.swagger.annotations.ApiModelProperty(value="总积分",name="creditAmount") + private Integer creditAmount; + /**每笔积分明细*/ + @io.swagger.annotations.ApiModelProperty(value="每笔积分明细",name="creditNum") + private Integer creditNum; + /**积分类型*/ + @io.swagger.annotations.ApiModelProperty(value="积分类型",name="creditType") + private Integer creditType; + /**创建日期*/ + @io.swagger.annotations.ApiModelProperty(value="创建日期",name="createDate") + private Date createDate; + /**小票URL*/ + @io.swagger.annotations.ApiModelProperty(value="小票URL",name="receiptUrl") + private String receiptUrl; + /**操作人类型*/ + @io.swagger.annotations.ApiModelProperty(value="操作人类型",name="operatorType") + private Integer operatorType; + /**操作人ID*/ + @io.swagger.annotations.ApiModelProperty(value="操作人ID",name="operatorId") + private Long operatorId; + /**商户ID*/ + @io.swagger.annotations.ApiModelProperty(value="商户ID",name="merchantId") + private Long merchantId; + /**券ID(积分兑换券时生成)*/ + @io.swagger.annotations.ApiModelProperty(value="券ID(积分兑换券时生成)",name="couponId") + private Long couponId; + /**业态ID(计算新增积分时使用)*/ + @io.swagger.annotations.ApiModelProperty(value="业态ID(计算新增积分时使用)",name="businessId") + private Long businessId; + /**花费*/ + @io.swagger.annotations.ApiModelProperty(value="花费",name="spend") + private Integer spend; + + + + public static enum Field + { + Id_ASC("`id` ASC"),Id_DESC("`id` DESC") + ,TenantId_ASC("`tenant_id` ASC"),TenantId_DESC("`tenant_id` DESC") + ,CUserId_ASC("`c_user_id` ASC"),CUserId_DESC("`c_user_id` DESC") + ,CreditAmount_ASC("`credit_amount` ASC"),CreditAmount_DESC("`credit_amount` DESC") + ,CreditNum_ASC("`credit_num` ASC"),CreditNum_DESC("`credit_num` DESC") + ,CreditType_ASC("`credit_type` ASC"),CreditType_DESC("`credit_type` DESC") + ,CreateDate_ASC("`create_date` ASC"),CreateDate_DESC("`create_date` DESC") + ,ReceiptUrl_ASC("`receipt_url` ASC"),ReceiptUrl_DESC("`receipt_url` DESC") + ,OperatorType_ASC("`operator_type` ASC"),OperatorType_DESC("`operator_type` DESC") + ,OperatorId_ASC("`operator_id` ASC"),OperatorId_DESC("`operator_id` DESC") + ,MerchantId_ASC("`merchant_id` ASC"),MerchantId_DESC("`merchant_id` DESC") + ,CouponId_ASC("`coupon_id` ASC"),CouponId_DESC("`coupon_id` DESC") + ,BusinessId_ASC("`business_id` ASC"),BusinessId_DESC("`business_id` DESC") + ,Spend_ASC("`spend` ASC"),Spend_DESC("`spend` 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(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 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/domain/vo/WxCreditHistoryVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java new file mode 100644 index 000000000..b940bad1f --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java @@ -0,0 +1,55 @@ +package com.iformall.domain.vo; + +import lombok.Data; + +import java.util.Date; + +@Data +public class WxCreditHistoryVo { + + @io.swagger.annotations.ApiModelProperty(value="手机号",name="phone") + private String phone; + + @io.swagger.annotations.ApiModelProperty(value="姓名",name="name") + private String name; + + @io.swagger.annotations.ApiModelProperty(value="性别",name="sex") + private String sex; + + @io.swagger.annotations.ApiModelProperty(value="积分ID",name="creditId") + private String creditId; + + @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") + private String tenantId; + + @io.swagger.annotations.ApiModelProperty(value="用户ID",name="cUserId") + private Long cUserId; + /**总积分*/ + @io.swagger.annotations.ApiModelProperty(value="总积分",name="creditAmount") + private Integer creditAmount; + /**每笔积分明细*/ + @io.swagger.annotations.ApiModelProperty(value="每笔积分明细",name="creditNum") + private Integer creditNum; + /**积分类型*/ + @io.swagger.annotations.ApiModelProperty(value="积分类型",name="creditType") + private Integer creditType; + /**创建日期*/ + @io.swagger.annotations.ApiModelProperty(value="创建日期",name="createDate") + private Date createDate; + /**小票URL*/ + @io.swagger.annotations.ApiModelProperty(value="小票URL",name="receiptUrl") + private String receiptUrl; + + @io.swagger.annotations.ApiModelProperty(value="商户",name="merchantName") + private String merchantName; + + @io.swagger.annotations.ApiModelProperty(value="操作人类型",name="operator") + private String operatorType; + + @io.swagger.annotations.ApiModelProperty(value="操作人ID",name="operatorId") + private Long operatorId; + + @io.swagger.annotations.ApiModelProperty(value="操作人",name="operator") + private String operator; + +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumUserType.java b/mallinkService/src/main/java/com/iformall/enums/EnumUserType.java new file mode 100644 index 000000000..a41dcd459 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumUserType.java @@ -0,0 +1,35 @@ +package com.iformall.enums; + +public enum EnumUserType { + + CUSER(1, "C端用户"), + CUSERBASIC(2, "C端用户(偏向A端)"), + BUSER(3, "B端用户"), + MALLUSER(4, "A端用户") + ; + + public static EnumUserType getEnum(Integer code) { + for (EnumUserType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumUserType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java new file mode 100644 index 000000000..b4c6ebe59 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java @@ -0,0 +1,15 @@ +package com.iformall.mapper; + +import java.util.*; +import com.iformall.common.CommonMapper; +import com.iformall.domain.vo.WxCreditHistoryVo; +import com.iformall.domain.po.WxCreditHistory; + +public interface WxCreditHistoryMapper extends CommonMapper { + + List findList(WxCreditHistory wxCreditHistory); + + List findListMore(WxCreditHistory wxCreditHistory); + + +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java b/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java new file mode 100644 index 000000000..950597666 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java @@ -0,0 +1,60 @@ +package com.iformall.service; + +import java.util.*; +import com.github.pagehelper.PageInfo; +import com.iformall.domain.dto.WxCreditHistoryDto; +import com.iformall.domain.po.WxCreditHistory; +import com.iformall.domain.vo.WxCreditHistoryVo; + +public interface WxCreditHistoryService { + + /** + * 根据实体查询分页列表 + * + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + PageInfo listAsPage(WxCreditHistory record, Integer pageIndex, Integer pageSize); + + /** + * 根据实体查询分页列表更多 + * + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + PageInfo listAsPageMore(WxCreditHistory record, Integer pageIndex, Integer pageSize); + + /** + * 根据Id获得实体 + * + * @param id + * @return + */ + WxCreditHistory getById(Long id); + + /** + * 保存或更新实体 + * + * @param record + */ + void saveOrUpdate(WxCreditHistory record); + + /** + * 根据Id删除实体 + * + * @param id + */ + void deleteById(Long id); + + + + + + + + +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java new file mode 100644 index 000000000..e2e2aef59 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -0,0 +1,139 @@ +package com.iformall.service.impl; + +import java.util.*; +import java.util.stream.Collectors; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.google.common.collect.Lists; +import com.iformall.domain.dto.WxCreditHistoryDto; +import com.iformall.domain.po.*; +import com.iformall.domain.vo.WxCreditHistoryVo; +import com.iformall.enums.EnumUserType; +import com.iformall.mapper.*; +import com.iformall.service.WxCreditHistoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.iformall.common.IdWorker; + +@Service +public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { + + @Autowired + WxCreditHistoryMapper wxCreditHistoryMapper; + + @Autowired + WxCUserMapper wxCUserMapper; + + @Autowired + WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + + @Autowired + WxMerchantBUserMapper wxMerchantBUserMapper; + + @Autowired + MallUserInfoMapper mallUserInfoMapper; + + @Override + public PageInfo listAsPage(WxCreditHistory record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCreditHistoryMapper.findList(record)); + } + + @Override + public PageInfo listAsPageMore(WxCreditHistory record, Integer pageIndex, Integer pageSize) { + PageHelper.startPage(pageIndex, pageSize); + List wxCreditHistoryVoList = wxCreditHistoryMapper.findListMore(record); + if (wxCreditHistoryVoList == null || wxCreditHistoryVoList.size() == 0) { + return new PageInfo<>(wxCreditHistoryVoList); + } + List cUserIds = wxCreditHistoryVoList.stream().filter(a -> a.getOperatorType().equals(EnumUserType.CUSER.getCode())).map(WxCreditHistoryVo::getOperatorId).collect(Collectors.toList()); + List cUserBasicIds = wxCreditHistoryVoList.stream().filter(a -> a.getOperatorType().equals(EnumUserType.CUSERBASIC.getCode())).map(WxCreditHistoryVo::getOperatorId).collect(Collectors.toList()); + List bUserIds = wxCreditHistoryVoList.stream().filter(a -> a.getOperatorType().equals(EnumUserType.BUSER.getCode())).map(WxCreditHistoryVo::getOperatorId).collect(Collectors.toList()); + List mallUserIds = wxCreditHistoryVoList.stream().filter(a -> a.getOperatorType().equals(EnumUserType.MALLUSER.getCode())).map(WxCreditHistoryVo::getOperatorId).collect(Collectors.toList()); + List wxCUserList = Lists.newArrayList(); + List wxCUserBasicInfoList = Lists.newArrayList(); + List wxMerchantBUserList = Lists.newArrayList(); + List mallUserInfoList = Lists.newArrayList(); + if (cUserIds != null && cUserIds.size() > 0) { + WxCUser wxUser = new WxCUser(); + wxUser.setIds(cUserIds); + wxCUserList = wxCUserMapper.findList(wxUser); + } + if (cUserBasicIds != null && cUserBasicIds.size() > 0) { + WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); + wxCUserBasicInfo.setIds(cUserBasicIds); + wxCUserBasicInfoList = wxCUserBasicInfoMapper.findList(wxCUserBasicInfo); + } + if (bUserIds != null && bUserIds.size() > 0) { + WxMerchantBUser wxMerchantBUser = new WxMerchantBUser(); + wxMerchantBUser.setIds(bUserIds); + wxMerchantBUserList = wxMerchantBUserMapper.findList(wxMerchantBUser); + } + if (mallUserIds != null && mallUserIds.size() > 0) { + MallUserInfo mallUserInfo = new MallUserInfo(); + mallUserInfo.setIds(mallUserIds); + mallUserInfoList = mallUserInfoMapper.findList(mallUserInfo); + } + for (WxCreditHistoryVo credit : wxCreditHistoryVoList) { + if (wxCUserList != null && wxCUserList.size() > 0) { + wxCUserList.stream().forEach(cUser->{ + if (cUser.getId().longValue() == credit.getOperatorId().longValue()) { + credit.setOperator(cUser.getNickName()); + } + }); + } + if (wxCUserBasicInfoList != null && wxCUserBasicInfoList.size() > 0) { + wxCUserBasicInfoList.stream().forEach(cUserBasicInfo->{ + if (cUserBasicInfo.getId().longValue() == credit.getOperatorId().longValue()) { + credit.setOperator(cUserBasicInfo.getNickName()); + } + }); + } + if (wxMerchantBUserList != null && wxMerchantBUserList.size() > 0) { + wxMerchantBUserList.stream().forEach(bUser->{ + if (bUser.getId().longValue() == credit.getOperatorId().longValue()) { + credit.setOperator(bUser.getName()); + } + }); + } + if (mallUserInfoList != null && mallUserInfoList.size() > 0) { + mallUserInfoList.stream().forEach(mallUser->{ + if (mallUser.getId().longValue() == credit.getOperatorId().longValue()) { + credit.setOperator(mallUser.getName()); + } + }); + } + } + return new PageInfo<>(wxCreditHistoryVoList); + } + + @Override + public WxCreditHistory getById(Long id) { + return wxCreditHistoryMapper.selectByPrimaryKey(id); + } + + @Override + public void saveOrUpdate(WxCreditHistory record) { + if (record.getId() == null) { + //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + wxCreditHistoryMapper.insertSelective(record); + } else { + wxCreditHistoryMapper.updateByPrimaryKeySelective(record); + } + } + + @Override + public void deleteById(Long id) { + wxCreditHistoryMapper.deleteByPrimaryKey(id); + } + + + + + + + + +} diff --git a/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml b/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml new file mode 100644 index 000000000..ced792c95 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`c_user_id`,`credit_amount`,`credit_num`,`credit_type`,`credate_date`,`receipt_url`,`operator_type`,`operator_id`,`merchant_id`,`coupon_id`,`business_id`,`spend` + + + + where 1 = 1 + + and `id` = #{id} + + + and `c_user_id` = #{cUserId} + + + and `credit_amount` = #{creditAmount} + + + and `credit_num` = #{creditNum} + + + and `credit_type` = #{creditType} + + + and `receipt_url` like concat('%', #{receiptUrl},'%') + + + and `operator_type` = #{operatorType} + + + and `operator_id` = #{operatorId} + + + and `merchant_id` = #{merchantId} + + + and `coupon_id` = #{couponId} + + + and `business_id` = #{businessId} + + + and `spend` = #{spend} + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + where 1 = 1 + + and basic.name like concat('%', #{name},'%') + + + and basic.phone like concat('%', #{phone},'%') + + + and credit.create_date >= #{startTime} + + + and credit.create_date < #{endTime} + + + and credit.tenant_id = #{tenantId} + + + + + + + + + From dfe1061779524f28e3bbf087efa408198f6aee18 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 2 Apr 2019 16:38:17 +0800 Subject: [PATCH 09/10] =?UTF-8?q?[=E5=90=88=E5=90=8C][=E6=96=B0=E5=A2=9E]:?= =?UTF-8?q?=E5=90=88=E5=90=8C=E6=94=AF=E6=8C=81=E5=A4=9A=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V201904012109__ADD_RENT_FILES.sql | 9 ++++++++- ...T_BILL_FILES.sql => V201904021540__ADD_RENT_BILL.sql} | 0 2 files changed, 8 insertions(+), 1 deletion(-) rename mallinkAdmin/src/main/resources/db/migration/{V201904021540__ADD_RENT_BILL_FILES.sql => V201904021540__ADD_RENT_BILL.sql} (100%) diff --git a/mallinkAdmin/src/main/resources/db/migration/V201904012109__ADD_RENT_FILES.sql b/mallinkAdmin/src/main/resources/db/migration/V201904012109__ADD_RENT_FILES.sql index 89b0700ef..24362e491 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V201904012109__ADD_RENT_FILES.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V201904012109__ADD_RENT_FILES.sql @@ -1,4 +1,11 @@ ALTER TABLE `wx_rent_contract` ADD COLUMN `file_names` JSON NULL COMMENT '合同支持多文件' AFTER `fix_end_date`; -update `wx_rent_contract` set `file_names` = CONCAT('[{\"filename\":\"',`filename`,'\",\"filepath\":\"',`filepath`,'\"}]'); \ No newline at end of file +update `wx_rent_contract` +set `file_names` = +CASE + WHEN `filename` is not null and LENGTH(`filename`) > 0 THEN + CONCAT('[{\"filename\":\"',`filename`,'\",\"filepath\":\"',`filepath`,'\"}]') + ELSE + CONCAT('[]') +END; \ No newline at end of file diff --git a/mallinkAdmin/src/main/resources/db/migration/V201904021540__ADD_RENT_BILL_FILES.sql b/mallinkAdmin/src/main/resources/db/migration/V201904021540__ADD_RENT_BILL.sql similarity index 100% rename from mallinkAdmin/src/main/resources/db/migration/V201904021540__ADD_RENT_BILL_FILES.sql rename to mallinkAdmin/src/main/resources/db/migration/V201904021540__ADD_RENT_BILL.sql From 53e9e5dd660b29ff30a12f9c509baed16147930e Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 2 Apr 2019 17:00:48 +0800 Subject: [PATCH 10/10] =?UTF-8?q?[=E8=BD=A6=E6=B5=81=E9=87=8F][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]:=E6=B7=BB=E5=8A=A0log=EF=BC=8C=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=97=B6=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataTowerServiceImpl.java | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) 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 11897be3a..c818766e0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -477,6 +477,7 @@ public class DataTowerServiceImpl implements DataTowerService { @Override public Map queryCar(String tenantId) { + logger.info("停车-月统计-开始"); HashMap params = new HashMap<>(); params.put("tenantId", tenantId); params.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PARK_IN.getCode()); @@ -507,8 +508,10 @@ public class DataTowerServiceImpl implements DataTowerService { } Map datamap = new HashMap<>(); datamap.put("history", historymap); + logger.info("停车-月统计-结束"); // 查询近一周的缴费车辆----start------ + logger.info("停车-查询近一周的缴费车辆-开始"); HashMap weekParams = new HashMap<>(); weekParams.put("tenantId", tenantId); String oneWeekStartdate = DateUtils.getTimeBefore(7, new Date()); @@ -518,8 +521,10 @@ public class DataTowerServiceImpl implements DataTowerService { weekParams.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode()); datamap.put("oneWeekCarPayCount",wxCarCmdLogMapper.queryWeekCarPayCount(weekParams)); + logger.info("停车-查询近一周的缴费车辆-结束"); // 近一周缴费金额 + logger.info("停车-查询近一周的缴费金额-开始"); weekParams.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode()); List> weekCarPayHistoryList = wxCarCmdLogMapper.queryWeekCarPay(weekParams); Map weekCollect = weekCarPayHistoryList.stream().collect(Collectors.toMap(m -> { @@ -537,8 +542,10 @@ public class DataTowerServiceImpl implements DataTowerService { weekMap.put(key,weekCollect.get(key)); } datamap.put("oneWeekCarPayFeeCount",weekMap); + logger.info("停车-查询近一周的缴费金额-结束"); // 近一周新增会员历史 + logger.info("停车-近一周新增会员历史-开始"); List> carCountHistory = wxCUserCarMapper.queryCarCountHistory(weekParams); Map weekCarCollect = carCountHistory.stream().collect(Collectors.toMap(m -> { return (String)m.get("create_time"); @@ -553,8 +560,10 @@ public class DataTowerServiceImpl implements DataTowerService { weekCarMap.put(key,weekCarCollect.get(key)); } datamap.put("oneWeekNewCarUserHistory",weekCarMap); + logger.info("停车-近一周新增会员历史-结束"); //近一周新增停车会员数 + logger.info("停车-近一周新增停车会员数-开始"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); WxCUserBasicInfoDto wxCUserBasicInfoDto = new WxCUserBasicInfoDto(); wxCUserBasicInfoDto.setTenantId(tenantId); @@ -565,14 +574,18 @@ public class DataTowerServiceImpl implements DataTowerService { e.printStackTrace(); } datamap.put("oneWeekNewCarUserCount",wxCUserCarMapper.countUser(wxCUserBasicInfoDto)); + logger.info("停车-近一周新增停车会员数-结束"); //停车会员总数 + logger.info("停车-停车会员总数-开始"); wxCUserBasicInfoDto = new WxCUserBasicInfoDto(); wxCUserBasicInfoDto.setTenantId(tenantId); datamap.put("newCarUserSumCount",wxCUserCarMapper.countUser(wxCUserBasicInfoDto)); + logger.info("停车-停车会员总数-结束"); // 查询近一周的缴费车辆----end------ //今日车流量 + logger.info("停车-今日车流量-开始"); long todaycar = (long) historymap.get(DateUtils.getSystemTime("MM/dd")); datamap.put("todaycar", todaycar); //环比 @@ -585,8 +598,10 @@ public class DataTowerServiceImpl implements DataTowerService { } else { datamap.put("hb", "--"); } + logger.info("停车-今日车流量-结束"); //上周同期 + logger.info("停车-上周同期-开始"); String lastweek = DateUtils.getTimeBefore(7, new Date()); long last = (long) historymap.get(lastweek.substring(5).replace("-", "/")); if (last > 0) { @@ -596,7 +611,10 @@ public class DataTowerServiceImpl implements DataTowerService { } else { datamap.put("lasthb", "--"); } + logger.info("停车-上周同期-结束"); + // 今日 + logger.info("停车-今日停车数据-开始"); params.put("startdate", systemTime + " 05:00:00"); params.put("enddate", DateUtils.getSystemTime("yyyy-MM-dd HH:mm:ss")); @@ -623,7 +641,10 @@ public class DataTowerServiceImpl implements DataTowerService { hourMap.putAll(todaycollect); datamap.put("todaycardata", hourMap); + logger.info("停车-今日停车数据-结束"); + // 昨日 + logger.info("停车-昨日停车数据-开始"); params.put("startdate", yesterday + " 05:00:00"); params.put("enddate", yesterday + " 22:59:59"); List> yesterdayCarlist = wxCarCmdLogMapper.queryTodayCar(params); @@ -636,20 +657,25 @@ public class DataTowerServiceImpl implements DataTowerService { yesterdaytreemap.putAll(yesterdaycollect); datamap.put("yesterdaycardata", yesterdaytreemap); + logger.info("停车-昨日停车数据-结束"); + // 上周同期 + logger.info("停车-上周同期停车数据-开始"); params.put("startdate", lastweek + " 05:00:00"); params.put("enddate", lastweek + " 22:59:59"); - List> lastdayCarlist = wxCarCmdLogMapper.queryTodayCar(params); - Map lastdaycollect = lastdayCarlist.stream().collect(Collectors.toMap(m -> { + List> lastweekCarlist = wxCarCmdLogMapper.queryTodayCar(params); + Map lastweekcollect = lastweekCarlist.stream().collect(Collectors.toMap(m -> { return m.get("create_time"); }, m -> { return m.get("carcount"); })); - TreeMap lastdaytreemap = getTimeTreeMap(); - lastdaytreemap.putAll(lastdaycollect); - datamap.put("lastdaycardata", lastdaytreemap); + TreeMap lastweektreemap = getTimeTreeMap(); + lastweektreemap.putAll(lastweekcollect); + datamap.put("lastdaycardata", lastweektreemap); + logger.info("停车-上周同期停车数据-结束"); //绑定车牌 + logger.info("停车-绑定车牌-开始"); Map carParams=new HashMap<>(); carParams.put("tenantId",tenantId); carParams.put("startdate",DateUtils.getSystemTime("yyyy-MM-dd 00:00:00")); @@ -678,6 +704,7 @@ public class DataTowerServiceImpl implements DataTowerService { } else { datamap.put("lastweekbindhb", "--"); } + logger.info("停车-绑定车牌-结束"); return datamap;