Преглед изворни кода

Merge branch 'dev' of http://git.ycjcjy.com/zhiyuxing/estateagents into dev

张延森 пре 5 година
родитељ
комит
8c92cb51ee

+ 2
- 8
src/main/java/com/huiju/estateagents/controller/ExtendContentController.java Прегледај датотеку

@@ -5,20 +5,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
-import com.huiju.estateagents.center.taUser.entity.TaUser;
9
-import com.huiju.estateagents.common.CommConstant;
10
-import com.huiju.estateagents.common.MD5Utils;
11 8
 import com.huiju.estateagents.entity.*;
12 9
 import com.huiju.estateagents.service.*;
13 10
 import com.huiju.estateagents.service.impl.HelpActivityServiceImpl;
14
-import io.jsonwebtoken.lang.Collections;
15 11
 import io.swagger.annotations.Api;
16 12
 import io.swagger.annotations.ApiImplicitParam;
17 13
 import io.swagger.annotations.ApiImplicitParams;
18 14
 import io.swagger.annotations.ApiOperation;
19
-import jodd.util.StringUtil;
20 15
 import org.apache.commons.lang3.StringUtils;
21
-import org.apache.ibatis.annotations.Param;
22 16
 import org.slf4j.Logger;
23 17
 import org.slf4j.LoggerFactory;
24 18
 import org.springframework.beans.factory.annotation.Autowired;
@@ -26,7 +20,6 @@ import org.springframework.web.bind.annotation.*;
26 20
 
27 21
 import javax.servlet.http.HttpServletRequest;
28 22
 import java.time.LocalDateTime;
29
-import java.util.Collection;
30 23
 import java.util.List;
31 24
 import java.util.stream.Collectors;
32 25
 
@@ -104,7 +97,7 @@ public class ExtendContentController extends BaseController {
104 97
             queryWrapper.ne("status",9);
105 98
             queryWrapper.eq(status != null, "status", status);
106 99
             queryWrapper.eq( "org_id", getOrgId(request));
107
-            queryWrapper.and(taPersonBuildingList.size() > 0, wapper -> wapper.in("building_id",taPersonBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList())).or().isNull("building_id"));
100
+            queryWrapper.and(taPersonBuildingList.size() > 0, wapper -> wapper.in("building_id",taPersonBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList())).or().eq("create_user",getUserId(request)));
108 101
             queryWrapper.orderByDesc("order_no");
109 102
             queryWrapper.orderByDesc("create_date");
110 103
             IPage<ExtendContent> result = iExtendContentService.page(pg, queryWrapper);
@@ -192,6 +185,7 @@ public class ExtendContentController extends BaseController {
192 185
         if (StringUtils.isEmpty(extendContent.getContentType())){
193 186
             extendContent.setContentType("nothing");
194 187
         }
188
+        extendContent.setCreateUser(getUserId(request));
195 189
         responseBean = iExtendContentService.extendContentAdd(extendContent);
196 190
         responseBean.addSuccess(extendContent);
197 191
         return responseBean;

+ 73
- 0
src/main/java/com/huiju/estateagents/controller/StatisticalController.java Прегледај датотеку

@@ -5,11 +5,13 @@ import com.alibaba.excel.ExcelWriter;
5 5
 import com.alibaba.excel.write.metadata.WriteSheet;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.entity.TdWxDict;
8 9
 import com.huiju.estateagents.excel.IntentionUser;
9 10
 import com.huiju.estateagents.excel.StatsBuilding;
10 11
 import com.huiju.estateagents.excel.StatsTimeBuilding;
11 12
 import com.huiju.estateagents.excel.handler.CustomCellWriteHandler;
12 13
 import com.huiju.estateagents.service.IStatisticalService;
14
+import com.huiju.estateagents.statistic.entity.TsPersonFromStatistic;
13 15
 import org.springframework.beans.factory.annotation.Autowired;
14 16
 import org.springframework.format.annotation.DateTimeFormat;
15 17
 import org.springframework.web.bind.annotation.GetMapping;
@@ -21,7 +23,9 @@ import javax.servlet.http.HttpServletRequest;
21 23
 import javax.servlet.http.HttpServletResponse;
22 24
 import java.io.IOException;
23 25
 import java.time.LocalDate;
26
+import java.util.ArrayList;
24 27
 import java.util.List;
28
+import java.util.Map;
25 29
 
26 30
 /**
27 31
  * 数据统计
@@ -326,4 +330,73 @@ public class StatisticalController extends BaseController {
326 330
         excelWriter.finish();
327 331
     }
328 332
 
333
+
334
+
335
+    /**
336
+     * 新增用户导出
337
+     * @return
338
+     */
339
+    @GetMapping(value = "/admin/exportUserStats")
340
+    public void exportUserStats(@RequestParam(value = "startDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDate startDate,
341
+                                         @RequestParam(value = "endDate", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)  LocalDate endDate,
342
+                                         @RequestParam(value = "userType", required = false) String userType,
343
+                                         HttpServletRequest request, HttpServletResponse response) throws IOException {
344
+        response.setContentType("application/octet-stream");
345
+        response.setCharacterEncoding("utf-8");
346
+        response.setHeader("Content-disposition", "attachment;filename=新增用户.xlsx");
347
+        ResponseBean responseBean = iStatisticalService.selectPersonFrom(getOrgId(request), startDate, endDate);
348
+        List<List<String>> headerList = headerList(responseBean.getData());
349
+        List<List<String>> dataList = dataList(responseBean.getData(),userType);
350
+        EasyExcel.write(response.getOutputStream()).head(headerList).sheet("新增用户").doWrite(dataList);
351
+    }
352
+
353
+    /**
354
+     * 构建表数据
355
+     * @param data
356
+     * @return
357
+     */
358
+    private List<List<String>> dataList(Object data,String userType) {
359
+        Map<String, Object> map = (Map<String, Object>) data;
360
+        List<TsPersonFromStatistic> list = (List<TsPersonFromStatistic>) map.get("list");
361
+        List<List<String>> dataList = new ArrayList<>();
362
+        List<TdWxDict> tdWxDicts = (List<TdWxDict>) map.get("tdWxDicts");
363
+        list.forEach(l -> {
364
+            List<String> columlist = new ArrayList<>();
365
+            columlist.add(l.getCreateTime());
366
+            tdWxDicts.forEach(e -> {
367
+                if (e.getSceneType().equals(l.getSceneType())){
368
+                    if (userType.equals("registered")){
369
+                        columlist.add(l.getRegisteredNum().toString());
370
+                    }else {
371
+                        columlist.add(l.getFromNum().toString());
372
+                    }
373
+                }else {
374
+                    columlist.add("0");
375
+                }
376
+            });
377
+            dataList.add(columlist);
378
+        });
379
+        return dataList;
380
+    }
381
+
382
+    /**
383
+     * 构造表头
384
+     * @param data
385
+     * @return
386
+     */
387
+    private List<List<String>> headerList(Object data) {
388
+        Map<String, Object> map = (Map<String, Object>) data;
389
+        List<TdWxDict> tdWxDicts = (List<TdWxDict>) map.get("tdWxDicts");
390
+        List<List<String>> headerList = new ArrayList<>();
391
+        List<String> rqHeader = new ArrayList<>();
392
+        rqHeader.add("日期");
393
+        headerList.add(rqHeader);
394
+        tdWxDicts.forEach(e -> {
395
+            List<String> header = new ArrayList<>();
396
+            header.add(e.getSceneAlias());
397
+            headerList.add(header);
398
+        });
399
+        return headerList;
400
+    }
401
+
329 402
 }

+ 6
- 12
src/main/java/com/huiju/estateagents/drainage/controller/TaDrainageController.java Прегледај датотеку

@@ -9,35 +9,26 @@ import com.huiju.estateagents.common.CommConstant;
9 9
 import com.huiju.estateagents.common.DateUtils;
10 10
 import com.huiju.estateagents.common.StringUtils;
11 11
 import com.huiju.estateagents.drainage.entity.TaDrainage;
12
-import com.huiju.estateagents.drainage.entity.TaDrainageRecord;
13 12
 import com.huiju.estateagents.drainage.service.ITaDrainageRecordService;
14 13
 import com.huiju.estateagents.drainage.service.ITaDrainageService;
15 14
 import com.huiju.estateagents.entity.ExtendContent;
16 15
 import com.huiju.estateagents.entity.TaMiniapp;
16
+import com.huiju.estateagents.entity.TaPersonBuilding;
17 17
 import com.huiju.estateagents.mapper.TaMiniappMapper;
18 18
 import com.huiju.estateagents.service.IExtendContentService;
19 19
 import com.huiju.estateagents.service.IMiniAppService;
20 20
 import com.huiju.estateagents.third.entity.TaThirdPartyMiniappConfig;
21 21
 import com.huiju.estateagents.third.service.ITaThirdPartyMiniappConfigService;
22
-import io.swagger.models.auth.In;
23 22
 import org.slf4j.Logger;
24 23
 import org.slf4j.LoggerFactory;
25 24
 import org.springframework.beans.factory.annotation.Autowired;
26
-import org.springframework.boot.json.YamlJsonParser;
27
-import org.springframework.web.bind.annotation.PathVariable;
28
-import org.springframework.web.bind.annotation.RequestBody;
29
-import org.springframework.web.bind.annotation.RequestMapping;
30
-import org.springframework.web.bind.annotation.RequestMethod;
31
-import org.springframework.web.bind.annotation.RequestParam;
32
-import org.springframework.web.bind.annotation.ResponseBody;
33
-import org.springframework.web.bind.annotation.RestController;
25
+import org.springframework.web.bind.annotation.*;
34 26
 
35 27
 import javax.servlet.http.HttpServletRequest;
36
-import java.text.DateFormat;
37 28
 import java.time.LocalDateTime;
38
-import java.time.format.DateTimeFormatter;
39 29
 import java.util.List;
40 30
 import java.util.UUID;
31
+import java.util.stream.Collectors;
41 32
 
42 33
 
43 34
 /**
@@ -89,6 +80,7 @@ public class TaDrainageController extends BaseController {
89 80
                                        HttpServletRequest request){
90 81
         ResponseBean responseBean = new ResponseBean();
91 82
         try {
83
+            List<TaPersonBuilding> taPersonBuildingList = getTaPersonBuildingListByUserId(request);
92 84
             //使用分页插件
93 85
 		    IPage<TaDrainage> pg = new Page<>(pageNum, pageSize);
94 86
             QueryWrapper<TaDrainage> queryWrapper = new QueryWrapper<>();
@@ -100,6 +92,7 @@ public class TaDrainageController extends BaseController {
100 92
             queryWrapper.eq(null != status,"status",status);
101 93
             queryWrapper.eq(!StringUtils.isEmpty(buildingId),"building_id",buildingId);
102 94
             queryWrapper.eq(null != drainageId,"drainage_id",drainageId);
95
+            queryWrapper.and(taPersonBuildingList.size() > 0, wapper -> wapper.in("building_id",taPersonBuildingList.stream().map(TaPersonBuilding::getBuildingId).collect(Collectors.toList())).or().eq("create_user",getUserId(request)));
103 96
             queryWrapper.like(!StringUtils.isEmpty(name),"name",name);
104 97
             queryWrapper.orderByDesc("create_date");
105 98
 
@@ -141,6 +134,7 @@ public class TaDrainageController extends BaseController {
141 134
             if (DateUtils.dayToLocalDateime(taDrainage.getEndDate()).isAfter(LocalDateTime.now())){
142 135
                 taDrainage.setStatus(CommConstant.STATUS_NORMAL);
143 136
             }
137
+            taDrainage.setCreateUser(getUserId(request));
144 138
             if (iTaDrainageService.save(taDrainage)){
145 139
                 // 根据ORGID查询当前小程序表的miniapp_id
146 140
                 QueryWrapper<TaMiniapp> taMiniappQuery= new QueryWrapper<>();

+ 6
- 0
src/main/java/com/huiju/estateagents/drainage/entity/TaDrainage.java Прегледај датотеку

@@ -61,6 +61,11 @@ public class TaDrainage implements Serializable {
61 61
      */
62 62
     private Integer enlistNum;
63 63
 
64
+    /**
65
+     * 创建人
66
+     */
67
+    private Integer createUser;
68
+
64 69
     /** 是否投放小程序 */
65 70
     private Boolean isMiniapp ;
66 71
     /** H5活动链接 */
@@ -80,4 +85,5 @@ public class TaDrainage implements Serializable {
80 85
     
81 86
     @TableField(exist = false)
82 87
     private String appSecret;
88
+
83 89
 }

+ 8
- 3
src/main/java/com/huiju/estateagents/entity/ExtendContent.java Прегледај датотеку

@@ -1,13 +1,13 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.*;
4
-
5
-import java.time.LocalDateTime;
6
-import java.io.Serializable;
7 4
 import lombok.Data;
8 5
 import lombok.EqualsAndHashCode;
9 6
 import lombok.experimental.Accessors;
10 7
 
8
+import java.io.Serializable;
9
+import java.time.LocalDateTime;
10
+
11 11
 /**
12 12
  * <p>
13 13
  * 辅助内容表 
@@ -99,6 +99,11 @@ public class ExtendContent implements Serializable {
99 99
 
100 100
     private Integer cityId;
101 101
 
102
+    /**
103
+     * 创建人id
104
+     */
105
+    private Integer createUser;
106
+
102 107
     /**
103 108
      * 排序
104 109
      */

+ 1
- 0
src/main/resources/mapper/statistic/TsPersonFromStatisticMapper.xml Прегледај датотеку

@@ -65,6 +65,7 @@
65 65
         GROUP BY
66 66
         DATE_FORMAT( tp.create_date, '%Y-%m-%d' ),
67 67
         tp.scene_type
68
+        ORDER BY tp.create_date
68 69
     </select>
69 70
     <select id="selectNewLinePersonFromGroupByData"
70 71
             resultType="com.huiju.estateagents.statistic.entity.TsPersonFromStatistic">