|
@@ -0,0 +1,123 @@
|
|
|
+package cn.rankin.cmsweb.controller.stmt;
|
|
|
+
|
|
|
+import cn.rankin.cmsweb.assist.resolver.NeedUser;
|
|
|
+import cn.rankin.cmsweb.entity.UserDetails;
|
|
|
+import cn.rankin.cmsweb.service.product.ProductService;
|
|
|
+import cn.rankin.cmsweb.service.stmt.StmtCampusService;
|
|
|
+import cn.rankin.cmsweb.service.user.CampusService;
|
|
|
+import cn.rankin.cmsweb.service.user.TerminalUserService;
|
|
|
+import cn.rankin.common.utils.api.model.APIResult;
|
|
|
+import cn.rankin.common.utils.api.page.Page;
|
|
|
+import cn.rankin.common.utils.util.BeanUtil;
|
|
|
+import cn.rankin.common.utils.util.DateUtil;
|
|
|
+import cn.rankin.common.utils.util.ListUtil;
|
|
|
+import cn.rankin.common.utils.util.ProvinceUtil;
|
|
|
+import cn.rankin.data.api.product.vo.ProductVo;
|
|
|
+import cn.rankin.data.api.user.dto.CampusSearchDTO;
|
|
|
+import cn.rankin.data.api.user.dto.TerminalUserSearchDTO;
|
|
|
+import cn.rankin.data.api.user.vo.CampusVo;
|
|
|
+import cn.rankin.data.api.user.vo.TerminalUserAuthVo;
|
|
|
+import cn.rankin.data.api.user.vo.TerminalUserVo;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.poi.hssf.usermodel.*;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.io.OutputStream;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@RestController
|
|
|
+@RequestMapping(value = "/stmt/stats")
|
|
|
+public class StmtStatsController
|
|
|
+{
|
|
|
+ @Autowired
|
|
|
+ private TerminalUserService terminalUserService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ProductService productService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CampusService campusService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private StmtCampusService stmtService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询已开通校区报表
|
|
|
+ *
|
|
|
+ * @param user the user info
|
|
|
+ * @param searchDTO the campus search
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = {"/page", "/"}, method = RequestMethod.GET)
|
|
|
+ public APIResult<Page<TerminalUserVo>> campusList(@NeedUser UserDetails user, TerminalUserSearchDTO searchDTO)
|
|
|
+ {
|
|
|
+ if (!user.isPlatForm())
|
|
|
+ {
|
|
|
+ String merchantId = user.getMerchantId();
|
|
|
+ searchDTO.setMerchantId(merchantId);
|
|
|
+ }
|
|
|
+ APIResult<Page<TerminalUserVo>> page= terminalUserService.search(BeanUtil.convertToMap(searchDTO));
|
|
|
+
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询已开通校区报表
|
|
|
+ *
|
|
|
+ * @param user the user info
|
|
|
+ * @param campusSearchDTO the campus search
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = {"/campus/totalsize", "/"}, method = RequestMethod.GET)
|
|
|
+ public APIResult<Page<CampusVo>> campusList(@NeedUser UserDetails user, CampusSearchDTO campusSearchDTO)
|
|
|
+ {
|
|
|
+ if (!user.isPlatForm())
|
|
|
+ {
|
|
|
+ String merchantId = user.getMerchantId();
|
|
|
+ campusSearchDTO.setMerchantId(merchantId);
|
|
|
+ }
|
|
|
+ APIResult<Page<CampusVo>> pageData = stmtService.search(BeanUtil.convertToMap(campusSearchDTO));
|
|
|
+
|
|
|
+ return APIResult.ok(pageData.getData().getTotalSize());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void setProductInfo(List<TerminalUserAuthVo> terminalUserAuthVos)
|
|
|
+ {
|
|
|
+ if (CollectionUtils.isEmpty(terminalUserAuthVos))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<ProductVo> productVos = productService.productList();
|
|
|
+ if (CollectionUtils.isEmpty(productVos))
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, ProductVo> productVoMap = ListUtil.convert(productVos, "pid", ProductVo.class);
|
|
|
+
|
|
|
+ terminalUserAuthVos.forEach(vo ->
|
|
|
+ {
|
|
|
+ ProductVo productVo = productVoMap.get(vo.getPid());
|
|
|
+ if (null != productVo)
|
|
|
+ {
|
|
|
+ vo.setPCode(productVo.getCode());
|
|
|
+ vo.setPName(productVo.getName());
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ log.info("not found product by pid ,pid={}", vo.getPid());
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+}
|