Browse Source

代码提交

master
xyiege 4 years ago
parent
commit
692a7a66a6
  1. 6
      src/main/java/cn/chjyj/szwh/controller/admin/AdminGoodsController.java
  2. 6
      src/main/java/cn/chjyj/szwh/controller/admin/AdminIndexController.java
  3. 8
      src/main/java/cn/chjyj/szwh/mapper/GoodsMapper.java
  4. 4
      src/main/java/cn/chjyj/szwh/service/IndexService.java
  5. 65
      src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java
  6. 11
      src/main/resources/mapper/szwh/GoodsMapper.xml
  7. 5
      src/main/resources/mapper/szwh/OrderMapper.xml
  8. 10
      src/test/java/cn/chjyj/szwh/mapper/GoodsMapperTest.java

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

@ -12,6 +12,7 @@ import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -49,14 +50,15 @@ public class AdminGoodsController extends BaseController {
* @return
*/
@RequestMapping("/goodsDetail")
public JSONObject goodsDetail(String islicode){
public JSONObject goodsDetail(String islicode, HttpServletRequest request){
String token = request.getHeader("token");
// 需要返回的结果
Map result=new HashMap<>();
// 商品明细id
Goods goods = goodsService.getGoodsByIsli(islicode);
if(goods!=null){
// 查找用户信息
User user = userService.getApiUser(goods.getUserIslicode());
User user = userService.getApiUser(goods.getUserIslicode(),token);
result.put("userinfo",user);
GoodsDetail goodsDetail = goodsDetailService.getGoodsDetailBygid(goods.getGoodsDetailsId());

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

@ -3,6 +3,7 @@ package cn.chjyj.szwh.controller.admin;
import cn.chjyj.szwh.controller.BaseController;
import cn.chjyj.szwh.service.IndexService;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@ -24,15 +25,16 @@ public class AdminIndexController extends BaseController {
@PostMapping("/home")
public JSONObject home(HttpServletRequest request){
// String leftDate=request.getParameter("leftDate");
String leftDate=request.getParameter("leftDate");
// 拼装查询条件
//Map<String,Object> queryMap = new HashMap<>();
//queryMap.put("leftDate",leftDate);
// queryMap.put("rightDate",rightDate);
// queryMap.put("sale_ranking",saleRanking);
// queryMap.put("saleRankingDate",saleRankingDate);
String dtflag = StringUtils.isEmpty(leftDate)?"":leftDate;
// // 执行查询操作
Map result =indexService.getCountSys();
Map result =indexService.getCountSys(dtflag);
// 拼装结果
jsonObject.put("code",200);
jsonObject.put("data",result);

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

@ -34,4 +34,12 @@ public interface GoodsMapper {
* @return
*/
int goodsCount(@Param("map") Map map);
/**
* 指定时间段内委托方排名
* @param dtzone
* @param limit
* @return
*/
List<Goods> isliRankList(@Param("dtzone") String dtzone,@Param("limit") int limit);
}

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

@ -8,8 +8,8 @@ import java.util.Map;
public interface IndexService {
/**
* 统计系统中的相关数据
* @param map 统计查询条件
* @param dateFlag 传入时间区段
* @return
*/
Map<String,Object> getCountSys();
Map<String,Object> getCountSys(String dateFlag);
}

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

@ -7,6 +7,7 @@ import cn.chjyj.szwh.service.IndexService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
@ -23,7 +24,7 @@ public class IndexServiceImpl implements IndexService {
private OrderGoodsDetailMapper orderGoodsDetailMapper;
@Override
public Map<String, Object> getCountSys() {
public Map<String, Object> getCountSys(String dateFlag) {
// 拼装查询结果
Map<String,Object> result = new HashMap<>();
@ -31,8 +32,8 @@ public class IndexServiceImpl implements IndexService {
// 统计商品数量
gmap.put("is_deleted",0);
int goodsCount= goodsMapper.goodsCount(gmap);
gmap.clear();
result.put("goods_count",goodsCount);
// 待付款数量
Integer awaitpayCount=orderMapper.countOrderByStatus(1);
result.put("awaitpay_count",awaitpayCount);
@ -56,20 +57,70 @@ public class IndexServiceImpl implements IndexService {
String yesterday=sdf.format(calendar.getTime());
String yesterday_start = yesterday+"00:00:00";
String yesterday_end = yesterday+"23:59:59";
// 现在时刻
String nowtime=sdf.format(System.currentTimeMillis());
//交易数量
Integer dealGoodsCount=orderGoodsDetailMapper.countOrderGoodsDetailByTimeSection(yesterday_start,yesterday_end);
result.put("deal_goods_count",dealGoodsCount);
//交易总额
result.put("deal_money",goodsCount);
String swhere ="(paymenttime between "+yesterday_start+" and "+yesterday_end+") " +
"and pay_status=2";
Map xmap =new HashMap();
xmap.put("field","total_money");
xmap.put("wherestr",swhere);
BigDecimal dealMoney = orderMapper.sumOrderByMap(xmap);
result.put("deal_money",dealMoney==null?"0.00":dealMoney);
//订单总额
result.put("order_money",goodsCount);
Map xomap = new HashMap();
xomap.put("field","total_service_charge");
xomap.put("wherestr",swhere);
BigDecimal orderMoney = orderMapper.sumOrderByMap(xomap);
result.put("order_money",orderMoney==null?"0.00":orderMoney);
result.put("shelf_count",goodsCount);
//上架数量
Map xgmap = new HashMap();
xgmap.put("goods_status","1");
xgmap.put("createtime","between "+yesterday_start+" and "+yesterday_end);
Integer shelfCount=goodsMapper.goodsCount(xgmap);
result.put("shelf_count",shelfCount);
//下架数量
Map ogmap = new HashMap();
ogmap.put("goods_status","2");
ogmap.put("canceltime","between "+yesterday_start+" and "+yesterday_end);
Integer outCount= goodsMapper.goodsCount(ogmap);
result.put("out_count",goodsCount);
result.put("yester_order_count",goodsCount);
result.put("yester_complete_count",goodsCount);
//新增订单
Integer yesterOrderCount = orderMapper.countOrderTimeSection("createtime",yesterday_start,yesterday_end);
result.put("yester_order_count",yesterOrderCount);
//完成订单
Integer yesterCompleteCount=orderMapper.countOrderTimeSection("completetime",yesterday_start,yesterday_end);
result.put("yester_complete_count",yesterCompleteCount);
calendar.add(Calendar.MONTH,-1);
// 上个月
String lastMonth=sdf.format(calendar.getTime());
// 过去5年
calendar.add(Calendar.YEAR,-5);
String last5years=sdf.format(calendar.getTime());
// 过去一年
calendar.add(Calendar.YEAR,-1);
String lastyear = sdf.format(calendar.getTime());
// 时刻跨度
String dtzone = "";
switch (dateFlag){
case "year":dtzone=last5years+" and "+nowtime;break;
case "month":dtzone=lastyear+" and "+nowtime;break;
default:dtzone=lastMonth+ " and "+nowtime;break;
}
//委托方排名
result.put("entrust_ranking",goodsCount);
result.put("entrust_sale_ranking",goodsCount);
result.put("treeMap",goodsCount);

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

@ -34,6 +34,17 @@
) as mm ORDER BY mm.id DESC;
</select>
<!-- 委托方排名 -->
<select id="isliRankList" parameterType="java.lang.String" resultType="cn.chjyj.szwh.bean.Goods">
select user_islicode,sale_count+click_count as `count`
from <include refid="tbName"/>
where is_deleted=0
and createtime between #{dtzone}
order by `count` DESC
group user_islicode
limit #{limit};
</select>
<!--根据uid查询用户-->
<select id="getUserByUid" parameterType="java.lang.Integer" resultType="cn.chjyj.szwh.bean.Goods">
select

5
src/main/resources/mapper/szwh/OrderMapper.xml

@ -68,6 +68,11 @@
select count(*) from <include refid="tbName"/> where `status`=#{status}
</select>
<!--统计某个时间段订单数量-->
<select id="countOrderTimeSection" resultType="java.lang.Integer">
select count(*) from <include refid="tbName"/> where #{key} between #{startTime} and #{endTime}
</select>
<!-- 条件订单总额 -->
<select id="sumOrderByMap" parameterType="java.util.Map" resultType="java.lang.Double">
select sum(#{cmap.field}) from <include refid="tbName"/> where #{cmap.wherestr};

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

@ -44,4 +44,14 @@ public class GoodsMapperTest {
int ret = goodsMapper.goodsCount(map);
System.out.println(ret);
}
@Test
public void isliRankList(){
String starttime ="2022-05-17 00:00:00";
String endtime="2022-05-20 23:59:59";
String dtzone =starttime+" and "+endtime;
int limit=10;
List<Goods> grank =goodsMapper.isliRankList(dtzone,limit);
System.out.println(grank.size());
}
}
Loading…
Cancel
Save