Skip to content

Commit

Permalink
pay sum
Browse files Browse the repository at this point in the history
  • Loading branch information
caohaige committed Jun 20, 2019
1 parent 5b16167 commit fe9658f
Show file tree
Hide file tree
Showing 8 changed files with 243 additions and 3 deletions.
46 changes: 46 additions & 0 deletions goweb/controllers/pay.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,49 @@ func GetPayList(c *gin.Context) {
c.JSON(http.StatusOK, args)
}
}

// GetPaySum @Get
func GetPaySum(c *gin.Context) {
page := c.Query("page")
channel := c.Query("channel")
sdate := c.Query("stime")
edate := c.Query("etime")
user := c.DefaultQuery("user", "anonymous")

gwlog.Debug("GetPaySum----------", user, page, channel, sdate, edate)
urlstr := settings.SvrConfig.Env.URL + "/pay/sum/get"
req, err := http.NewRequest("GET", urlstr, nil)
if err != nil {
gwlog.Error("GetPaySum NewRequest err", err)
return
}
query := req.URL.Query()
query.Add("channel", channel)
query.Add("sdate", sdate)
query.Add("edate", edate)
req.URL.RawQuery = query.Encode()
gwlog.Debug("GetPaySum ", req.URL.String())
var resp *http.Response
resp, err = http.DefaultClient.Do(req)
if err != nil {
gwlog.Error("GetPaySum DefaultClient Do err", err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
gwlog.Error("GetPaySum ReadAll err", err)
return
}
gwlog.Debug("GetPaySum:body", string(body))

args := make(gin.H)
var json = jsoniter.ConfigCompatibleWithStandardLibrary
err = json.Unmarshal(body, &args)
if err != nil {
gwlog.Error("json.Unmarshal", err)
c.JSON(http.StatusOK, args)
} else {
c.JSON(http.StatusOK, args)
}
}
1 change: 1 addition & 0 deletions goweb/routers/vms.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,6 @@ func registerRouter(router *gin.Engine) {
vms.POST("/cstatus/remove", controllers.RemoveSvrChannelStatus)

vms.GET("/pay/detail", controllers.GetPayList)
vms.GET("/pay/sum", controllers.GetPaySum)
}
}
18 changes: 18 additions & 0 deletions logs/access.log
Original file line number Diff line number Diff line change
Expand Up @@ -1792,3 +1792,21 @@
{"level":"debug","ts":"2019-06-19T18:33:30.753+0800","caller":"controllers/pay.go:46","msg":"GetPayList:body{\"code\":0,\"list\":[{\"appid\":\"222\",\"order\":\"232434\",\"cpOrder\":\"2019061359dfeabc2c55f3cb3f5cfb3db2318049\",\"uid\":\"2222\",\"amount\":\"1\",\"productId\":\"232\",\"productCount\":\"100\",\"timestamp\":\"2019-06-13 14:57:42\"},{\"appid\":\"123\",\"order\":\"23244\",\"cpOrder\":\"2019061359dfeabc2c55f3cb3f5cfb3db2318048\",\"uid\":\"2222\",\"amount\":\"1\",\"productId\":\"232\",\"productCount\":\"100\",\"timestamp\":\"2019-06-13 10:57:42\"}]}","source":"vms"}
{"level":"info","ts":"2019-06-19T18:36:18.051+0800","caller":"goweb/main.go:71","msg":"Shutdown Server ...","source":"vms"}
{"level":"info","ts":"2019-06-19T18:36:18.052+0800","caller":"goweb/main.go:78","msg":"Server exiting","source":"vms"}
{"level":"info","ts":"2019-06-20T15:10:50.787+0800","caller":"goweb/main.go:66","msg":"Http Serving at: :8080","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:10:59.206+0800","caller":"drivers/jwt.go:46","msg":"jwt Check------> Token is expired","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:11:10.872+0800","caller":"controllers/index.go:79","msg":"Login -------------- admin e10adc3949ba59abbe56e057f20f883e e10adc3949ba59abbe56e057f20f883e ","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:11:10.889+0800","caller":"controllers/index.go:26","msg":"GetUserInfo -------------- admin ","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:11:17.852+0800","caller":"controllers/pay.go:67","msg":"GetPaySum----------admin/payment/paysumxiaomi2019-06-202019-06-20","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:11:17.852+0800","caller":"controllers/pay.go:79","msg":"GetPaySum https://qgame-test.dayukeji.com:12004/pay/sum/get?channel=xiaomi&edate=2019-06-20&sdate=2019-06-20","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:11:18.043+0800","caller":"controllers/pay.go:92","msg":"GetPaySum:body{\"code\":0,\"list\":[{\"productCount\":\"0\",\"count\":0,\"sum\":0}]}","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:11:35.712+0800","caller":"controllers/pay.go:67","msg":"GetPaySum----------admin/payment/paysumxiaomi2019-06-112019-06-11","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:11:35.713+0800","caller":"controllers/pay.go:79","msg":"GetPaySum https://qgame-test.dayukeji.com:12004/pay/sum/get?channel=xiaomi&edate=2019-06-11&sdate=2019-06-11","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:11:35.750+0800","caller":"controllers/pay.go:92","msg":"GetPaySum:body{\"code\":0,\"list\":[{\"productCount\":\"0\",\"count\":0,\"sum\":0}]}","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:16:59.719+0800","caller":"controllers/pay.go:67","msg":"GetPaySum----------admin/payment/paysumxiaomi2019-07-122019-08-20","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:16:59.720+0800","caller":"controllers/pay.go:79","msg":"GetPaySum https://qgame-test.dayukeji.com:12004/pay/sum/get?channel=xiaomi&edate=2019-08-20&sdate=2019-07-12","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:16:59.882+0800","caller":"controllers/pay.go:92","msg":"GetPaySum:body{\"code\":0,\"list\":[{\"productCount\":\"0\",\"count\":0,\"sum\":0}]}","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:17:31.224+0800","caller":"controllers/pay.go:67","msg":"GetPaySum----------admin/payment/paysumxiaomi2019-06-122019-07-20","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:17:31.224+0800","caller":"controllers/pay.go:79","msg":"GetPaySum https://qgame-test.dayukeji.com:12004/pay/sum/get?channel=xiaomi&edate=2019-07-20&sdate=2019-06-12","source":"vms"}
{"level":"debug","ts":"2019-06-20T15:17:31.266+0800","caller":"controllers/pay.go:92","msg":"GetPaySum:body{\"code\":0,\"list\":[{\"productCount\":\"100\",\"count\":2,\"sum\":200},{\"productCount\":\"0\",\"count\":2,\"sum\":200}]}","source":"vms"}
{"level":"info","ts":"2019-06-20T15:18:19.884+0800","caller":"goweb/main.go:71","msg":"Shutdown Server ...","source":"vms"}
{"level":"info","ts":"2019-06-20T15:18:19.892+0800","caller":"goweb/main.go:78","msg":"Server exiting","source":"vms"}
11 changes: 10 additions & 1 deletion src/api/pay.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,19 @@
import request from '@/utils/request'

export function getPayDetail (user, page, channel, stime, etime) {
// console.log('getstats', user, page, channel, stime, etime)
// console.log('getPayDetail', user, page, channel, stime, etime)
return request({
url: '/vms/pay/detail',
method: 'get',
params: { user, page, channel, stime, etime }
})
}

export function getPaySum (user, page, channel, stime, etime) {
// console.log('getPaySum', user, page, channel, stime, etime)
return request({
url: '/vms/pay/sum',
method: 'get',
params: { user, page, channel, stime, etime }
})
}
6 changes: 6 additions & 0 deletions src/router/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,12 @@ export const asyncRouterMap = [
component: () => import('@/views/payment/payment'), // Parent router-view
name: 'payment',
meta: { title: '付费数据', roles: ['admin', 'saga'] }
},
{
path: 'paysum',
component: () => import('@/views/payment/paysum'), // Parent router-view
name: 'paysum',
meta: { title: '付费统计', roles: ['admin', 'saga'] }
}
]
},
Expand Down
15 changes: 14 additions & 1 deletion src/store/modules/svrmgr.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { getSvrGates, setSvrGates, removeSvrGates } from '@/api/gates'
import { getSvrAppInfo, setSvrAppInfo, removeSvrAppInfo } from '@/api/appctor'
import { getSvrChannelStatus, setSvrChannelStatus, removeChannelStatus } from '@/api/channelstatus'
import { gengifts, getgifts } from '@/api/gifts'
import { getPayDetail } from '@/api/pay'
import { getPayDetail, getPaySum } from '@/api/pay'

const state = {
}
Expand Down Expand Up @@ -246,6 +246,19 @@ const actions= {
})
},

GetPaySum({ commit }, info) {
const {user, page, channel, stime, etime} = info
return new Promise((resolve, reject) => {
getPaySum(user, page, channel, stime, etime).then(response => {
// console.log(response)
resolve(response)
}).catch(error => {
// console.log(error)
reject(error)
})
})
},

placeholder() {

}
Expand Down
3 changes: 2 additions & 1 deletion src/views/payment/payment.vue
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background @current-change="handleCurrentChange" layout="prev, pager, next" :total="totalnum">
<el-pagination background @current-change="handleCurrentChange" :page-size="pageSize" layout="prev, pager, next" :total="totalnum">
</el-pagination>
</div>
</div>
Expand All @@ -57,6 +57,7 @@ export default {
tableData: [],
totalnum : 0,
cur_page: 1,
pageSize: 30,
cur_channel :'xiaomi',
select_daterange:'',
is_search: false
Expand Down
146 changes: 146 additions & 0 deletions src/views/payment/paysum.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
<template>
<div class="table">
<div class="app-container">
<div class="handle-box">
<el-select v-model="cur_channel" placeholder="请选择" >
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
<span style="float: left">{{ item.label }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.value }}</span>
</el-option>
</el-select>
<el-date-picker type="daterange" start-placeholder="开始日期" end-placeholder="结束日期" v-model="select_daterange" style="width: 60%;">
</el-date-picker>
<el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
<el-col class="line" :span="20"></el-col>
</div>
<el-table :data="data" border class="table">
<el-table-column prop="productCount" label="付费金额" width="220" sortable>
</el-table-column>
<el-table-column prop="count" label="付费笔数" width="220" sortable>
</el-table-column>
<el-table-column prop="sum" label="付费总额" width="220" sortable>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background @current-change="handleCurrentChange" :page-size="pageSize" layout="prev, pager, next" :total="totalnum">
</el-pagination>
</div>
</div>
</div>
</template>

<script>
/* eslint-disable */
import {parseTime} from '@/utils/index'
export default {
name: 'paysum',
data() {
return {
options:[
{
value: 'xiaomi',
label: 'xiaomi'
},
{
value: 'vivo',
label: 'vivo'
}
],
tableData: [],
totalnum : 0,
cur_page: 1,
pageSize: 30,
cur_channel :'xiaomi',
select_daterange:'',
is_search: false
}
},
created() {
const end = new Date();
const start = new Date();
// start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
this.select_daterange = [start, end];
this.getData();
},
computed: {
data() {
return this.tableData;
}
},
mounted(){
//初始话下拉框的值
// this.cur_channel=this.value;
// const end = new Date();
// const start = new Date();
// start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
// this.select_daterange = [start, end];
},
methods: {
// 分页导航
handleCurrentChange(val) {
this.cur_page = val;
this.getData();
},
getData() {
this.handleSearch();
},
handleSearch() {
this.tableData = []
this.totalnum = this.tableData.length
this.is_search = true
const user = this.$store.getters.name
const page = this.$route.path
// console.log(this.select_daterange)
const sdate = this.select_daterange[0]
const edate = this.select_daterange[1]
// console.log(parseTime(sdate, '{y}-{m}-{d}'))
const stime = parseTime(sdate, '{y}-{m}-{d}')//sdate.getFullYear() + '-' + (sdate.getMonth() + 1) + '-' + sdate.getDate()
const etime = parseTime(edate, '{y}-{m}-{d}') //edate.getFullYear() + '-' + (edate.getMonth() + 1) + '-' + edate.getDate()
const channel = this.cur_channel
console.log("handleSearch", channel, stime, etime)
this.$store.dispatch('svrmgr/GetPaySum', { user, page, channel, stime, etime}).then((res) => {
if (res.list) {
this.tableData = res.list;
this.totalnum = this.tableData.length
} else {
this.$message.info('没有数据')
}
}).catch(err => {
console.log(err)
this.$message.error(err);
});
},
}
}
</script>

<style scoped>
.handle-box {
margin-bottom: 20px;
}
.handle-select {
width: 120px;
}
.handle-input {
width: 300px;
display: inline-block;
}
.del-dialog-cnt{
font-size: 16px;
text-align: center
}
.table{
width: 95%;
font-size: 14px;
}
.red{
color: #ff0000;
}
.mr10{
margin-right: 10px;
}
</style>

0 comments on commit fe9658f

Please sign in to comment.