Browse Source

首页报表功能调整

master
xyiege 4 years ago
parent
commit
3db7969d47
  1. 6
      src/main/java/cn/chjyj/szwh/controller/admin/AdminIndexController.java
  2. 10
      src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java
  3. 8
      src/main/java/cn/chjyj/szwh/service/IndexService.java
  4. 42
      src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java
  5. 6
      src/main/java/cn/chjyj/szwh/utils/RequestUtils.java
  6. 3
      src/main/java/cn/chjyj/szwh/utils/SzwhApiUtils.java
  7. 15
      src/main/resources/mapper/szwh/GoodsMapper.xml
  8. 13
      src/test/java/cn/chjyj/szwh/mapper/GoodsMapperTest.java

6
src/main/java/cn/chjyj/szwh/controller/admin/AdminIndexController.java

@ -26,10 +26,8 @@ public class AdminIndexController extends BaseController {
String leftDate=request.getString("leftDate"); String leftDate=request.getString("leftDate");
String rightDate=request.getString("rightDate"); String rightDate=request.getString("rightDate");
String saleRankingDate = request.getString("saleRankingDate"); String saleRankingDate = request.getString("saleRankingDate");
// 统计查询
String dtflag = StringUtils.isEmpty(leftDate)?"":leftDate; Map result =indexService.getCountSys(leftDate,rightDate,saleRankingDate);
// // 执行查询操作
Map result =indexService.getCountSys(dtflag);
// 拼装结果 // 拼装结果
jsonObject.put("code",200); jsonObject.put("code",200);
jsonObject.put("data",result); jsonObject.put("data",result);

10
src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java

@ -1,6 +1,7 @@
package cn.chjyj.szwh.mapper; package cn.chjyj.szwh.mapper;
import cn.chjyj.szwh.bean.Goods; import cn.chjyj.szwh.bean.Goods;
import cn.chjyj.szwh.vo.GoodsDetailVo;
import cn.chjyj.szwh.vo.GoodsListVo; import cn.chjyj.szwh.vo.GoodsListVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -91,4 +92,13 @@ public interface GoodsMapper {
* @return * @return
*/ */
int countGoodsListVo(@Param("map") Map map); int countGoodsListVo(@Param("map") Map map);
/**
* 某时间段内委托方的数据
* @param startdt 时间段
* @param enddt 组合
* @return
*/
List<GoodsDetailVo> goodsUserIslicodeDtzone(@Param("startdt") String startdt,
@Param("enddt") String enddt);
} }

8
src/main/java/cn/chjyj/szwh/service/IndexService.java

@ -7,9 +7,11 @@ import java.util.Map;
*/ */
public interface IndexService { public interface IndexService {
/** /**
* 统计系统中的相关数据 * 统计系统中的相关信息
* @param dateFlag 传入时间区段 * @param leftDate
* @param rightDate
* @param saleRankingDate
* @return * @return
*/ */
Map<String,Object> getCountSys(String dateFlag); Map<String,Object> getCountSys(String leftDate,String rightDate,String saleRankingDate);
} }

42
src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java

@ -4,15 +4,16 @@ import cn.chjyj.szwh.mapper.GoodsMapper;
import cn.chjyj.szwh.mapper.OrderGoodsDetailMapper; import cn.chjyj.szwh.mapper.OrderGoodsDetailMapper;
import cn.chjyj.szwh.mapper.OrderMapper; import cn.chjyj.szwh.mapper.OrderMapper;
import cn.chjyj.szwh.service.IndexService; import cn.chjyj.szwh.service.IndexService;
import cn.chjyj.szwh.utils.SzwhApiUtils;
import cn.chjyj.szwh.vo.GoodsDetailVo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Service @Service
public class IndexServiceImpl implements IndexService { public class IndexServiceImpl implements IndexService {
@ -24,7 +25,7 @@ public class IndexServiceImpl implements IndexService {
private OrderGoodsDetailMapper orderGoodsDetailMapper; private OrderGoodsDetailMapper orderGoodsDetailMapper;
@Override @Override
public Map<String, Object> getCountSys(String dateFlag) { public Map<String, Object> getCountSys(String leftDate,String rightDate,String saleRankingDate) {
// 拼装查询结果 // 拼装查询结果
Map<String,Object> result = new HashMap<>(); Map<String,Object> result = new HashMap<>();
@ -112,16 +113,33 @@ public class IndexServiceImpl implements IndexService {
calendar.add(Calendar.YEAR,-1); calendar.add(Calendar.YEAR,-1);
String lastyear = sdf.format(calendar.getTime()); String lastyear = sdf.format(calendar.getTime());
// 时刻跨度 // 时刻跨度
String dtzone = ""; String[] dtzone=new String[2];
switch (dateFlag){ switch (rightDate){
case "year":dtzone=last5years+" and "+nowtime;break; case "year":dtzone[0]=last5years;dtzone[1]=nowtime;break;
case "month":dtzone=lastyear+" and "+nowtime;break; case "month":dtzone[0]=lastyear;dtzone[1]=nowtime;break;
default:dtzone=lastMonth+ " and "+nowtime;break; default:dtzone[0]=lastMonth;dtzone[1]=nowtime;break;
} }
//委托方排名 //委托方排名
result.put("entrust_ranking",goodsCount); List entrustRanking = new ArrayList();
List<GoodsDetailVo> tjgoods=goodsMapper.goodsUserIslicodeDtzone(dtzone[0],dtzone[1]);
for(GoodsDetailVo gvo:tjgoods){
Map<String,Object> fmap =new HashMap<>();
// 查找对应的用户
String uislicode = gvo.getUser_islicode();
JSONObject userjson =SzwhApiUtils.getApiUser(uislicode);
JSONArray ujsonArray = userjson.getJSONArray("data");
if(ujsonArray==null){
fmap.put("username",gvo.getUser_islicode());
}else {
fmap.put("username",ujsonArray.get(1));
}
fmap.put("count",gvo.getCcount());
entrustRanking.add(fmap);
}
result.put("entrust_ranking",entrustRanking);
//委托方销售排序
result.put("entrust_sale_ranking",goodsCount); result.put("entrust_sale_ranking",goodsCount);
result.put("treeMap",goodsCount); result.put("treeMap",goodsCount);
result.put("label",goodsCount); result.put("label",goodsCount);

6
src/main/java/cn/chjyj/szwh/utils/RequestUtils.java

@ -38,8 +38,10 @@ public class RequestUtils {
HttpURLConnection httpcon = (HttpURLConnection) url.openConnection(); HttpURLConnection httpcon = (HttpURLConnection) url.openConnection();
// 遍历主机头信息 // 遍历主机头信息
for(Map.Entry item:map.entrySet()){ for(Map.Entry item:map.entrySet()){
httpcon.addRequestProperty(item.getKey().toString(), httpcon.addRequestProperty(
item.getValue().toString()); item.getKey().toString(),
item.getValue().toString()
);
} }
httpcon.connect(); httpcon.connect();
//获取返回的字符 //获取返回的字符

3
src/main/java/cn/chjyj/szwh/utils/SzwhApiUtils.java

@ -1,6 +1,7 @@
package cn.chjyj.szwh.utils; package cn.chjyj.szwh.utils;
import cn.chjyj.szwh.service.impl.UserServiceImpl; import cn.chjyj.szwh.service.impl.UserServiceImpl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
@ -13,7 +14,7 @@ import java.util.Map;
* 系统操作工具集合 * 系统操作工具集合
*/ */
public class SzwhApiUtils { public class SzwhApiUtils {
private static Log log = LogFactory.getLog(UserServiceImpl.class); private static Log log = LogFactory.getLog(SzwhApiUtils.class);
/** /**
* 远程获取用户信息 * 远程获取用户信息

15
src/main/resources/mapper/szwh/GoodsMapper.xml

@ -126,13 +126,14 @@
; ;
</select> </select>
<!--根据uid查询用户--> <!--查询某个时间段的委托信息机及其数量-->
<select id="getUserByUid" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.Goods"> <select id="goodsUserIslicodeDtzone" parameterType="java.lang.String" resultType="cn.chjyj.szwh.vo.GoodsDetailVo">
select SELECT user_islicode,ANY_VALUE(sale_count+click_count) ccount
<include refid="column"/> FROM goods
from WHERE (createtime BETWEEN CAST(#{startdt} AS DATE) AND CAST(#{enddt} AS DATE))
<include refid="tbName"/> AND is_deleted=0
where uid=#{uid} GROUP BY user_islicode
ORDER BY ccount DESC
</select> </select>
<!--根据 goodsIsli 查询商品信息--> <!--根据 goodsIsli 查询商品信息-->

13
src/test/java/cn/chjyj/szwh/mapper/GoodsMapperTest.java

@ -1,7 +1,9 @@
package cn.chjyj.szwh.mapper; package cn.chjyj.szwh.mapper;
import cn.chjyj.szwh.bean.Goods; import cn.chjyj.szwh.bean.Goods;
import cn.chjyj.szwh.bean.GoodsDetail;
import cn.chjyj.szwh.constant.ChConstant; import cn.chjyj.szwh.constant.ChConstant;
import cn.chjyj.szwh.vo.GoodsDetailVo;
import cn.chjyj.szwh.vo.GoodsListVo; import cn.chjyj.szwh.vo.GoodsListVo;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@ -95,4 +97,15 @@ public class GoodsMapperTest {
System.out.println(gv.getGoods_name()); System.out.println(gv.getGoods_name());
} }
} }
@Test
public void goodsUserIslicodeDtzone(){
String startdt ="2010-07-20 00:00:00";
String enddt="2022-07-20 23:59:59";
List<GoodsDetailVo> sslist = goodsMapper.goodsUserIslicodeDtzone(startdt,enddt);
for(GoodsDetailVo s:sslist){
System.out.println(s.getUser_islicode()+"+"+s.getCcount());
}
System.out.println(sslist.size());
}
} }
Loading…
Cancel
Save