123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446 |
- package com.ruixuan.isc.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.ruixuan.common.core.controller.BaseController;
- import com.ruixuan.common.core.page.TableDataInfo;
- import com.ruixuan.common.utils.Check;
- import com.ruixuan.common.utils.DateUtils;
- import com.ruixuan.data.utils.ExportExcelUtils;
- import com.ruixuan.isc.service.IKuaishouPromoterService;
- import com.ruixuan.isc.service.ISupplyChainService;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import lombok.SneakyThrows;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.bind.annotation.RestController;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.io.OutputStream;
- import java.io.UnsupportedEncodingException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- @RestController
- @RequestMapping("/isv/supply_chain")
- public class SupplyChainController extends BaseController {
- @Autowired
- private ISupplyChainService supplyChainService;
- @Autowired
- private IKuaishouPromoterService promoterService;
- /**
- * 达人订单
- *
- * @param orderStartDate
- * @param orderEndDate
- * @param promoterNickName
- * @param promoterId
- * @return
- */
- @GetMapping("/orderList")
- @ApiOperation(value = "达人订单")
- public TableDataInfo orderList(@ApiParam("订单开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("订单结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("达人名称") @RequestParam(value = "promoterNickName", required = false) String promoterNickName,
- @ApiParam("达人ID") @RequestParam(value = "promoterId", required = false) Long promoterId) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(promoterNickName)) {
- requestMap.put("promoterNickName", promoterNickName);
- }
- if (!Check.isNull(promoterId)) {
- requestMap.put("promoterId", promoterId);
- }
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(-1);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.getOrderList(requestMap);
- return getDataTable(list);
- }
- /**
- * 达人带货详情
- *
- * @param promoterId
- * @param orderStartDate
- * @param orderEndDate
- * @param itemTitle
- * @param itemId
- * @return
- */
- @GetMapping("/anchorOrderDetail")
- @ApiOperation(value = "达人带货详情")
- public TableDataInfo anchorOrderDetail(
- @ApiParam("达人Id") @RequestParam(value = "promoterId", required = false) String promoterId,
- @ApiParam("订单开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("订单结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("商品名称") @RequestParam(value = "itemTitle", required = false) String itemTitle,
- @ApiParam("商品ID") @RequestParam(value = "itemId", required = false) String itemId) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(promoterId)) {
- requestMap.put("promoterId", promoterId);
- }
- if (!Check.isNull(itemId)) {
- requestMap.put("itemId", itemId);
- }
- if (!Check.isNull(itemTitle)) {
- requestMap.put("itemTitle", itemTitle);
- }
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(-1);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.anchorOrderDetail(requestMap);
- return getDataTable(list);
- }
- /**
- * 订单统计
- *
- * @param promoterId
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/orderStatistics")
- @ApiOperation(value = "订单统计")
- public JSONObject orderStatistics(
- @ApiParam("达人Id") @RequestParam(value = "promoterId", required = false) String promoterId,
- @ApiParam("订单开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("订单结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(promoterId)) {
- requestMap.put("promoterId", promoterId);
- }
- JSONObject returnJson = new JSONObject();
- if (Check.isNullMap(requestMap)) {
- returnJson.put("code", -1);
- returnJson.put("message", "入参不能为空");
- return returnJson;
- }
- List<JSONObject> list = supplyChainService.orderStatistics(requestMap);
- returnJson.put("code", 0);
- returnJson.put("data", list);
- return returnJson;
- }
- /**
- * 商品列表
- *
- * @param itemId
- * @param itemTitle
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/itemList")
- @ApiOperation(value = "商品列表")
- public TableDataInfo itemList(
- @ApiParam("商品Id") @RequestParam(value = "itemId", required = false) String itemId,
- @ApiParam("商品名称") @RequestParam(value = "itemTitle", required = false) String itemTitle,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("排序字段") @RequestParam(value = "fieId", required = false) String fieId,
- @ApiParam("排序方式") @RequestParam(value = "sort", required = false) String sort,
- @ApiParam("用户ID") @RequestParam(value = "userId", required = false) String userId
- ) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(itemId)) {
- requestMap.put("itemId", itemId);
- }
- if (!Check.isNull(itemTitle)) {
- requestMap.put("itemTitle", itemTitle);
- }
- if (!Check.isNull(userId)) {
- requestMap.put("userId", userId);
- }
- requestMap.put("fieId", fieId);
- requestMap.put("sort", sort);
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(-1);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.itemList(requestMap);
- return getDataTable(list);
- }
- /**
- * 根据商品id获取top达人
- *
- * @param itemId
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/getTopPromoterByItemId")
- @ApiOperation(value = "商品列表")
- public TableDataInfo getTopPromoterByItemId(
- @ApiParam("商品Id") @RequestParam(value = "itemId", required = false) String itemId,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(itemId)) {
- requestMap.put("itemId", itemId);
- }
- List<JSONObject> list = supplyChainService.getTopPromoterByItemId(requestMap);
- return getDataTable(list);
- }
- /**
- * 商品详情
- *
- * @param itemId
- * @param orderStartDate
- * @param orderEndDate
- * @param promoterId
- * @param promoterNickName
- * @return
- */
- @GetMapping("/itemDetail")
- @ApiOperation(value = "商品详情")
- public TableDataInfo itemDetail(
- @ApiParam("商品ID") @RequestParam(value = "itemId", required = false) String itemId,
- @ApiParam("订单开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("订单结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("达人Id") @RequestParam(value = "promoterId", required = false) String promoterId,
- @ApiParam("达人名称") @RequestParam(value = "promoterNickName", required = false) String promoterNickName) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(promoterId)) {
- requestMap.put("promoterId", promoterId);
- }
- if (!Check.isNull(itemId)) {
- requestMap.put("itemId", itemId);
- }
- if (!Check.isNull(promoterNickName)) {
- requestMap.put("itemTitle", promoterNickName);
- }
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(-1);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.itemDetail(requestMap);
- return getDataTable(list);
- }
- /**
- * 产品服务费
- *
- * @param itemId
- * @param itemTitle
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/itemServiceCharge")
- @ApiOperation(value = "产品服务费")
- public TableDataInfo itemServiceCharge(
- @ApiParam("商品Id") @RequestParam(value = "itemId", required = false) String itemId,
- @ApiParam("商品名称") @RequestParam(value = "itemTitle", required = false) String itemTitle,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(itemId)) {
- requestMap.put("itemId", itemId);
- }
- if (!Check.isNull(itemTitle)) {
- requestMap.put("itemTitle", itemTitle);
- }
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(-1);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.itemServiceCharge(requestMap);
- return getDataTable(list);
- }
- /**
- * 首页-订单数据
- *
- * @param dateType
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/indexOrderInfo")
- @ApiOperation(value = "首页-订单数据")
- public JSONObject orderTotal(
- @ApiParam("时间类型") @RequestParam(value = "dateType", required = false) Integer dateType,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate) {
- Map<String, Object> requestMap = new HashMap<>();
- JSONObject returnJson = new JSONObject();
- if (dateType == 0) {
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate); //当天开始时间
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate); // 当天结束时间
- requestMap.put("end", end);
- }
- JSONObject orderTotal = supplyChainService.getOrderTotal(requestMap);
- returnJson.put("orderTotal", orderTotal);
- Integer hour = DateUtils.getNowHour() - 1; // 当前小时
- if (hour >= 0) {
- JSONObject ratioJson = new JSONObject();
- Long nowStartHourTemp = DateUtils.getStartLongTime(orderStartDate); // 当天开始时间戳
- Long nowEndHourTemp = DateUtils.getNowEndHourTemp(orderStartDate, hour); // 当前结束时间戳
- String yesterday = DateUtils.getAnotherDay("yyyy-MM-dd", orderStartDate, -1); // 昨日日期
- Long yesterdayStartHourTemp = DateUtils.getStartLongTime(yesterday); //昨日开始时间戳
- Long yesterdayEndHourTemp = DateUtils.getNowEndHourTemp(yesterday, hour); // 昨日结束时间戳
- Map<String, Object> ratioMap = new HashMap<>();
- ratioMap.put("nowStartHourTemp", nowStartHourTemp);
- ratioMap.put("nowEndHourTemp", nowEndHourTemp);
- ratioMap.put("yesterdayStartHourTemp", yesterdayStartHourTemp);
- ratioMap.put("yesterdayEndHourTemp", yesterdayEndHourTemp);
- Double ringRatio = supplyChainService.getOrderTotalRatio(ratioMap); //环比
- ratioJson.put("ringRatio", ringRatio);
- String yearDay = DateUtils.getAnotherDay("yyyy-MM-dd", orderStartDate, -6); // 昨日日期
- Long yearStartHourTemp = DateUtils.getStartLongTime(yearDay); //前7日开始时间戳
- Long yearEndHourTemp = DateUtils.getNowEndHourTemp(yearDay, hour);//前7日结束时间戳
- ratioMap.put("yesterdayStartHourTemp", yearStartHourTemp);
- ratioMap.put("yesterdayEndHourTemp", yearEndHourTemp);
- Double yearRatio = supplyChainService.getOrderTotalRatio(ratioMap); //同比
- ratioJson.put("yearRatio", yearRatio);
- returnJson.put("ratio", ratioJson);
- }
- } else {
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate); //昨日开始时间
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate); // 前日开始时间
- requestMap.put("end", end);
- }
- JSONObject orderTotal = supplyChainService.getOrderTotal(requestMap);
- returnJson.put("orderTotal", orderTotal);
- }
- return returnJson;
- }
- /**
- * 首页-金额数据
- *
- * @param dateType
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/indexAmountInfo")
- @ApiOperation(value = "首页-金额数据")
- public JSONObject indexAmountInfo(
- @ApiParam("时间类型") @RequestParam(value = "dateType", required = false) Integer dateType,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate) {
- Map<String, Object> requestMap = new HashMap<>();
- JSONObject returnJson = new JSONObject();
- if (dateType == 0) {
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate); //当天开始时间
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate); // 当天结束时间
- requestMap.put("end", end);
- }
- JSONObject amountTotal = supplyChainService.getAmountTotal(requestMap);
- returnJson.put("amountTotal", amountTotal);
- Integer hour = DateUtils.getNowHour() - 1; // 当前小时
- if (hour >= 0) {
- JSONObject amountRatioJson = new JSONObject();
- Long nowStartHourTemp = DateUtils.getStartLongTime(orderStartDate); // 当天开始时间戳
- Long nowEndHourTemp = DateUtils.getNowEndHourTemp(orderStartDate, hour); // 当前结束时间戳
- String yesterday = DateUtils.getAnotherDay("yyyy-MM-dd", orderStartDate, -1); // 昨日日期
- Long yesterdayStartHourTemp = DateUtils.getStartLongTime(yesterday); //昨日开始时间戳
- Long yesterdayEndHourTemp = DateUtils.getNowEndHourTemp(yesterday, hour); // 昨日结束时间戳
- Map<String, Object> ratioMap = new HashMap<>();
- ratioMap.put("nowStartHourTemp", nowStartHourTemp);
- ratioMap.put("nowEndHourTemp", nowEndHourTemp);
- ratioMap.put("yesterdayStartHourTemp", yesterdayStartHourTemp);
- ratioMap.put("yesterdayEndHourTemp", yesterdayEndHourTemp);
- Double amountRingRatio = supplyChainService.getAmountTotalRatio(ratioMap); //环比
- amountRatioJson.put("amountRingRatio", amountRingRatio);
- String yearDay = DateUtils.getAnotherDay("yyyy-MM-dd", orderStartDate, -6); // 昨日日期
- Long yearStartHourTemp = DateUtils.getStartLongTime(yearDay); //前7日开始时间戳
- Long yearEndHourTemp = DateUtils.getNowEndHourTemp(yearDay, hour);//前7日结束时间戳
- ratioMap.put("yesterdayStartHourTemp", yearStartHourTemp);
- ratioMap.put("yesterdayEndHourTemp", yearEndHourTemp);
- Double amountYearRatio = supplyChainService.getAmountTotalRatio(ratioMap); //同比
- amountRatioJson.put("amountYearRatio", amountYearRatio);
- returnJson.put("amountRatio", amountRatioJson);
- }
- } else {
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate); //昨日开始时间
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate); // 前日开始时间
- requestMap.put("end", end);
- }
- JSONObject amountTotal = supplyChainService.getAmountTotal(requestMap);
- returnJson.put("amountTotal", amountTotal);
- }
- return returnJson;
- }
- /**
- * 首页-服务费数据
- *
- * @param dateType
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/indexServiceAmountInfo")
- @ApiOperation(value = "首页-服务费数据")
- public JSONObject indexServiceAmountInfo(
- @ApiParam("时间类型") @RequestParam(value = "dateType", required = false) Integer dateType,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate) {
- Map<String, Object> requestMap = new HashMap<>();
- JSONObject returnJson = new JSONObject();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate); //昨日开始时间
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate); // 前日开始时间
- requestMap.put("end", end);
- }
- JSONObject serviceAmountTotal = supplyChainService.getServiceAmountTotal(requestMap);
- returnJson.put("serviceAmountTotal", serviceAmountTotal);
- return returnJson;
- }
- /**
- * 首页-商品排行
- *
- * @param dateType
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/indexOrderRank")
- @ApiOperation(value = "首页-商品排行")
- public TableDataInfo indexOrderRank(
- @ApiParam("时间类型") @RequestParam(value = "dateType", required = true) Integer dateType,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = true) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = true) String orderEndDate) {
- Map<String, Object> requestMap = new HashMap<>();
- if (dateType == 0) {
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate); //当天开始时间
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate); // 当天结束时间
- requestMap.put("end", end);
- }
- Integer hour = DateUtils.getNowHour(); // 当前小时
- Long nowStartHourTemp = DateUtils.getStartLongTime(orderStartDate); // 当天开始时间戳
- Long nowEndHourTemp = DateUtils.getNowEndHourTemp(orderStartDate, hour); // 当前结束时间戳
- String yesterday = DateUtils.getAnotherDay("yyyy-MM-dd", orderStartDate, -1); // 昨日日期
- Long yesterdayStartHourTemp = DateUtils.getStartLongTime(yesterday); //昨日开始时间戳
- Long yesterdayEndHourTemp = DateUtils.getNowEndHourTemp(yesterday, hour); // 昨日结束时间戳
- requestMap.put("nowStartHourTemp", nowStartHourTemp);
- requestMap.put("nowEndHourTemp", nowEndHourTemp);
- requestMap.put("yesterdayStartHourTemp", yesterdayStartHourTemp);
- requestMap.put("yesterdayEndHourTemp", yesterdayEndHourTemp);
- startPage();
- List<JSONObject> orderRankRatioList = supplyChainService.getOrderRankRatioList(requestMap);
- return getDataTable(orderRankRatioList);
- } else {
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- startPage();
- List<JSONObject> orderRankRatioList = supplyChainService.getOrderRankList(requestMap);
- return getDataTable(orderRankRatioList);
- }
- }
- @GetMapping("/indexPromoterRank")
- @ApiOperation(value = "首页-达人排行")
- public TableDataInfo indexPromoterRank(
- @ApiParam("时间类型") @RequestParam(value = "dateType", required = true) Integer dateType,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = true) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = true) String orderEndDate,
- @ApiParam("userId") @RequestParam(value = "userId", required = false) Long userId) {
- Map<String, Object> requestMap = new HashMap<>();
- if (dateType == 0) {
- if (Check.isNotNull(userId)) {
- requestMap.put("promoterIds", promoterService.selectPromoterIdList(Arrays.asList(userId)));
- }
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate); //当天开始时间
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate); // 当天结束时间
- requestMap.put("end", end);
- }
- Integer hour = DateUtils.getNowHour(); // 当前小时
- Long nowStartHourTemp = DateUtils.getStartLongTime(orderStartDate); // 当天开始时间戳
- Long nowEndHourTemp = DateUtils.getNowEndHourTemp(orderStartDate, hour); // 当前结束时间戳
- String yesterday = DateUtils.getAnotherDay("yyyy-MM-dd", orderStartDate, -1); // 昨日日期
- Long yesterdayStartHourTemp = DateUtils.getStartLongTime(yesterday); //昨日开始时间戳
- Long yesterdayEndHourTemp = DateUtils.getNowEndHourTemp(yesterday, hour); // 昨日结束时间戳
- requestMap.put("nowStartHourTemp", nowStartHourTemp);
- requestMap.put("nowEndHourTemp", nowEndHourTemp);
- requestMap.put("yesterdayStartHourTemp", yesterdayStartHourTemp);
- requestMap.put("yesterdayEndHourTemp", yesterdayEndHourTemp);
- startPage();
- List<JSONObject> promoterRankRatioList = supplyChainService.getPromoterRankRatioList(requestMap);
- return getDataTable(promoterRankRatioList);
- } else {
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- startPage();
- List<JSONObject> orderRatioList = supplyChainService.getPromoterRatioList(requestMap);
- return getDataTable(orderRatioList);
- }
- }
- @RequestMapping(value = "/exportPromoterTotal")
- @ResponseBody
- public void exportPromoterTotal(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws Exception {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(requestJson.getString("orderStartDate"))) {
- Long start = DateUtils.getStartLongTime(requestJson.getString("orderStartDate"));
- requestMap.put("start", start);
- }
- if (!Check.isNull(requestJson.getString("orderEndDate"))) {
- Long end = DateUtils.getEndLongTime(requestJson.getString("orderEndDate"));
- requestMap.put("end", end);
- }
- if (!Check.isNull(requestJson.getString("promoterNickName"))) {
- requestMap.put("promoterNickName", requestJson.getString("promoterNickName"));
- }
- if (!Check.isNull(requestJson.getLong("promoterId"))) {
- requestMap.put("promoterId", requestJson.getLong("promoterId"));
- }
- if (!Check.isNull(requestJson.getLong("itemId"))) {
- requestMap.put("itemId", requestJson.getLong("itemId"));
- }
- if (!Check.isNull(requestJson.getString("itemTitle"))) {
- requestMap.put("itemTitle", requestJson.getString("itemTitle"));
- }
- List<JSONObject> list = supplyChainService.exportPromoterTotal(requestMap);
- List<List<Object>> exportList = new ArrayList<>();
- if (!Check.isNull(list)) {
- for (int i = 0; i < list.size(); i++) {
- JSONObject date = list.get(i);
- List<Object> export = new ArrayList();
- Long promoterId = date.getLong("promoterId");
- String promoterNickName = date.getString("promoterNickName");
- String name = promoterNickName + "(" + promoterId + ")";
- export.add(name);
- export.add(date.getInteger("orderNum"));
- export.add(date.getInteger("validOrderNUm"));
- export.add(date.getString("validRadio"));
- export.add(date.getString("payAmount"));
- export.add(date.getString("validPayAmount"));
- // export.add(date.getString("regimentalPromotionAmount"));
- export.add(date.getString("deliveryNum"));
- export.add(date.getString("deliveryRadio"));
- export.add(date.getString("notDeliveryNum"));
- String userName = supplyChainService.getUserName(date.getLong("promoterId"));
- if (!Check.isNull(userName)) {
- export.add(userName);
- }
- exportList.add(export);
- }
- }
- String[] headers = {"达人名称", "订单数", "有效订单数", "有效订单率", "GVM", "有效GMV", "发货数", "发货率", "未发货数", "绑定人"};
- OutputStream os = response.getOutputStream();
- ExportExcelUtils eeu = new ExportExcelUtils();
- XSSFWorkbook workbook = new XSSFWorkbook();
- eeu.exportExcel(workbook, 0, "达人信息", headers, exportList);
- this.setResponseHeader(response, "达人信息.xls");
- workbook.write(os);
- os.flush();
- os.close();
- }
- @RequestMapping(value = "/exportPromoter")
- @ResponseBody
- public void exportPromoter(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws Exception {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(requestJson.getString("orderStartDate"))) {
- Long start = DateUtils.getStartLongTime(requestJson.getString("orderStartDate"));
- requestMap.put("start", start);
- }
- if (!Check.isNull(requestJson.getString("orderEndDate"))) {
- Long end = DateUtils.getEndLongTime(requestJson.getString("orderEndDate"));
- requestMap.put("end", end);
- }
- if (!Check.isNull(requestJson.getString("promoterNickName"))) {
- requestMap.put("promoterNickName", requestJson.getString("promoterNickName"));
- }
- if (!Check.isNull(requestJson.getLong("promoterId"))) {
- requestMap.put("promoterId", requestJson.getLong("promoterId"));
- }
- if (!Check.isNull(requestJson.getLong("itemId"))) {
- requestMap.put("itemId", requestJson.getLong("itemId"));
- }
- if (!Check.isNull(requestJson.getString("itemTitle"))) {
- requestMap.put("itemTitle", requestJson.getString("itemTitle"));
- }
- List<JSONObject> list = supplyChainService.exportPromoter(requestMap);
- List<List<Object>> exportList = new ArrayList<>();
- if (!Check.isNull(list)) {
- for (int i = 0; i < list.size(); i++) {
- JSONObject date = list.get(i);
- List<Object> export = new ArrayList();
- String promoterNickName = date.getString("promoterNickName");
- Long promoterId = date.getLong("promoterId");
- String promoter = promoterNickName + "(" + promoterId + ")";
- export.add(promoter);
- Long itemId = date.getLong("itemId");
- String itemTitle = date.getString("itemTitle");
- String item = itemTitle + "(" + itemId + ")";
- export.add(item);
- export.add(date.getString("imageUrl"));
- export.add(date.getInteger("orderNum"));
- export.add(date.getInteger("validOrderNUm"));
- export.add(date.getString("validRadio"));
- export.add(date.getString("deliveryNum"));
- export.add(date.getString("deliveryRadio"));
- export.add(date.getString("activityItemStatus"));
- exportList.add(export);
- }
- }
- String[] headers = {"达人", "商品", "商品封面", "订单数", "有效订单数", "有效订单率", "发货数", "发货率", "商品状态"};
- OutputStream os = response.getOutputStream();
- ExportExcelUtils eeu = new ExportExcelUtils();
- XSSFWorkbook workbook = new XSSFWorkbook();
- eeu.exportExcel(workbook, 0, "达人信息", headers, exportList);
- this.setResponseHeader(response, "达人信息.xls");
- workbook.write(os);
- os.flush();
- os.close();
- }
- @RequestMapping(value = "/exportOrder")
- @ResponseBody
- public void exportOrder(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws Exception {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(requestJson.getString("orderStartDate"))) {
- Long start = DateUtils.getStartLongTime(requestJson.getString("orderStartDate"));
- requestMap.put("start", start);
- }
- if (!Check.isNull(requestJson.getString("orderEndDate"))) {
- Long end = DateUtils.getEndLongTime(requestJson.getString("orderEndDate"));
- requestMap.put("end", end);
- }
- if (!Check.isNull(requestJson.getString("promoterNickName"))) {
- requestMap.put("promoterNickName", requestJson.getString("promoterNickName"));
- }
- if (!Check.isNull(requestJson.getLong("promoterId"))) {
- requestMap.put("promoterId", requestJson.getLong("promoterId"));
- }
- if (!Check.isNull(requestJson.getLong("itemId"))) {
- requestMap.put("itemId", requestJson.getLong("itemId"));
- }
- if (!Check.isNull(requestJson.getString("itemTitle"))) {
- requestMap.put("itemTitle", requestJson.getString("itemTitle"));
- }
- if (!Check.isNull(requestJson.getLong("userId"))) {
- requestMap.put("userId", requestJson.getLong("userId"));
- }
- List<JSONObject> list = supplyChainService.exportOrder(requestMap);
- List<List<Object>> exportList = new ArrayList<>();
- if (!Check.isNull(list)) {
- for (int i = 0; i < list.size(); i++) {
- JSONObject date = list.get(i);
- List<Object> export = new ArrayList();
- export.add(date.getString("userName"));
- export.add(date.getLong("itemId"));
- export.add(date.getString("itemTitle"));
- export.add(date.getString("imageUrl"));
- export.add(date.getString("itemCommissionRate"));
- export.add(date.getInteger("orderNum"));
- export.add(date.getInteger("validOrderNUm"));
- export.add(date.getString("validRadio"));
- export.add(date.getString("deliveryNum"));
- export.add(date.getString("deliveryRadio"));
- export.add(date.getString("notDeliveryNum"));
- exportList.add(export);
- }
- }
- String[] headers = {"所属人", "商品ID", "商品名称", "商品封面", "佣金率", "订单数", "有效订单数", "有效订单率", "发货数", "发货率", "未发货数"};
- OutputStream os = response.getOutputStream();
- ExportExcelUtils eeu = new ExportExcelUtils();
- XSSFWorkbook workbook = new XSSFWorkbook();
- eeu.exportExcel(workbook, 0, "订单信息", headers, exportList);
- this.setResponseHeader(response, "订单信息.xls");
- workbook.write(os);
- os.flush();
- os.close();
- }
- /**
- * 获取供应链人员列表
- *
- * @return
- */
- @GetMapping("/getSupplyChainUserList")
- @ApiOperation(value = "获取供应链成员列表")
- public TableDataInfo getSupplyChainUserList() {
- List<JSONObject> list = supplyChainService.getSupplyChainUserList();
- return getDataTable(list);
- }
- /**
- * 获取商品绑定人员列表
- *
- * @param status
- * @param userId
- * @param itemId
- * @param itemTitle
- * @param activityId
- * @return
- */
- @GetMapping("/bindUserItemList")
- @ApiOperation(value = "商品认领列表")
- public TableDataInfo bindUserItemList(
- @ApiParam("状态") @RequestParam(value = "status", required = false) Integer status,
- @ApiParam("userId") @RequestParam(value = "userId", required = false) Long userId,
- @ApiParam("商品id") @RequestParam(value = "itemId", required = false) Long itemId,
- @ApiParam("商品名称") @RequestParam(value = "itemTitle", required = false) String itemTitle,
- @ApiParam("活动ID") @RequestParam(value = "activityId", required = false) Long activityId
- ) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(status)) {
- requestMap.put("status", status);
- }
- if (!Check.isNull(userId)) {
- requestMap.put("userId", userId);
- }
- if (!Check.isNull(itemId)) {
- requestMap.put("itemId", itemId);
- }
- if (!Check.isNull(itemTitle)) {
- requestMap.put("itemTitle", itemTitle);
- }
- if (!Check.isNull(activityId)) {
- requestMap.put("activityId", activityId);
- }
- startPage();
- List<JSONObject> list = supplyChainService.bindUserItemList(requestMap);
- return getDataTable(list);
- }
- /**
- * 商品解绑
- *
- * @param itemId
- * @return
- */
- @GetMapping("/unbindUser")
- @ApiOperation(value = "商品解绑")
- public JSONObject unbindUser(
- @ApiParam("商品id") @RequestParam(value = "itemId", required = false) Long itemId) {
- JSONObject returnJson = new JSONObject();
- if (Check.isNull(itemId)) {
- returnJson.put("code", -1);
- returnJson.put("message", "请传入商品ID");
- return returnJson;
- }
- boolean isTrueOrFalse = supplyChainService.unbindUser(itemId);
- if (isTrueOrFalse) {
- returnJson.put("code", 0);
- returnJson.put("message", "解绑成功");
- return returnJson;
- } else {
- returnJson.put("code", -1);
- returnJson.put("message", "解绑失败");
- return returnJson;
- }
- }
- /**
- * 绑定商品
- *
- * @param itemId
- * @return
- */
- @GetMapping("/bindUser")
- @ApiOperation(value = "绑定商品")
- public JSONObject bindUser(
- @ApiParam("商品ID") @RequestParam(value = "itemId", required = false) Long itemId,
- @ApiParam("用户ID") @RequestParam(value = "userId", required = false) Long userId,
- @ApiParam("用户名称") @RequestParam(value = "nikeName", required = false) String nikeName) {
- JSONObject returnJson = new JSONObject();
- if (Check.isNull(itemId)) {
- returnJson.put("code", -1);
- returnJson.put("message", "请传入商品ID");
- return returnJson;
- }
- if (Check.isNull("userId")) {
- returnJson.put("code", -1);
- returnJson.put("message", "请传入用户ID");
- return returnJson;
- }
- if (Check.isNull("nikeName")) {
- returnJson.put("code", -1);
- returnJson.put("message", "请传入用户名称");
- return returnJson;
- }
- boolean isTrueOrFalse = supplyChainService.bindUser(itemId, userId, nikeName);
- if (isTrueOrFalse) {
- returnJson.put("code", 0);
- returnJson.put("message", "认领成功");
- return returnJson;
- } else {
- returnJson.put("code", -1);
- returnJson.put("message", "认领失败");
- return returnJson;
- }
- }
- /**
- * 供应链管理员统计列表
- *
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @GetMapping("/adminReportList")
- @ApiOperation(value = "供应链管理员统计列表")
- public TableDataInfo adminReportList(
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("用户ID") @RequestParam(value = "userId", required = false) Long userId
- ) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(userId)) {
- requestMap.put("userId", userId);
- }
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(-1);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.adminReportList(requestMap);
- return getDataTable(list);
- }
- /**
- * 认领商品列表
- *
- * @param userId
- * @param orderStartDate
- * @param orderEndDate
- * @param itemId
- * @param itemTitle
- * @return
- */
- @GetMapping("/userItemDetail")
- @ApiOperation(value = "认领商品列表")
- public TableDataInfo userItemDetail(
- @ApiParam("userId") @RequestParam(value = "userId", required = false) Long userId,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("商品Id") @RequestParam(value = "itemId", required = false) Long itemId,
- @ApiParam("商品名称") @RequestParam(value = "itemTitle", required = false) String itemTitle,
- @ApiParam("排序字段") @RequestParam(value = "fieId", required = false) String fieId,
- @ApiParam("排序方式") @RequestParam(value = "sort", required = false) String sort
- ) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(userId)) {
- requestMap.put("userId", userId);
- }
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(itemId)) {
- requestMap.put("itemId", itemId);
- }
- if (!Check.isNull(itemTitle)) {
- requestMap.put("itemTitle", itemTitle);
- }
- requestMap.put("fieId", fieId);
- requestMap.put("sort", sort);
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(-1);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.userItemDetail(requestMap);
- return getDataTable(list);
- }
- /**
- * 认领商品列表导出
- *
- * @return
- */
- @PostMapping("/exportUserItemDetail")
- @ApiOperation(value = "认领商品列表")
- @ResponseBody
- public void exportUserItemDetail(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws IOException {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(requestJson.getLong("userId"))) {
- requestMap.put("userId", requestJson.getLong("userId"));
- }
- if (!Check.isNull(requestJson.getString("orderStartDate"))) {
- Long start = DateUtils.getStartLongTime(requestJson.getString("orderStartDate"));
- requestMap.put("start", start);
- }
- if (!Check.isNull(requestJson.getString("orderEndDate"))) {
- Long end = DateUtils.getEndLongTime(requestJson.getString("orderEndDate"));
- requestMap.put("end", end);
- }
- if (!Check.isNull(requestJson.getLong("itemId"))) {
- requestMap.put("itemId", requestJson.getLong("itemId"));
- }
- if (!Check.isNull(requestJson.getString("itemTitle"))) {
- requestMap.put("itemTitle", requestJson.getString("itemTitle"));
- }
- List<JSONObject> list = supplyChainService.exportUserItemDetail(requestMap);
- List<List<Object>> exportList = new ArrayList<>();
- if (!Check.isNull(list)) {
- for (int i = 0; i < list.size(); i++) {
- JSONObject date = list.get(i);
- List<Object> export = new ArrayList();
- export.add(date.getString("userName"));
- export.add(date.getLong("itemId"));
- export.add(date.getString("itemTitle"));
- export.add(date.getString("reservePrice"));
- export.add(date.getString("itemCommissionRate"));
- export.add(date.getString("orderNum"));
- export.add(date.getString("validOrderNUm"));
- export.add(date.getString("validRadio"));
- export.add(date.getString("invalidOrderNUm"));
- export.add(date.getString("deliveryNum"));
- export.add(date.getString("deliveryRadio"));
- export.add(date.getString("notDeliveryNum"));
- export.add(date.getString("payAmount"));
- export.add(date.getString("regimentalPromotionRate"));
- export.add(date.getString("regimentalPromotionAmount"));
- export.add(date.getString("totalRegimentalSettleAmount"));
- export.add(date.getString("imageUrl"));
- exportList.add(export);
- }
- }
- String[] headers = {"所属人", "商品ID", "商品名称", "商品单价", "佣金率", "订单数", "有效订单数", "有效订单率", "失效订单数", "发货数", "发货率", "未发货数", "付款金额", "服务费率", "预估服务费收入", "结算服务费收入", "商品封面"};
- OutputStream os = response.getOutputStream();
- ExportExcelUtils eeu = new ExportExcelUtils();
- XSSFWorkbook workbook = new XSSFWorkbook();
- eeu.exportExcel(workbook, 0, "认领列表", headers, exportList);
- this.setResponseHeader(response, "认领列表.xls");
- workbook.write(os);
- os.flush();
- os.close();
- }
- @GetMapping("/userItemTotal")
- @ApiOperation(value = "认领商品列表汇总")
- public JSONObject userItemTotal(
- @ApiParam("userId") @RequestParam(value = "userId", required = false) Long userId,
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate
- ) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(userId)) {
- requestMap.put("userId", userId);
- }
- if (!Check.isNull(orderStartDate)) {
- Long start = DateUtils.getStartLongTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Long end = DateUtils.getEndLongTime(orderEndDate);
- requestMap.put("end", end);
- }
- JSONObject returnJson = supplyChainService.userItemTotal(requestMap);
- return returnJson;
- }
- /**
- * 商品认领汇总
- *
- * @return
- */
- @GetMapping("/itemBindSummary")
- @ApiOperation(value = "商品认领汇总")
- public JSONObject itemBindSummary() {
- JSONObject json = supplyChainService.itemBindSummary();
- return json;
- }
- /**
- * 首页-时段对比
- *
- * @param orderStartDate
- * @param orderEndDate
- * @return
- */
- @SneakyThrows
- @GetMapping("/indexTimeIntervalRatio")
- @ApiOperation(value = "首页-时段对比")
- public JSONObject indexTimeIntervalRatio(
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate) {
- Map<String, Object> requestMap = new HashMap<>();
- String nowDate = DateUtils.getNowDateStr();
- String thisCycleEnd = null; // 当前时段结束日期
- String thisCycleStart = null; // 当前时段开始日期
- String lastCycleEnd = null; // 上一时段结束日期
- String lastCycleStart = null; // 上一时段开始日期
- if (nowDate.equals(orderStartDate) && nowDate.equals(orderEndDate)) {
- thisCycleEnd = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
- thisCycleStart = DateUtils.getAnotherDay("yyyy-MM-dd", thisCycleEnd, -6);
- lastCycleEnd = DateUtils.getAnotherDay("yyyy-MM-dd", thisCycleStart, -1);
- lastCycleStart = DateUtils.getAnotherDay("yyyy-MM-dd", lastCycleEnd, -6);
- } else {
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
- int differDay = DateUtils.differentDaysByMillisecond(simpleDateFormat.parse(orderStartDate), simpleDateFormat.parse(orderEndDate));
- thisCycleEnd = orderEndDate;
- thisCycleStart = orderStartDate;
- lastCycleEnd = DateUtils.getAnotherDay("yyyy-MM-dd", orderStartDate, -1);
- lastCycleStart = DateUtils.getAnotherDay("yyyy-MM-dd", lastCycleEnd, -differDay);
- }
- if (!Check.isNull(thisCycleStart)) {
- Long thisCycleStartTemp = DateUtils.getStartLongTime(thisCycleStart);
- requestMap.put("thisCycleStartTemp", thisCycleStartTemp);
- }
- if (!Check.isNull(thisCycleEnd)) {
- Long thisCycleEndTemp = DateUtils.getEndLongTime(thisCycleEnd);
- requestMap.put("thisCycleEndTemp", thisCycleEndTemp);
- }
- if (!Check.isNull(lastCycleStart)) {
- Long lastCycleStartTemp = DateUtils.getStartLongTime(lastCycleStart);
- requestMap.put("lastCycleStartTemp", lastCycleStartTemp);
- }
- if (!Check.isNull(lastCycleEnd)) {
- Long lastCycleEndTemp = DateUtils.getEndLongTime(lastCycleEnd);
- requestMap.put("lastCycleEndTemp", lastCycleEndTemp);
- }
- JSONObject timeIntervalRatioJson = supplyChainService.getTimeIntervalRatio(requestMap);
- return timeIntervalRatioJson;
- }
- /**
- * 首页-统计图
- *
- * @param orderStartDate
- * @param orderEndDate
- * @param type
- * @return
- */
- @GetMapping("/indexStatistics")
- @ApiOperation(value = "首页-统计图")
- public List<JSONObject> indexStatistics(
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("类型") @RequestParam(value = "type", required = false) String type) {
- Map<String, Object> requestMap = new HashMap<>();
- String nowDate = DateUtils.getNowDateStr();
- String start = null;
- String end = null;
- if (nowDate.equals(orderStartDate) && nowDate.equals(orderEndDate)) {
- end = DateUtils.getAnotherDay("yyyy-MM-dd", nowDate, -1);
- start = DateUtils.getAnotherDay("yyyy-MM-dd", end, -6);
- } else {
- start = orderStartDate;
- end = orderEndDate;
- }
- if (!Check.isNull(start)) {
- Long startTemp = DateUtils.getStartLongTime(start);
- requestMap.put("startTemp", startTemp);
- }
- if (!Check.isNull(end)) {
- Long endTemp = DateUtils.getEndLongTime(end);
- requestMap.put("endTemp", endTemp);
- }
- if (!Check.isNull(type)) {
- requestMap.put("type", type);
- }
- List<JSONObject> list = supplyChainService.indexStatistics(requestMap);
- return list;
- }
- //发送响应流方法
- public void setResponseHeader(HttpServletResponse response, String fileName) {
- try {
- try {
- fileName = new String(fileName.getBytes(), "ISO8859-1");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- response.setContentType("application/octet-stream;charset=ISO8859-1");
- response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
- response.addHeader("Pargam", "no-cache");
- response.addHeader("Cache-Control", "no-cache");
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- }
- @GetMapping("/bdReportList")
- @ApiOperation(value = "供应链管理员统计列表")
- public TableDataInfo bdReportList(
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("用户ID") @RequestParam(value = "collectSampleId", required = false) Long collectSampleId) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Integer start = DateUtils.getIntegerTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Integer end = DateUtils.getIntegerTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(collectSampleId)) {
- requestMap.put("collectSampleId", collectSampleId);
- }
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(500);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.bdReportList(requestMap);
- return getDataTable(list);
- }
- @PostMapping("/exportBdReportList")
- @ApiOperation(value = "供应链管理员统计列表")
- @ResponseBody
- public void exportBdReportList(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws IOException {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(requestJson.getString("orderStartDate"))) {
- Integer start = DateUtils.getIntegerTime(requestJson.getString("orderStartDate"));
- requestMap.put("start", start);
- }
- if (!Check.isNull(requestJson.getString("orderEndDate"))) {
- Integer end = DateUtils.getIntegerTime(requestJson.getString("orderEndDate"));
- requestMap.put("end", end);
- }
- if (!Check.isNull(requestJson.getLong("collectSampleId"))) {
- requestMap.put("collectSampleId", requestJson.getLong("collectSampleId"));
- }
- List<JSONObject> list = supplyChainService.exportBdReportList(requestMap);
- List<List<Object>> exportList = new ArrayList<>();
- if (!Check.isNull(list)) {
- for (int i = 0; i < list.size(); i++) {
- JSONObject date = list.get(i);
- List<Object> export = new ArrayList();
- export.add(date.getString("collectSampleId"));
- export.add(date.getString("collectSampleName"));
- export.add(date.getString("promoterCount"));
- export.add(date.getString("sampleCount"));
- export.add(date.getString("sampleRate"));
- export.add(date.getString("notSampleCount"));
- export.add(date.getString("sendTotalCount"));
- export.add(date.getString("sendPromoterCount"));
- export.add(date.getString("sendItemCount"));
- export.add(date.getString("orderNum"));
- export.add(date.getString("voucherOrderNum"));
- export.add(date.getString("validOrderNum"));
- export.add(date.getString("voucherValidOrderNum"));
- export.add(date.getString("validOrderRate"));
- export.add(date.getString("orderAmount"));
- export.add(date.getString("voucherOrderAmount"));
- export.add(date.getString("regimentalPromotionAmount"));
- export.add(date.getString("voucherRegimentalPromotionAmount"));
- export.add(date.getString("totalRegimentalSettleAmount"));
- export.add(date.getString("voucherTotalRegimentalSettleAmount"));
- exportList.add(export);
- }
- }
- String[] headers = {"渠道ID", "渠道姓名", "(总)达人数", "(总)领样达人数", "(总)领样率", "(总)未领样数", "发样数", "发样达人数", "发样商品数", "订单数", "(凭)订单数", "有效订单数", "(凭)有效订单数", "有效订单率", "订单金额", "凭(订单金额)", "预估服务费", "(凭)预估服务费", "结算服务费", "(凭)结算服务费"};
- OutputStream os = response.getOutputStream();
- ExportExcelUtils eeu = new ExportExcelUtils();
- XSSFWorkbook workbook = new XSSFWorkbook();
- eeu.exportExcel(workbook, 0, "bd业绩汇总", headers, exportList);
- this.setResponseHeader(response, "bd业绩汇总.xls");
- workbook.write(os);
- os.flush();
- os.close();
- }
- @GetMapping("/bdDetailList")
- @ApiOperation(value = "供应链管理员统计列表")
- public TableDataInfo bdDetailList(
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("用户ID") @RequestParam(value = "collectSampleId", required = false) Long collectSampleId,
- @ApiParam("排序字段") @RequestParam(value = "fieId", required = false) String fieId,
- @ApiParam("排序放肆") @RequestParam(value = "sort", required = false) String sort) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Integer start = DateUtils.getIntegerTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Integer end = DateUtils.getIntegerTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(collectSampleId)) {
- requestMap.put("collectSampleId", collectSampleId);
- }
- requestMap.put("fieId", fieId);
- requestMap.put("sort", sort);
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(500);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.bdDetailList(requestMap);
- return getDataTable(list);
- }
- @GetMapping("/bdTotal")
- @ApiOperation(value = "供应链管理员统计列表")
- public TableDataInfo bdTotal(
- @ApiParam("开始时间") @RequestParam(value = "orderStartDate", required = false) String orderStartDate,
- @ApiParam("结束时间") @RequestParam(value = "orderEndDate", required = false) String orderEndDate,
- @ApiParam("用户ID") @RequestParam(value = "collectSampleId", required = false) Long collectSampleId) {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(orderStartDate)) {
- Integer start = DateUtils.getIntegerTime(orderStartDate);
- requestMap.put("start", start);
- }
- if (!Check.isNull(orderEndDate)) {
- Integer end = DateUtils.getIntegerTime(orderEndDate);
- requestMap.put("end", end);
- }
- if (!Check.isNull(collectSampleId)) {
- requestMap.put("collectSampleId", collectSampleId);
- }
- TableDataInfo dataInfo = new TableDataInfo();
- if (Check.isNullMap(requestMap)) {
- dataInfo.setCode(500);
- dataInfo.setMsg("入参不能为空");
- return dataInfo;
- }
- startPage();
- List<JSONObject> list = supplyChainService.bdTotal(requestMap);
- return getDataTable(list);
- }
- @PostMapping("/exportBdDetail")
- @ApiOperation(value = "认领商品列表")
- @ResponseBody
- public void exportBdDetail(HttpServletRequest request, HttpServletResponse response, @RequestBody JSONObject requestJson) throws IOException {
- Map<String, Object> requestMap = new HashMap<>();
- if (!Check.isNull(requestJson.getString("orderStartDate"))) {
- Integer start = DateUtils.getIntegerTime(requestJson.getString("orderStartDate"));
- requestMap.put("start", start);
- }
- if (!Check.isNull(requestJson.getString("orderEndDate"))) {
- Integer end = DateUtils.getIntegerTime(requestJson.getString("orderEndDate"));
- requestMap.put("end", end);
- }
- if (!Check.isNull(requestJson.getLong("collectSampleId"))) {
- requestMap.put("collectSampleId", (requestJson.getLong("collectSampleId")));
- }
- List<JSONObject> list = supplyChainService.exportBdDetail(requestMap);
- List<List<Object>> exportList = new ArrayList<>();
- if (!Check.isNull(list)) {
- for (int i = 0; i < list.size(); i++) {
- JSONObject date = list.get(i);
- List<Object> export = new ArrayList();
- export.add(date.getString("promoterId"));
- export.add(date.getString("promoterName"));
- export.add(date.getString("sampleCount"));
- export.add(date.getString("orderNum"));
- export.add(date.getString("validOrderNum"));
- export.add(date.getString("validOrderRate"));
- export.add(date.getString("regimentalPromotionAmount"));
- export.add(date.getString("totalRegimentalSettleAmount"));
- export.add(date.getString("promoterUrl"));
- exportList.add(export);
- }
- }
- String[] headers = {"达人ID", "达人名称", "领样数", "订单数", "有效订单数", "有效率", "预估服务费收入", "结算服务费收入", "达人头像"};
- OutputStream os = response.getOutputStream();
- ExportExcelUtils eeu = new ExportExcelUtils();
- XSSFWorkbook workbook = new XSSFWorkbook();
- eeu.exportExcel(workbook, 0, "bd业绩", headers, exportList);
- this.setResponseHeader(response, "bd业绩.xls");
- workbook.write(os);
- os.flush();
- os.close();
- }
- }
|