| @@ -86,6 +86,8 @@ public class TenantInfoImpl implements TenantInfo { | |||||
| return true; | return true; | ||||
| if ("com.iformall.mapper.WxCouponActionLogMapper.getCountByUserAndCoupon".equals(ms.getId())) | if ("com.iformall.mapper.WxCouponActionLogMapper.getCountByUserAndCoupon".equals(ms.getId())) | ||||
| return true; | return true; | ||||
| if ("com.iformall.mapper.WxShopMapper.rentRateHistory".equals(ms.getId())) | |||||
| return true; | |||||
| return false; | return false; | ||||
| } | } | ||||
| } | } | ||||
| @@ -0,0 +1,26 @@ | |||||
| package com.iformall.domain.vo; | |||||
| import com.iformall.domain.po.BaseEntity; | |||||
| public class WxShopRentRateVo extends BaseEntity { | |||||
| private String xTime; | |||||
| private String rate; | |||||
| public String getxTime() { | |||||
| return xTime; | |||||
| } | |||||
| public void setxTime(String xTime) { | |||||
| this.xTime = xTime; | |||||
| } | |||||
| public String getRate() { | |||||
| return rate; | |||||
| } | |||||
| public void setRate(String rate) { | |||||
| this.rate = rate; | |||||
| } | |||||
| } | |||||
| @@ -3,6 +3,7 @@ package com.iformall.mapper; | |||||
| import com.iformall.common.CommonMapper; | import com.iformall.common.CommonMapper; | ||||
| import com.iformall.domain.po.WxShop; | import com.iformall.domain.po.WxShop; | ||||
| import com.iformall.domain.vo.WxShopVo; | import com.iformall.domain.vo.WxShopVo; | ||||
| import org.apache.ibatis.annotations.Param; | |||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| @@ -33,4 +34,7 @@ public interface WxShopMapper extends CommonMapper<WxShop, String> { | |||||
| List<WxShopVo> findShopVoList(Map map); | List<WxShopVo> findShopVoList(Map map); | ||||
| Long getCountByWxShop(WxShop wxShop); | Long getCountByWxShop(WxShop wxShop); | ||||
| List<Map<String,Object>> rentRateHistory(Map<String, Object> params); | |||||
| } | } | ||||
| @@ -15,7 +15,9 @@ import com.iformall.service.MarkingDataReportService; | |||||
| import com.iformall.service.WxChartDataService; | import com.iformall.service.WxChartDataService; | ||||
| import com.iformall.service.WxCouponService; | import com.iformall.service.WxCouponService; | ||||
| import com.iformall.utils.DateUtils; | import com.iformall.utils.DateUtils; | ||||
| import org.apache.commons.collections.CollectionUtils; | |||||
| import org.apache.commons.collections.map.HashedMap; | import org.apache.commons.collections.map.HashedMap; | ||||
| import org.apache.commons.collections.map.LinkedMap; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| import org.slf4j.Logger; | import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | import org.slf4j.LoggerFactory; | ||||
| @@ -321,16 +323,29 @@ public class WxChartServiceImpl implements WxChartDataService { | |||||
| private ResultData getRentRateHistory(String tenantId,Map<String, String> paramsMap) { | private ResultData getRentRateHistory(String tenantId,Map<String, String> paramsMap) { | ||||
| Integer dateType = Integer.parseInt(paramsMap.get("dateType")); | Integer dateType = Integer.parseInt(paramsMap.get("dateType")); | ||||
| Map<String, Object> datamap = new LinkedHashMap<>(); | |||||
| datamap.put("2018/10","10%"); | |||||
| datamap.put("2018/11","20%"); | |||||
| datamap.put("2018/12","10%"); | |||||
| datamap.put("2019/01","10%"); | |||||
| datamap.put("2019/02","30%"); | |||||
| datamap.put("2019/03","40%"); | |||||
| datamap.put("2019/04","10%"); | |||||
| datamap.put("2019/05","20%"); | |||||
| return new ResultData(datamap); | |||||
| Map<String, Object> queryMap = new HashMap<>(); | |||||
| queryMap.put("tenantId",tenantId); | |||||
| queryMap.put("dateType",dateType); | |||||
| List<Map<String,Object>> mapList = wxShopMapper.rentRateHistory(queryMap); | |||||
| if(CollectionUtils.isNotEmpty(mapList)){ | |||||
| String startTime = (String)mapList.get(0).get("xTime"); | |||||
| String endTime = (String)mapList.get(mapList.size()-1).get("xTime"); | |||||
| List<String> days = DateUtils.getTjTimeList(startTime, endTime, 1==dateType.intValue()?"0":"1"); | |||||
| Map<String,String> map = getMap(days); | |||||
| for (Map<String,Object> m : mapList) { | |||||
| map.put((String)m.get("xTime"),m.get("rate")+"%"); | |||||
| } | |||||
| return new ResultData(map); | |||||
| } | |||||
| return new ResultData(new LinkedHashMap<>()); | |||||
| } | |||||
| public Map<String,String> getMap(List<String> days){ | |||||
| Map<String,String> map = new LinkedMap(); | |||||
| for (String d:days) { | |||||
| map.put(d.replace("-", "/"),"0%"); | |||||
| } | |||||
| return map; | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -527,6 +527,12 @@ | |||||
| <result column="baidu_poi" jdbcType="VARCHAR" property="baiduPoi"/> | <result column="baidu_poi" jdbcType="VARCHAR" property="baiduPoi"/> | ||||
| <result column="manager_phone" jdbcType="VARCHAR" property="linkPhone"/> | <result column="manager_phone" jdbcType="VARCHAR" property="linkPhone"/> | ||||
| </resultMap> | </resultMap> | ||||
| <resultMap id="rentRate" type="com.iformall.domain.vo.WxShopRentRateVo"> | |||||
| <result column="xTime" property="xTime"/> | |||||
| <result column="rate" property="rate"/> | |||||
| </resultMap> | |||||
| <select id="findShopVoList" parameterType="java.util.Map" resultMap="ShopVoResultMap"> | <select id="findShopVoList" parameterType="java.util.Map" resultMap="ShopVoResultMap"> | ||||
| select s.id,s.shop_number,b.building_name,f.floor_name,s.addr,s.baidu_poi,s.manager_phone | select s.id,s.shop_number,b.building_name,f.floor_name,s.addr,s.baidu_poi,s.manager_phone | ||||
| @@ -557,4 +563,19 @@ | |||||
| </if> | </if> | ||||
| </select> | </select> | ||||
| <select id="rentRateHistory" resultType="hashmap" parameterType="hashmap"> | |||||
| select | |||||
| <if test="1 == dateType"> | |||||
| DATE_FORMAT(wm.create_date,'%Y-%m-%d') xTime | |||||
| </if> | |||||
| <if test="2 == dateType"> | |||||
| DATE_FORMAT(wm.create_date,'%Y-%m') xTime | |||||
| </if> | |||||
| ,round(count(status = 1 or null)/count(*)*100/100,2) rate | |||||
| from wx_shop w inner join wx_merchant_shop wm on wm.shop_id = w.id | |||||
| where w.is_del=0 | |||||
| and w.tenant_id = #{tenantId} | |||||
| group by xTime | |||||
| order by xTime | |||||
| </select> | |||||
| </mapper> | </mapper> | ||||