Pārlūkot izejas kodu

邀请注册增加分类统计数据及统计总数的接口

hejq 8 gadi atpakaļ
vecāks
revīzija
fdbb17bd91

+ 34 - 1
src/main/java/com/uas/platform/b2b/v2/controller/InviteRecordController.java

@@ -6,12 +6,13 @@ import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.InvitationRecordService;
 import com.uas.platform.b2b.support.CommBufferedLogger;
-import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.v2.model.Invitation;
 import com.uas.platform.b2b.v2.service.InviteRecordService;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.web.bind.RequestState;
+import com.uas.ps.core.util.StringUtils;
 import com.uas.search.b2b.model.SPage;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
@@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
@@ -124,4 +126,35 @@ public class InviteRecordController {
         logger.log("邀请注册", "新增邀请", record.getVendname(), record.getUseruu(), record.getEnuu());
         return recordService.invite(record);
     }
+
+    /**
+     * 按分类获取统计总数
+     *
+     * @param userUU 用户UU
+     * @param enUU 企业UU
+     * @return
+     */
+    @RequestMapping(value = "/count", method = RequestMethod.GET)
+    private ModelMap getInvationCount(Long userUU, Long enUU) {
+        logger.log("邀请注册", "分类获取邀请总数", null, userUU, enUU);
+        return inviteRecordService.getInvationCount(userUU, enUU);
+    }
+
+    /**
+     * 分月获取数据统计
+     *
+     * @param userUU 用户UU
+     * @param enUU 企业UU
+     * @param year 年份
+     * @return
+     */
+    @RequestMapping(value = "/count/groupBydate", method = RequestMethod.GET)
+    private List<Invitation> getCountGroupByDate(Long userUU, Long enUU, String year) {
+        if (StringUtils.isEmpty(year)) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
+            year = sdf.format(new Date());
+        }
+        logger.log("邀请注册", "分月获取邀请数量", null, userUU, enUU);
+        return inviteRecordService.getCountGroupByDate(userUU, enUU, year);
+    }
 }

+ 74 - 0
src/main/java/com/uas/platform/b2b/v2/model/Invitation.java

@@ -0,0 +1,74 @@
+package com.uas.platform.b2b.v2.model;
+
+/**
+ * 邀请记录
+ *
+ * Created by hejq on 2018-03-23.
+ */
+public class Invitation {
+
+    /**
+     * 用户UU
+     */
+    private Long userUU;
+
+    /**
+     * 注册时间
+     */
+    private String time;
+
+    /**
+     * 总数
+     */
+    private Integer count;
+
+    /**
+     * 未注册数量
+     */
+    private Integer todoCount;
+
+    /**
+     * 已注册数量
+     */
+    private Integer doneCount;
+
+    public Long getUserUU() {
+        return userUU;
+    }
+
+    public void setUserUU(Long userUU) {
+        this.userUU = userUU;
+    }
+
+    public String getTime() {
+        return time;
+    }
+
+    public void setTime(String time) {
+        this.time = time;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public Integer getTodoCount() {
+        return todoCount;
+    }
+
+    public void setTodoCount(Integer todoCount) {
+        this.todoCount = todoCount;
+    }
+
+    public Integer getDoneCount() {
+        return doneCount;
+    }
+
+    public void setDoneCount(Integer doneCount) {
+        this.doneCount = doneCount;
+    }
+}

+ 21 - 0
src/main/java/com/uas/platform/b2b/v2/service/InviteRecordService.java

@@ -2,8 +2,10 @@ package com.uas.platform.b2b.v2.service;
 
 import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
+import com.uas.platform.b2b.v2.model.Invitation;
 import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
+import org.springframework.ui.ModelMap;
 
 import java.util.List;
 
@@ -32,4 +34,23 @@ public interface InviteRecordService {
      * @return
      */
     SPage<InvitationRecord> getInviteRecords(Long enUU, Long userUU, PageParams params, String keyword);
+
+    /**
+     * 分类获取邀请数量
+     *
+     * @param userUU 用户UU
+     * @param enUU 企业UU
+     * @return
+     */
+    ModelMap getInvationCount(Long userUU, Long enUU);
+
+    /**
+     * 分月获取邀请数量
+     *
+     * @param userUU 用户UU
+     * @param enUU 企业UU
+     * @param year 年份
+     * @return
+     */
+    List<Invitation> getCountGroupByDate(Long userUU, Long enUU, String year);
 }

+ 46 - 0
src/main/java/com/uas/platform/b2b/v2/service/impl/InviteRecordServiceImpl.java

@@ -1,15 +1,18 @@
 package com.uas.platform.b2b.v2.service.impl;
 
+import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.model.Enterprise;
 import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
 import com.uas.platform.b2b.service.EnterpriseService;
 import com.uas.platform.b2b.service.InvitationRecordService;
+import com.uas.platform.b2b.v2.model.Invitation;
 import com.uas.platform.b2b.v2.service.InviteRecordService;
 import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
@@ -27,6 +30,9 @@ public class InviteRecordServiceImpl implements InviteRecordService {
     @Autowired
     private InvitationRecordService invitationRecordService;
 
+    @Autowired
+    private CommonDao commonDao;
+
     /**
      * 通过填写的名称检验企业是否已注册
      *
@@ -66,4 +72,44 @@ public class InviteRecordServiceImpl implements InviteRecordService {
     public SPage<InvitationRecord> getInviteRecords(Long enUU, Long userUU, PageParams params, String keyword) {
         return invitationRecordService.getRecords(params, keyword);
     }
+
+    /**
+     * 分类获取邀请数量
+     *
+     * @param userUU 用户UU
+     * @param enUU   企业UU
+     * @return
+     */
+    @Override
+    public ModelMap getInvationCount(Long userUU, Long enUU) {
+        ModelMap map = new ModelMap();
+        Integer allNum = 0;
+        Integer todoNum = 0;
+        Integer doneNum = 0;
+        String allSql = "select sum(count) from v$invitation where useruu = " + userUU;
+        String todoSql = "select sum(count) from v$invitation where active = 0 and useruu = " + userUU;
+        String doneSql = "select sum(count) from v$invitation where active = 1 and useruu = " + userUU;
+        allNum = commonDao.queryForObject(allSql, Integer.class);
+        todoNum = commonDao.queryForObject(todoSql, Integer.class);
+        doneNum = commonDao.queryForObject(doneSql, Integer.class);
+        map.put("all", allNum);
+        map.put("todo", todoNum);
+        map.put("done", doneNum);
+        return map;
+    }
+
+    /**
+     * 分月获取邀请数量
+     *
+     * @param userUU 用户UU
+     * @param enUU   企业UU
+     * @param year   年份
+     * @return
+     */
+    @Override
+    public List<Invitation> getCountGroupByDate(Long userUU, Long enUU, String year) {
+        String sql = "SELECT a.time,v.count todoCount, a.count count FROM v$invitation V LEFT JOIN v$invitation_all A ON V.USERUU = A.USERUU AND A.TIME = V.TIME WHERE v.active = 0" +
+                "and a.time like '%" + year + "%' and a.useruu = " + userUU;
+        return commonDao.query(sql, Invitation.class);
+    }
 }