增加统计规则
parent
591db69a86
commit
a8840a4fb5
|
@ -9,9 +9,12 @@ type ApiWtGroup struct {
|
|||
WtTemplateApi
|
||||
WtCommentApi
|
||||
WtRuleApi
|
||||
WtOutputApi
|
||||
}
|
||||
|
||||
var wtReportsService = service.ServiceGroupApp.WtServiceGroup.WtReportsService
|
||||
var wtTemplatesService = service.ServiceGroupApp.WtServiceGroup.WtTemplateService
|
||||
var wtCommentService = service.ServiceGroupApp.WtServiceGroup.WtCommentService
|
||||
var wtRuleService = service.ServiceGroupApp.WtServiceGroup.WtRuleService
|
||||
var wtOutputService = service.ServiceGroupApp.WtServiceGroup.WtOutputService
|
||||
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
package wt
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"go.uber.org/zap"
|
||||
"goweb-gin-demo/global"
|
||||
"goweb-gin-demo/model/common/request"
|
||||
"goweb-gin-demo/model/common/response"
|
||||
)
|
||||
|
||||
type WtOutputApi struct {
|
||||
|
||||
}
|
||||
|
||||
// GetStatResult 根据用户id查询统计结果
|
||||
// @Tags WtOutput
|
||||
// @Summary 根据用户id查询统计结果
|
||||
// @Security ApiKeyAuth
|
||||
// @accept application/json
|
||||
// @Produce application/json
|
||||
// @Param data query request.GetByUserID true "根据用户id查询统计结果"
|
||||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"查询成功"}"
|
||||
// @Router /wtOutput/GetStatResult [get]
|
||||
func (wtRuleApi *WtOutputApi) GetStatResult(c *gin.Context) {
|
||||
var idInfo request.GetByUserID
|
||||
c.ShouldBindQuery(&idInfo)
|
||||
|
||||
if err, rewtOutput := wtOutputService.GetStatResult(idInfo); err != nil {
|
||||
global.GLOBAL_LOG.Error("查询失败!", zap.Any("err", err))
|
||||
response.FailWithMessage("查询失败", c)
|
||||
} else {
|
||||
response.OkWithData(gin.H{"rewtOutput": rewtOutput}, c)
|
||||
}
|
||||
}
|
100
docs/docs.go
100
docs/docs.go
|
@ -1572,6 +1572,40 @@ var doc = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"/wtOutput/GetStatResult": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"ApiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"WtOutput"
|
||||
],
|
||||
"summary": "根据用户id查询统计结果",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "userId",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "{\"success\":true,\"data\":{},\"msg\":\"查询成功\"}",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/wtReports/createWtReports": {
|
||||
"post": {
|
||||
"security": [
|
||||
|
@ -1920,8 +1954,13 @@ var doc = `{
|
|||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "endTime",
|
||||
"type": "integer",
|
||||
"name": "endHour",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "endWeek",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
|
@ -1948,8 +1987,13 @@ var doc = `{
|
|||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "startTime",
|
||||
"type": "integer",
|
||||
"name": "startHour",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "startWeek",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
|
@ -2196,6 +2240,11 @@ var doc = `{
|
|||
"name": "updatedAt",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "userId",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "userName",
|
||||
|
@ -2252,6 +2301,17 @@ var doc = `{
|
|||
}
|
||||
},
|
||||
"definitions": {
|
||||
"common.UserInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config.AliyunOSS": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -2835,9 +2895,12 @@ var doc = `{
|
|||
"sendTo": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/wt.UserInfo"
|
||||
"$ref": "#/definitions/common.UserInfo"
|
||||
}
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
},
|
||||
"userName": {
|
||||
"type": "string"
|
||||
}
|
||||
|
@ -2846,8 +2909,11 @@ var doc = `{
|
|||
"request.WtRuleRes": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"endTime": {
|
||||
"type": "string"
|
||||
"endHour": {
|
||||
"type": "integer"
|
||||
},
|
||||
"endWeek": {
|
||||
"type": "integer"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
|
@ -2855,11 +2921,14 @@ var doc = `{
|
|||
"reporters": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"$ref": "#/definitions/common.UserInfo"
|
||||
}
|
||||
},
|
||||
"startTime": {
|
||||
"type": "string"
|
||||
"startHour": {
|
||||
"type": "integer"
|
||||
},
|
||||
"startWeek": {
|
||||
"type": "integer"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
|
@ -3122,17 +3191,6 @@ var doc = `{
|
|||
}
|
||||
}
|
||||
},
|
||||
"wt.UserInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wt.WtComment": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
|
|
@ -1553,6 +1553,40 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"/wtOutput/GetStatResult": {
|
||||
"get": {
|
||||
"security": [
|
||||
{
|
||||
"ApiKeyAuth": []
|
||||
}
|
||||
],
|
||||
"consumes": [
|
||||
"application/json"
|
||||
],
|
||||
"produces": [
|
||||
"application/json"
|
||||
],
|
||||
"tags": [
|
||||
"WtOutput"
|
||||
],
|
||||
"summary": "根据用户id查询统计结果",
|
||||
"parameters": [
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "userId",
|
||||
"in": "query"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "{\"success\":true,\"data\":{},\"msg\":\"查询成功\"}",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/wtReports/createWtReports": {
|
||||
"post": {
|
||||
"security": [
|
||||
|
@ -1901,8 +1935,13 @@
|
|||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "endTime",
|
||||
"type": "integer",
|
||||
"name": "endHour",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "endWeek",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
|
@ -1929,8 +1968,13 @@
|
|||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "startTime",
|
||||
"type": "integer",
|
||||
"name": "startHour",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "startWeek",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
|
@ -2177,6 +2221,11 @@
|
|||
"name": "updatedAt",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "integer",
|
||||
"name": "userId",
|
||||
"in": "query"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"name": "userName",
|
||||
|
@ -2233,6 +2282,17 @@
|
|||
}
|
||||
},
|
||||
"definitions": {
|
||||
"common.UserInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config.AliyunOSS": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -2816,9 +2876,12 @@
|
|||
"sendTo": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/definitions/wt.UserInfo"
|
||||
"$ref": "#/definitions/common.UserInfo"
|
||||
}
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
},
|
||||
"userName": {
|
||||
"type": "string"
|
||||
}
|
||||
|
@ -2827,8 +2890,11 @@
|
|||
"request.WtRuleRes": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"endTime": {
|
||||
"type": "string"
|
||||
"endHour": {
|
||||
"type": "integer"
|
||||
},
|
||||
"endWeek": {
|
||||
"type": "integer"
|
||||
},
|
||||
"id": {
|
||||
"type": "integer"
|
||||
|
@ -2836,11 +2902,14 @@
|
|||
"reporters": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
"$ref": "#/definitions/common.UserInfo"
|
||||
}
|
||||
},
|
||||
"startTime": {
|
||||
"type": "string"
|
||||
"startHour": {
|
||||
"type": "integer"
|
||||
},
|
||||
"startWeek": {
|
||||
"type": "integer"
|
||||
},
|
||||
"userId": {
|
||||
"type": "integer"
|
||||
|
@ -3103,17 +3172,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"wt.UserInfo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wt.WtComment": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
definitions:
|
||||
common.UserInfo:
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
config.AliyunOSS:
|
||||
properties:
|
||||
accessKeyId:
|
||||
|
@ -403,23 +410,29 @@ definitions:
|
|||
type: array
|
||||
sendTo:
|
||||
items:
|
||||
$ref: '#/definitions/wt.UserInfo'
|
||||
$ref: '#/definitions/common.UserInfo'
|
||||
type: array
|
||||
userId:
|
||||
type: integer
|
||||
userName:
|
||||
type: string
|
||||
type: object
|
||||
request.WtRuleRes:
|
||||
properties:
|
||||
endTime:
|
||||
type: string
|
||||
endHour:
|
||||
type: integer
|
||||
endWeek:
|
||||
type: integer
|
||||
id:
|
||||
type: integer
|
||||
reporters:
|
||||
items:
|
||||
type: string
|
||||
$ref: '#/definitions/common.UserInfo'
|
||||
type: array
|
||||
startTime:
|
||||
type: string
|
||||
startHour:
|
||||
type: integer
|
||||
startWeek:
|
||||
type: integer
|
||||
userId:
|
||||
type: integer
|
||||
type: object
|
||||
|
@ -602,13 +615,6 @@ definitions:
|
|||
name:
|
||||
type: string
|
||||
type: object
|
||||
wt.UserInfo:
|
||||
properties:
|
||||
id:
|
||||
type: integer
|
||||
name:
|
||||
type: string
|
||||
type: object
|
||||
wt.WtComment:
|
||||
properties:
|
||||
comment:
|
||||
|
@ -1568,6 +1574,26 @@ paths:
|
|||
summary: 更新周报评论
|
||||
tags:
|
||||
- WtComment
|
||||
/wtOutput/GetStatResult:
|
||||
get:
|
||||
consumes:
|
||||
- application/json
|
||||
parameters:
|
||||
- in: query
|
||||
name: userId
|
||||
type: integer
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
"200":
|
||||
description: '{"success":true,"data":{},"msg":"查询成功"}'
|
||||
schema:
|
||||
type: string
|
||||
security:
|
||||
- ApiKeyAuth: []
|
||||
summary: 根据用户id查询统计结果
|
||||
tags:
|
||||
- WtOutput
|
||||
/wtReports/createWtReports:
|
||||
post:
|
||||
consumes:
|
||||
|
@ -1774,8 +1800,11 @@ paths:
|
|||
name: createdAt
|
||||
type: string
|
||||
- in: query
|
||||
name: endTime
|
||||
type: string
|
||||
name: endHour
|
||||
type: integer
|
||||
- in: query
|
||||
name: endWeek
|
||||
type: integer
|
||||
- description: 主键ID
|
||||
in: query
|
||||
name: id
|
||||
|
@ -1792,8 +1821,11 @@ paths:
|
|||
name: reporters
|
||||
type: string
|
||||
- in: query
|
||||
name: startTime
|
||||
type: string
|
||||
name: startHour
|
||||
type: integer
|
||||
- in: query
|
||||
name: startWeek
|
||||
type: integer
|
||||
- description: 更新时间
|
||||
in: query
|
||||
name: updatedAt
|
||||
|
@ -1943,6 +1975,9 @@ paths:
|
|||
in: query
|
||||
name: updatedAt
|
||||
type: string
|
||||
- in: query
|
||||
name: userId
|
||||
type: integer
|
||||
- in: query
|
||||
name: userName
|
||||
type: string
|
||||
|
|
BIN
goweb-gin-demo
BIN
goweb-gin-demo
Binary file not shown.
|
@ -43,6 +43,7 @@ func Routers() *gin.Engine {
|
|||
RouterGroup.InitAuthorityRouter(PrivateGroup)
|
||||
RouterGroup.InitWtReportsRouter(PrivateGroup)
|
||||
RouterGroup.InitWtRuleRouter(PrivateGroup)
|
||||
RouterGroup.InitWtOutputRouter(PrivateGroup)
|
||||
}
|
||||
|
||||
global.GLOBAL_LOG.Info("router register success")
|
||||
|
|
|
@ -1 +1 @@
|
|||
log/2021-11-06.log
|
||||
log/2021-11-08.log
|
|
@ -0,0 +1,45 @@
|
|||
[goweb-demo]2021/11/08 - 12:14:36.981 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 12:14:36.983 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 12:28:34.488 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
|
||||
[goweb-demo]2021/11/08 - 14:02:44.346 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:02:44.348 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:02:47.047 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
|
||||
[goweb-demo]2021/11/08 - 14:12:12.848 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:12:12.850 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:14:15.070 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
|
||||
[goweb-demo]2021/11/08 - 14:14:20.862 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:14:20.864 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:20:36.683 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 accept tcp [::]:8888: use of closed network connection
|
||||
[goweb-demo]2021/11/08 - 14:20:45.368 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:20:45.370 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:21:16.721 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:21:16.722 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:21:16.723 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:38 net.Listen error: listen tcp :8888: bind: address already in use
|
||||
[goweb-demo]2021/11/08 - 14:21:34.191 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:21:34.192 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:29:44.657 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:29:44.659 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:30:50.225 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:30:50.227 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:31:22.634 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:31:22.636 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:35:04.091 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:35:04.092 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:35:46.073 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:35:46.077 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:36:25.242 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:36:25.243 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:37:34.938 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:37:34.940 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:38:58.383 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/api/wt/wt_output.go:29 查询失败! {"err": "Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '09:00:00 and created_at <= 2021-11-08 09:00:00 and user_id in (?) ) AND `wt_repo' at line 1; Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '09:00:00 and created_at <= 2021-11-08 09:00:00 and user_id in (?) ) AND `wt_repo' at line 1"}
|
||||
[goweb-demo]2021/11/08 - 14:39:03.140 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/api/wt/wt_output.go:29 查询失败! {"err": "Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '09:00:00 and created_at <= 2021-11-08 09:00:00 and user_id in (?) ) AND `wt_repo' at line 1; Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '09:00:00 and created_at <= 2021-11-08 09:00:00 and user_id in (?) ) AND `wt_repo' at line 1"}
|
||||
[goweb-demo]2021/11/08 - 14:42:14.586 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:42:14.588 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 14:45:36.235 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/api/wt/wt_rules.go:30 创建失败! {"err": "Error 1364: Field 'id' doesn't have a default value"}
|
||||
[goweb-demo]2021/11/08 - 14:46:19.749 [31merror[0m /Users/zero/work/mygithub/goweb-gin-demo/api/wt/wt_rules.go:30 创建失败! {"err": "Error 1364: Field 'id' doesn't have a default value"}
|
||||
[goweb-demo]2021/11/08 - 14:53:12.360 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 14:53:12.361 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 15:04:15.664 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 15:04:15.665 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
||||
[goweb-demo]2021/11/08 - 15:06:04.502 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/initialize/router.go:49 router register success
|
||||
[goweb-demo]2021/11/08 - 15:06:04.503 [34minfo[0m /Users/zero/work/mygithub/goweb-gin-demo/core/server.go:31 server run success on {"address": ":8888"}
|
|
@ -0,0 +1,6 @@
|
|||
package common
|
||||
|
||||
type UserInfo struct {
|
||||
ID uint `json:"id" form:"id"`
|
||||
Name string `json:"name"`
|
||||
}
|
|
@ -20,4 +20,8 @@ type GetAuthorityId struct {
|
|||
AuthorityId string `json:"authorityId" form:"authorityId"` // 角色ID
|
||||
}
|
||||
|
||||
type GetByUserID struct {
|
||||
UserId uint `json:"userId" form:"userId"`
|
||||
}
|
||||
|
||||
type Empty struct{}
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
package request
|
||||
|
||||
import (
|
||||
"goweb-gin-demo/model/common"
|
||||
"goweb-gin-demo/model/common/request"
|
||||
"goweb-gin-demo/model/wt"
|
||||
)
|
||||
|
||||
//query参数要用: form, 而不是json
|
||||
type WtReportsSearch struct{
|
||||
UserId uint `form:"userId"`
|
||||
type WtReportsSearch struct {
|
||||
UserId uint `form:"userId"`
|
||||
StartTime string `form:"startTime" example:"2021-11-04 12:36:34"`
|
||||
EndTime string `form:"endTime"`
|
||||
Content string `form:"content" example:"xx项目"`
|
||||
EndTime string `form:"endTime"`
|
||||
Content string `form:"content" example:"xx项目"`
|
||||
request.PageInfo
|
||||
}
|
||||
|
||||
type WtReportsVO struct{
|
||||
ID uint
|
||||
UserName string `json:"userName"`
|
||||
SendTo []wt.UserInfo `json:"sendTo"`
|
||||
Header string `json:"header"`
|
||||
Contents []wt.Contents `json:"contents"`
|
||||
Pictures []wt.UploadFileJson `json:"pictures"`
|
||||
type WtReportsVO struct {
|
||||
ID uint `json:"id" form:"id"`
|
||||
UserName string `json:"userName"`
|
||||
UserId int `form:"userId"`
|
||||
SendTo []common.UserInfo `json:"sendTo"`
|
||||
Header string `json:"header"`
|
||||
Contents []wt.Contents `json:"contents"`
|
||||
Pictures []wt.UploadFileJson `json:"pictures"`
|
||||
Attachments []wt.UploadFileJson `json:"attachments"`
|
||||
}
|
||||
|
||||
|
|
|
@ -1,19 +1,22 @@
|
|||
package request
|
||||
|
||||
import (
|
||||
"goweb-gin-demo/model/common"
|
||||
"goweb-gin-demo/model/common/request"
|
||||
"goweb-gin-demo/model/wt"
|
||||
)
|
||||
|
||||
type WtRuleSearch struct{
|
||||
wt.WtRule
|
||||
request.PageInfo
|
||||
type WtRuleSearch struct {
|
||||
wt.WtRule
|
||||
request.PageInfo
|
||||
}
|
||||
|
||||
type WtRuleRes struct {
|
||||
ID uint
|
||||
UserId int
|
||||
Reporters []string
|
||||
StartTime string
|
||||
EndTime string
|
||||
}
|
||||
ID uint `json:"id" form:"id"`
|
||||
UserId int `json:"userId" form:"userId" gorm:"column:user_id;comment:用户id;type:bigint"`
|
||||
Reporters []common.UserInfo `json:"reporters" form:"reporters" gorm:"column:reporters;comment:需要提交报告的人;type:varchar(500);"`
|
||||
StartWeek int `json:"startWeek" form:"startWeek" gorm:"column:start_week;comment:提交报告的开始在周几;type:int;"`
|
||||
StartHour int `json:"startHour" form:"startHour" gorm:"column:start_hour;comment:提交周报的开始时间小时;type:int;"`
|
||||
EndWeek int `json:"endWeek" form:"endWeek" gorm:"column:end_week;comment:提交报告的结束在周几;type:int;"`
|
||||
EndHour int `json:"endHour" form:"endHour" gorm:"column:end_hour;comment:提交报告的结束时间小时;type:int;"`
|
||||
}
|
||||
|
|
|
@ -5,14 +5,14 @@ import (
|
|||
"goweb-gin-demo/model/wt"
|
||||
)
|
||||
|
||||
type WtTemplateSearch struct{
|
||||
type WtTemplateSearch struct {
|
||||
wt.WtReports
|
||||
request.PageInfo
|
||||
}
|
||||
|
||||
type WtTemplateRes struct{
|
||||
ID uint
|
||||
UserName string `json:"userName"`
|
||||
Header string `json:"header"`
|
||||
type WtTemplateRes struct {
|
||||
ID uint `json:"id" form:"id"`
|
||||
UserName string `json:"userName"`
|
||||
Header string `json:"header"`
|
||||
Contents []wt.Contents `json:"contents"`
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
package response
|
||||
|
||||
import "goweb-gin-demo/model/common"
|
||||
|
||||
// 周报统计结果
|
||||
type StatResult struct {
|
||||
CommitCount int `json:"commitCount"`
|
||||
UncommitCount int `json:"uncommitCount"`
|
||||
CommitPeoples []common.UserInfo `json:"commitPeoples"`
|
||||
UncommitPeoples []common.UserInfo `json:"uncommitPeoples"`
|
||||
}
|
|
@ -2,21 +2,22 @@ package response
|
|||
|
||||
import (
|
||||
"goweb-gin-demo/global"
|
||||
"goweb-gin-demo/model/common"
|
||||
"goweb-gin-demo/model/wt"
|
||||
)
|
||||
|
||||
|
||||
type WtReportsResult struct{
|
||||
type WtReportsResult struct {
|
||||
global.GLOBAL_MODEL
|
||||
WtReportInfo
|
||||
}
|
||||
|
||||
type WtReportInfo struct {
|
||||
UserName string `json:"userName"`
|
||||
SendTo []wt.UserInfo `json:"sendTo"`
|
||||
Header string `json:"header"`
|
||||
Contents []wt.Contents `json:"contents"`
|
||||
Pictures []wt.UploadFileJson `json:"pictures"`
|
||||
UserName string `json:"userName"`
|
||||
UserId int `json:"userId"`
|
||||
SendTo []common.UserInfo `json:"sendTo"`
|
||||
Header string `json:"header"`
|
||||
Contents []wt.Contents `json:"contents"`
|
||||
Pictures []wt.UploadFileJson `json:"pictures"`
|
||||
Attachments []wt.UploadFileJson `json:"attachments"`
|
||||
}
|
||||
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
package response
|
||||
|
||||
import "goweb-gin-demo/global"
|
||||
import (
|
||||
"goweb-gin-demo/global"
|
||||
"goweb-gin-demo/model/common"
|
||||
)
|
||||
|
||||
type WtRuleResult struct {
|
||||
global.GLOBAL_MODEL
|
||||
UserId int
|
||||
Reporters []string
|
||||
StartTime string
|
||||
EndTime string
|
||||
UserId int `json:"userId" form:"userId" gorm:"column:user_id;comment:用户id;type:bigint"`
|
||||
Reporters []common.UserInfo `json:"reporters" form:"reporters" gorm:"column:reporters;comment:需要提交报告的人;type:varchar(500);"`
|
||||
StartWeek int `json:"startWeek" form:"startWeek" gorm:"column:start_week;comment:提交报告的开始在周几;type:int;"`
|
||||
StartHour int `json:"startHour" form:"startHour" gorm:"column:start_hour;comment:提交周报的开始时间小时;type:int;"`
|
||||
EndWeek int `json:"endWeek" form:"endWeek" gorm:"column:end_week;comment:提交报告的结束在周几;type:int;"`
|
||||
EndHour int `json:"endHour" form:"endHour" gorm:"column:end_hour;comment:提交报告的结束时间小时;type:int;"`
|
||||
}
|
||||
|
|
|
@ -11,5 +11,4 @@ type WtTemplateResult struct{
|
|||
UserName string `json:"userName"`
|
||||
Header string `json:"header"`
|
||||
Contents []wt.Contents `json:"contents"`
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package wt
|
||||
|
||||
type StatDataSearch struct {
|
||||
StartTime string `json:"startTime" form:"startTime"`
|
||||
EndTime string `json:"endTime" form:"endTime"`
|
||||
UserIds []int `json:"userIds" form:"userIds"`
|
||||
}
|
|
@ -5,15 +5,15 @@ import "goweb-gin-demo/global"
|
|||
// WtReports 结构体
|
||||
type WtReports struct {
|
||||
global.GLOBAL_MODEL
|
||||
UserName string `json:"userName" form:"userName" gorm:"column:user_name;comment:用户名;type:varchar(100);"`
|
||||
SendTo string `json:"sendTo" form:"sendTo" gorm:"column:send_to;comment:发送给谁;type:varchar(100);"`
|
||||
Header string `json:"header" form:"header" gorm:"column:header;comment:报告标题名;type:varchar(100);"`
|
||||
Contents string `json:"contents" form:"contents" gorm:"column:contents;comment:报告内容;type:mediumtext;"`
|
||||
Pictures string `json:"pictures" form:"pictures" gorm:"column:pictures;comment:图片;type:text;"`
|
||||
Attachments string `json:"attachments" form:"attachments" gorm:"column:attachments;comment:附件;type:text;"`
|
||||
UserName string `json:"userName" form:"userName" gorm:"column:user_name;comment:用户名;type:varchar(100);"`
|
||||
UserId int `json:"userId" form:"userId" gorm:"column:user_id;comment:用户id;type:bigint"`
|
||||
SendTo string `json:"sendTo" form:"sendTo" gorm:"column:send_to;comment:发送给谁;type:varchar(100);"`
|
||||
Header string `json:"header" form:"header" gorm:"column:header;comment:报告标题名;type:varchar(100);"`
|
||||
Contents string `json:"contents" form:"contents" gorm:"column:contents;comment:报告内容;type:mediumtext;"`
|
||||
Pictures string `json:"pictures" form:"pictures" gorm:"column:pictures;comment:图片;type:text;"`
|
||||
Attachments string `json:"attachments" form:"attachments" gorm:"column:attachments;comment:附件;type:text;"`
|
||||
}
|
||||
|
||||
|
||||
// TableName WtReports 表名
|
||||
func (WtReports) TableName() string {
|
||||
return "wt_reports"
|
||||
|
@ -21,17 +21,12 @@ func (WtReports) TableName() string {
|
|||
|
||||
// 报告内容
|
||||
type Contents struct {
|
||||
Title string `json:"title"`
|
||||
Title string `json:"title"`
|
||||
Content string `json:"content"`
|
||||
}
|
||||
|
||||
// 上传文件
|
||||
type UploadFileJson struct {
|
||||
Key string `json:"key"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
type UserInfo struct {
|
||||
ID uint
|
||||
Key string `json:"key"`
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
|
|
@ -6,16 +6,16 @@ import (
|
|||
|
||||
// WtRule 结构体
|
||||
type WtRule struct {
|
||||
global.GLOBAL_MODEL
|
||||
UserId int `json:"userId" form:"userId" gorm:"column:user_id;comment:用户id;type:bigint"`
|
||||
Reporters string `json:"reporters" form:"reporters" gorm:"column:reporters;comment:需要提交报告的人;type:varchar(500);"`
|
||||
StartTime string `json:"startTime" form:"startTime" gorm:"column:start_time;comment:提交报告的起始时间5-0900 代表周五9点;type:varchar(50);"`
|
||||
EndTime string `json:"endTime" form:"endTime" gorm:"column:end_time;comment:提交报告的结束时间8-0900 代表次周一9点截止;type:varchar(50);"`
|
||||
global.GLOBAL_MODEL
|
||||
UserId int `json:"userId" form:"userId" gorm:"column:user_id;comment:用户id;type:bigint"`
|
||||
Reporters string `json:"reporters" form:"reporters" gorm:"column:reporters;comment:需要提交报告的人;type:varchar(500);"`
|
||||
StartWeek int `json:"startWeek" form:"startWeek" gorm:"column:start_week;comment:提交报告的开始在周几;type:int;"`
|
||||
StartHour int `json:"startHour" form:"startHour" gorm:"column:start_hour;comment:提交周报的开始时间小时;type:int;"`
|
||||
EndWeek int `json:"endWeek" form:"endWeek" gorm:"column:end_week;comment:提交报告的结束在周几;type:int;"`
|
||||
EndHour int `json:"endHour" form:"endHour" gorm:"column:end_hour;comment:提交报告的结束时间小时;type:int;"`
|
||||
}
|
||||
|
||||
|
||||
// TableName WtRule 表名
|
||||
func (WtRule) TableName() string {
|
||||
return "wt_rules"
|
||||
return "wt_rules"
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ type RouterGroup struct {
|
|||
|
||||
wt.WtReportsRouter
|
||||
wt.WtRuleRouter
|
||||
wt.WtOutputRouter
|
||||
}
|
||||
|
||||
var RouterGroupApp = new(RouterGroup)
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package wt
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"goweb-gin-demo/api"
|
||||
)
|
||||
|
||||
type WtOutputRouter struct {
|
||||
}
|
||||
|
||||
// InitWtOutputRouter 初始化 统计导出 路由信息
|
||||
func (s *WtOutputRouter) InitWtOutputRouter(Router *gin.RouterGroup) {
|
||||
//wtOutputRouter := Router.Group("wtOutput").Use(middleware.OperationRecord())
|
||||
wtOutputRouterWithoutRecord := Router.Group("wtOutput")
|
||||
var wtOutputApi = api.ApiGroupApp.WtServiceGroup.WtOutputApi
|
||||
{
|
||||
}
|
||||
{
|
||||
wtOutputRouterWithoutRecord.GET("GetStatResult", wtOutputApi.GetStatResult) // 根据用户ID获取统计规则
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package helper
|
||||
|
||||
type HelperGroup struct {
|
||||
|
||||
}
|
|
@ -5,4 +5,5 @@ type WtServiceGroup struct {
|
|||
WtTemplateService
|
||||
WtCommentService
|
||||
WtRuleService
|
||||
WtOutputService
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
package wt
|
||||
|
||||
import (
|
||||
"goweb-gin-demo/model/common"
|
||||
"goweb-gin-demo/model/common/request"
|
||||
"goweb-gin-demo/model/wt"
|
||||
wtReq "goweb-gin-demo/model/wt/request"
|
||||
wtRes "goweb-gin-demo/model/wt/response"
|
||||
"goweb-gin-demo/utils"
|
||||
)
|
||||
|
||||
type WtOutputService struct {
|
||||
}
|
||||
|
||||
|
||||
// GetWtRule 根据id获取WtRule记录
|
||||
func (wtOutputService *WtOutputService) GetStatResult(idInfo request.GetByUserID) (err error, wtRule wtRes.StatResult) {
|
||||
//首先查询要统计的人
|
||||
ruleInfo := wtReq.WtRuleSearch{}
|
||||
ruleInfo.UserId = int(idInfo.UserId)
|
||||
var WtServiceGroup WtServiceGroup
|
||||
err, wtRuleResultList, _ := WtServiceGroup.WtRuleService.GetWtRuleInfoList(ruleInfo)
|
||||
if err != nil {
|
||||
return err, wtRes.StatResult{}
|
||||
}
|
||||
|
||||
wtRuleResult := wtRuleResultList[0]
|
||||
|
||||
//计算起始时间 起始时间是 5-0900 7-1000
|
||||
|
||||
startTime := utils.GetTimeFromWeek(wtRuleResult.StartWeek, wtRuleResult.StartHour)
|
||||
endTime := utils.GetTimeFromWeek(wtRuleResult.EndWeek, wtRuleResult.EndHour)
|
||||
|
||||
//在周报表中进行统计
|
||||
reports := wtRuleResult.Reporters
|
||||
var reportSearch wtReq.WtReportsSearch
|
||||
reportSearch.StartTime = startTime
|
||||
reportSearch.EndTime = endTime
|
||||
|
||||
var userIds []int
|
||||
|
||||
for _, userInfo := range reports {
|
||||
userIds = append(userIds, int(userInfo.ID))
|
||||
}
|
||||
|
||||
var statData wt.StatDataSearch
|
||||
statData.StartTime = startTime
|
||||
statData.EndTime = endTime
|
||||
statData.UserIds = userIds
|
||||
|
||||
err, commitedUserIds := WtServiceGroup.WtReportsService.getWtReportListForStat(statData)
|
||||
if err != nil {
|
||||
|
||||
}
|
||||
var commitedList []common.UserInfo
|
||||
var uncommitedList []common.UserInfo
|
||||
|
||||
// 比较那些人提交了,那些人没有提交
|
||||
for _, needCommitPeoples := range reports {
|
||||
isCommit := false
|
||||
for _, commitedUserId := range commitedUserIds {
|
||||
if int(needCommitPeoples.ID) == commitedUserId {
|
||||
isCommit = true
|
||||
}
|
||||
}
|
||||
|
||||
if isCommit {
|
||||
commitedList = append(commitedList, needCommitPeoples)
|
||||
}else {
|
||||
uncommitedList = append(uncommitedList, needCommitPeoples)
|
||||
}
|
||||
}
|
||||
|
||||
var statResult wtRes.StatResult
|
||||
statResult.CommitCount = len(commitedList)
|
||||
statResult.CommitPeoples = commitedList
|
||||
statResult.UncommitCount = len(uncommitedList)
|
||||
statResult.UncommitPeoples = uncommitedList
|
||||
|
||||
return err, statResult
|
||||
}
|
|
@ -43,7 +43,7 @@ func (wtReportsService *WtReportsService) GetWtReports(id uint) (err error, repo
|
|||
}
|
||||
|
||||
// GetWtReportsInfoList 分页获取周报
|
||||
func (wtReportsService *WtReportsService) GetWtReportsInfoList(info wtReq.WtReportsSearch) (err error, list interface{}, total int64) {
|
||||
func (wtReportsService *WtReportsService) GetWtReportsInfoList(info wtReq.WtReportsSearch) (err error, list []wtRes.WtReportsSearchResult, total int64) {
|
||||
limit := info.PageSize
|
||||
offset := info.PageSize * (info.Page - 1)
|
||||
|
||||
|
@ -54,7 +54,6 @@ func (wtReportsService *WtReportsService) GetWtReportsInfoList(info wtReq.WtRepo
|
|||
return
|
||||
}
|
||||
|
||||
|
||||
var reportsSearchBOList []wtRes.WtReportsSearchBO
|
||||
|
||||
if info.Page == 0 {
|
||||
|
@ -65,10 +64,10 @@ func (wtReportsService *WtReportsService) GetWtReportsInfoList(info wtReq.WtRepo
|
|||
var reportIds []uint
|
||||
reportTable.Select("`id`", offset, limit).Offset(offset).Limit(limit).Scan(&reportIds)
|
||||
|
||||
querySql := "SELECT id, user_name, send_to, header, contents, pictures, attachments, created_at, updated_at, cmc.comment_count "+
|
||||
"FROM wt_reports "+
|
||||
"left join (SELECT report_id, count(report_id) as comment_count FROM wt_comments WHERE report_id in ? GROUP BY report_id) as cmc "+
|
||||
"on cmc.report_id = wt_reports.id "+
|
||||
querySql := "SELECT id, user_name, send_to, header, contents, pictures, attachments, created_at, updated_at, cmc.comment_count " +
|
||||
"FROM wt_reports " +
|
||||
"left join (SELECT report_id, count(report_id) as comment_count FROM wt_comments WHERE report_id in ? GROUP BY report_id) as cmc " +
|
||||
"on cmc.report_id = wt_reports.id " +
|
||||
"WHERE 1=1 "
|
||||
|
||||
// 条件高级查询
|
||||
|
@ -81,12 +80,11 @@ func (wtReportsService *WtReportsService) GetWtReportsInfoList(info wtReq.WtRepo
|
|||
}
|
||||
|
||||
if len(info.StartTime) != 0 && len(info.EndTime) != 0 {
|
||||
querySql += " and created_at >= '" + info.StartTime + "' and created_at <= '"+ info.EndTime + "'"
|
||||
querySql += " and created_at >= '" + info.StartTime + "' and created_at <= '" + info.EndTime + "'"
|
||||
}
|
||||
|
||||
querySql += " LIMIT ? OFFSET ? "
|
||||
err = global.GLOBAL_DB.Raw( querySql, reportIds, limit, offset).Scan(&reportsSearchBOList).Error
|
||||
|
||||
err = global.GLOBAL_DB.Raw(querySql, reportIds, limit, offset).Scan(&reportsSearchBOList).Error
|
||||
|
||||
reportsSearchResultList := reportsToSearchResult(reportsSearchBOList)
|
||||
|
||||
|
@ -103,6 +101,7 @@ func voToRrports(reportsVO wtReq.WtReportsVO) wt.WtReports {
|
|||
wtReports := wt.WtReports{
|
||||
GLOBAL_MODEL: global.GLOBAL_MODEL{ID: reportsVO.ID},
|
||||
UserName: reportsVO.UserName,
|
||||
UserId: reportsVO.UserId,
|
||||
SendTo: string(sendToJson),
|
||||
Header: reportsVO.Header,
|
||||
Contents: string(contentJson),
|
||||
|
@ -128,6 +127,7 @@ func reportToSearchResult(searchBO wtRes.WtReportsSearchBO) wtRes.WtReportsSearc
|
|||
searchResult.GLOBAL_MODEL = searchBO.GLOBAL_MODEL
|
||||
|
||||
searchResult.UserName = searchBO.UserName
|
||||
searchResult.UserId = searchBO.UserId
|
||||
searchResult.Header = searchBO.Header
|
||||
searchResult.CommentCount = searchBO.CommentCount
|
||||
|
||||
|
@ -154,6 +154,7 @@ func reportToVO(report wt.WtReports) wtRes.WtReportsResult {
|
|||
reportVO.GLOBAL_MODEL = report.GLOBAL_MODEL
|
||||
|
||||
reportVO.UserName = report.UserName
|
||||
reportVO.UserId = report.UserId
|
||||
reportVO.Header = report.Header
|
||||
json.Unmarshal([]byte(report.SendTo), &reportVO.SendTo)
|
||||
json.Unmarshal([]byte(report.Contents), &reportVO.Contents)
|
||||
|
@ -161,3 +162,11 @@ func reportToVO(report wt.WtReports) wtRes.WtReportsResult {
|
|||
json.Unmarshal([]byte(report.Attachments), &reportVO.Attachments)
|
||||
return reportVO
|
||||
}
|
||||
|
||||
func (wtReportsService *WtReportsService) getWtReportListForStat(statData wt.StatDataSearch) (err error, userIds []int){
|
||||
var commitUserIds []int
|
||||
sql := "created_at >= '" + statData.StartTime + "' and created_at <= '" + statData.EndTime + "' and user_id in ? "
|
||||
err = global.GLOBAL_DB.Model(&wt.WtReports{}).Select("user_id").Where(sql, statData.UserIds).Scan(&commitUserIds).Error
|
||||
|
||||
return err, commitUserIds
|
||||
}
|
||||
|
|
|
@ -39,17 +39,21 @@ func (wtRuleService *WtRuleService) GetWtRule(id uint) (err error, wtRule wt.WtR
|
|||
}
|
||||
|
||||
// GetWtRuleInfoList 分页获取WtRule记录
|
||||
func (wtRuleService *WtRuleService) GetWtRuleInfoList(info wtReq.WtRuleSearch) (err error, list interface{}, total int64) {
|
||||
func (wtRuleService *WtRuleService) GetWtRuleInfoList(info wtReq.WtRuleSearch) (err error, list []wtRes.WtRuleResult, total int64) {
|
||||
limit := info.PageSize
|
||||
offset := info.PageSize * (info.Page - 1)
|
||||
// 创建db
|
||||
db := global.GLOBAL_DB.Model(&wt.WtRule{})
|
||||
var wtRules []wt.WtRule
|
||||
// 如果有条件搜索 下方会自动创建搜索语句
|
||||
err = db.Count(&total).Error
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if info.Page <= 0 {
|
||||
limit = int(total)
|
||||
}
|
||||
|
||||
err = db.Limit(limit).Offset(offset).Find(&wtRules).Error
|
||||
|
||||
ruleResults := rulesToVOs(wtRules)
|
||||
|
@ -65,8 +69,10 @@ func voToRule(ruleRes wtReq.WtRuleRes) wt.WtRule {
|
|||
GLOBAL_MODEL: global.GLOBAL_MODEL{ID: ruleRes.ID},
|
||||
UserId: ruleRes.UserId,
|
||||
Reporters: string(contentJson),
|
||||
StartTime: ruleRes.StartTime,
|
||||
EndTime: ruleRes.EndTime,
|
||||
StartWeek: ruleRes.StartWeek,
|
||||
StartHour: ruleRes.StartHour,
|
||||
EndWeek: ruleRes.EndWeek,
|
||||
EndHour: ruleRes.EndHour,
|
||||
}
|
||||
return rule
|
||||
}
|
||||
|
@ -86,8 +92,10 @@ func ruleToResult(rule wt.WtRule) wtRes.WtRuleResult {
|
|||
ruleResult := wtRes.WtRuleResult{}
|
||||
ruleResult.GLOBAL_MODEL = rule.GLOBAL_MODEL
|
||||
ruleResult.UserId = rule.UserId
|
||||
ruleResult.StartTime = rule.StartTime
|
||||
ruleResult.EndTime = rule.EndTime
|
||||
ruleResult.StartWeek = rule.StartWeek
|
||||
ruleResult.StartHour = rule.StartHour
|
||||
ruleResult.EndWeek = rule.EndWeek
|
||||
ruleResult.EndHour = rule.EndHour
|
||||
|
||||
json.Unmarshal([]byte(rule.Reporters), &ruleResult.Reporters)
|
||||
return ruleResult
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package utils
|
||||
|
||||
import "time"
|
||||
|
||||
// 获取本周几几点的时间, 不如5-10 就是获取本周5的10点的时间
|
||||
func GetTimeFromWeek(week int, hour int) string {
|
||||
now := time.Now()
|
||||
//先计算今天是星期几
|
||||
offset := int(time.Monday - now.Weekday())
|
||||
if offset > 0 { //周天的情况
|
||||
offset = -6
|
||||
}
|
||||
|
||||
//目前offset是周一的,如果计算周几的,偏移量
|
||||
offset = week - offset - 1
|
||||
|
||||
date := time.Date(now.Year(), now.Month(), now.Day(), hour, 0, 0, 0, time.Local).
|
||||
AddDate(0, 0, offset)
|
||||
|
||||
return date.Format("2006-01-02 15:04:05")
|
||||
}
|
Loading…
Reference in New Issue