Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
freemud.be.toolbox
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陈宁
freemud.be.toolbox
Commits
153869cf
Commit
153869cf
authored
Jun 24, 2020
by
陈宁
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
# dev 请求资源 / 码券商品信息
parent
bddc637c
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
149 additions
and
28 deletions
+149
-28
Freemud.BE.Toolbox.WebApi/Model/Request/GetCouponInfoRequest.cs
+1
-1
Freemud.BE.Toolbox.WebApi/Model/Request/GetProductInfoRequest.cs
+4
-1
Freemud.BE.Toolbox.WebApi/Proxy/FmProductProxy.cs
+1
-1
freemud.be.toolboxview/package-lock.json
+5
-0
freemud.be.toolboxview/package.json
+1
-0
freemud.be.toolboxview/src/assets/css/global.css
+5
-0
freemud.be.toolboxview/src/dist/main.dev.js
+3
-0
freemud.be.toolboxview/src/dist/main.prod.js
+2
-2
freemud.be.toolboxview/src/main.js
+2
-0
freemud.be.toolboxview/src/views/requestresource/CouponProductSearch.vue
+125
-23
No files found.
Freemud.BE.Toolbox.WebApi/Model/Request/GetCouponInfoRequest.cs
View file @
153869cf
...
...
@@ -11,6 +11,6 @@ namespace Freemud.BE.Toolbox.WebApi.Model.Request
public
string
StoreId
{
get
;
set
;
}
public
DateTime
Time
{
get
;
set
;
}
public
string
Time
{
get
;
set
;
}
}
}
Freemud.BE.Toolbox.WebApi/Model/Request/GetProductInfoRequest.cs
View file @
153869cf
...
...
@@ -11,6 +11,9 @@ namespace Freemud.BE.Toolbox.WebApi.Model.Request
public
string
StoreId
{
get
;
set
;
}
public
DateTime
Time
{
get
;
set
;
}
/// <summary>
/// 时间; eg: 12:34:56
/// </summary>
public
string
Time
{
get
;
set
;
}
}
}
Freemud.BE.Toolbox.WebApi/Proxy/FmProductProxy.cs
View file @
153869cf
...
...
@@ -21,7 +21,7 @@ namespace Freemud.BE.Toolbox.WebApi.Proxy
public
async
Task
<
RequestResourceResponse
>
GetProductBaseInfos
(
GetProductInfoRequest
request
)
{
var
url
=
GetUrl
(
request
.
Env
,
"FreemudProduct"
,
"listBaseInfosByTimeV2"
);
url
=
string
.
Format
(
url
,
string
.
Join
(
','
,
request
.
ProductId
),
$"
{
GetChannelUnifyId
(
request
.
Channel
,
request
.
Env
)}
_
{
request
.
StoreId
}
"
,
request
.
Time
.
ToString
(
"HH:mm:ss"
)
,
true
);
url
=
string
.
Format
(
url
,
string
.
Join
(
','
,
request
.
ProductId
),
$"
{
GetChannelUnifyId
(
request
.
Channel
,
request
.
Env
)}
_
{
request
.
StoreId
}
"
,
request
.
Time
,
true
);
var
response
=
await
HttpHeper
.
Get
(
url
);
...
...
freemud.be.toolboxview/package-lock.json
View file @
153869cf
...
...
@@ -7968,6 +7968,11 @@
}
}
},
"moment"
:
{
"version"
:
"2.27.0"
,
"resolved"
:
"https://registry.npm.taobao.org/moment/download/moment-2.27.0.tgz"
,
"integrity"
:
"sha1-i/9OPiaiNiIN/j423nVrbrqgEF0="
},
"move-concurrently"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz"
,
...
...
freemud.be.toolboxview/package.json
View file @
153869cf
...
...
@@ -11,6 +11,7 @@
"axios"
:
"^0.19.2"
,
"core-js"
:
"^3.6.4"
,
"lodash"
:
"^4.17.15"
,
"moment"
:
"^2.27.0"
,
"view-design"
:
"^4.1.2"
,
"vue"
:
"^2.6.11"
,
"vue-codemirror"
:
"^4.0.6"
,
...
...
freemud.be.toolboxview/src/assets/css/global.css
View file @
153869cf
...
...
@@ -16,3 +16,7 @@ html, body, #app {
.ivu-tabs-bar
{
margin-bottom
:
5px
;
}
.ivu-table-small
td
{
height
:
35px
;
}
\ No newline at end of file
freemud.be.toolboxview/src/dist/main.dev.js
View file @
153869cf
...
...
@@ -16,6 +16,8 @@ var _axios = _interopRequireDefault(require("axios"));
var
_lodash
=
_interopRequireDefault
(
require
(
"lodash"
));
var
_moment
=
_interopRequireDefault
(
require
(
"moment"
));
function
_interopRequireDefault
(
obj
)
{
return
obj
&&
obj
.
__esModule
?
obj
:
{
"default"
:
obj
};
}
// dev
...
...
@@ -34,6 +36,7 @@ _axios["default"].interceptors.request.use(function (config) {
_vue
[
"default"
].
prototype
.
$http
=
_axios
[
"default"
];
_vue
[
"default"
].
prototype
.
_
=
_lodash
[
"default"
];
_vue
[
"default"
].
prototype
.
_moment
=
_moment
[
"default"
];
_vue
[
"default"
].
use
(
_viewDesign
[
"default"
]);
...
...
freemud.be.toolboxview/src/dist/main.prod.js
View file @
153869cf
"use strict"
;
var
_vue
=
_interopRequireDefault
(
require
(
"vue"
)),
_App
=
_interopRequireDefault
(
require
(
"./App.vue"
)),
_router
=
_interopRequireDefault
(
require
(
"./router"
)),
_viewDesign
=
_interopRequireDefault
(
require
(
"view-design"
));
require
(
"view-design/dist/styles/iview.css"
),
require
(
"./assets/css/global.css"
);
var
_axios
=
_interopRequireDefault
(
require
(
"axios"
)),
_lodash
=
_interopRequireDefault
(
require
(
"lodash"
));
function
_interopRequireDefault
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
_axios
.
default
.
defaults
.
baseURL
=
"http://129.211.139.23:8018/api"
,
_axios
.
default
.
interceptors
.
request
.
use
(
function
(
e
){
var
u
=
window
.
sessionStorage
.
getItem
(
"au"
);
return
u
&&
(
e
.
headers
.
au
=
u
),
e
}),
_vue
.
default
.
prototype
.
$http
=
_axios
.
default
,
_vue
.
default
.
prototype
.
_
=
_lodash
.
default
,
_vue
.
default
.
use
(
_viewDesign
.
default
),
_vue
.
default
.
config
.
productionTip
=!
1
,
new
_vue
.
default
({
router
:
_router
.
default
,
render
:
function
(
e
){
return
e
(
_App
.
default
)}}).
$mount
(
"#app"
);
\ No newline at end of file
"use strict"
;
var
_vue
=
_interopRequireDefault
(
require
(
"vue"
)),
_App
=
_interopRequireDefault
(
require
(
"./App.vue"
)),
_router
=
_interopRequireDefault
(
require
(
"./router"
)),
_viewDesign
=
_interopRequireDefault
(
require
(
"view-design"
));
require
(
"view-design/dist/styles/iview.css"
),
require
(
"./assets/css/global.css"
);
var
_axios
=
_interopRequireDefault
(
require
(
"axios"
)),
_lodash
=
_interopRequireDefault
(
require
(
"lodash"
)),
_moment
=
_interopRequireDefault
(
require
(
"moment"
));
function
_interopRequireDefault
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
_axios
.
default
.
defaults
.
baseURL
=
"http://129.211.139.23:8018/api"
,
_axios
.
default
.
interceptors
.
request
.
use
(
function
(
e
){
var
t
=
window
.
sessionStorage
.
getItem
(
"au"
);
return
t
&&
(
e
.
headers
.
au
=
t
),
e
}),
_vue
.
default
.
prototype
.
$http
=
_axios
.
default
,
_vue
.
default
.
prototype
.
_
=
_lodash
.
default
,
_vue
.
default
.
prototype
.
_moment
=
_moment
.
default
,
_vue
.
default
.
use
(
_viewDesign
.
default
),
_vue
.
default
.
config
.
productionTip
=!
1
,
new
_vue
.
default
({
router
:
_router
.
default
,
render
:
function
(
e
){
return
e
(
_App
.
default
)}}).
$mount
(
"#app"
);
\ No newline at end of file
freemud.be.toolboxview/src/main.js
View file @
153869cf
...
...
@@ -6,6 +6,7 @@ import 'view-design/dist/styles/iview.css'
import
'./assets/css/global.css'
import
axios
from
'axios'
import
_
from
'lodash'
import
moment
from
'moment'
// dev
axios
.
defaults
.
baseURL
=
'http://129.211.139.23:8018/api'
...
...
@@ -22,6 +23,7 @@ axios.interceptors.request.use(config => {
Vue
.
prototype
.
$http
=
axios
Vue
.
prototype
.
_
=
_
Vue
.
prototype
.
_moment
=
moment
Vue
.
use
(
ViewUI
)
...
...
freemud.be.toolboxview/src/views/requestresource/CouponProductSearch.vue
View file @
153869cf
...
...
@@ -40,6 +40,11 @@
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"时间"
>
<TimePicker
:value=
"time"
format=
"HH:mm:ss"
placeholder=
"时间"
style=
"width: 168px"
></TimePicker>
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem>
<Button
type=
"primary"
icon=
"ios-search"
:loading=
"loadingSearch"
@
click=
"search()"
>
<span
v-if=
"!loadingSearch"
>
查 询
</span>
...
...
@@ -77,6 +82,16 @@
<Tag
color=
"geekblue"
>
{{
row
.
field
}}
</Tag>
</div>
</
template
>
<
template
slot-scope=
"{ row }"
slot=
"val"
>
<div>
{{
row
.
val
}}
<Tooltip
v-if=
"row.descriptor"
max-width=
"200"
placement=
"right"
transfer
>
<span
style=
"color:#ed4014"
>
(
{{
row
.
descriptor
.
memo
}}
)
</span>
<Icon
type=
"md-information-circle"
/>
<div
slot=
"content"
>
{{
row
.
descriptor
.
desc
}}
</div>
</Tooltip>
</div>
</
template
>
</Table>
<strong
v-else
>
{{ item.coupon.data }}
</strong>
</Card>
...
...
@@ -104,6 +119,16 @@
<Tag
color=
"geekblue"
>
{{
row
.
field
}}
</Tag>
</div>
</
template
>
<
template
slot-scope=
"{ row }"
slot=
"val"
>
<div>
{{
row
.
val
}}
<Tooltip
v-if=
"row.descriptor"
max-width=
"200"
placement=
"right"
transfer
>
<span
style=
"color:#ed4014"
>
(
{{
row
.
descriptor
.
memo
}}
)
</span>
<Icon
type=
"md-information-circle"
/>
<div
slot=
"content"
>
{{
row
.
descriptor
.
desc
}}
</div>
</Tooltip>
</div>
</
template
>
</Table>
</Card>
</div>
...
...
@@ -115,7 +140,7 @@
<div
class=
"resource-result-metadata-panel"
>
<div
v-for=
"item in metaData"
:key=
"item.name"
class=
"resource-result-metadata-item"
>
<span
class=
"resource-result-metadata-item-title"
>
{{item.name}}
</span>
<codemirror
:value=
"
merge
MetaData(item)"
:options=
"cmOptions"
></codemirror>
<codemirror
:value=
"
build
MetaData(item)"
:options=
"cmOptions"
></codemirror>
</div>
</div>
</TabPane>
...
...
@@ -139,9 +164,10 @@ export default {
return
{
loadingSearch
:
false
,
channel
:
'delivery'
,
env
:
'dev'
,
couponCode
:
'385438604009450,QQQ'
,
storeId
:
''
,
env
:
'prod'
,
time
:
'12:34:56'
,
couponCode
:
'385438604009450,527577357365398,QQQ'
,
storeId
:
'99998'
,
metaData
:
[],
vData
:
[],
retCoupons
:
[],
...
...
@@ -157,12 +183,12 @@ export default {
slot
:
'name'
},
{
key
:
'val'
slot
:
'val'
}]
}
},
created
()
{
this
.
time
=
this
.
_moment
().
format
(
'HH:mm:ss'
)
},
methods
:
{
async
search
()
{
...
...
@@ -177,22 +203,11 @@ export default {
}
this
.
loadingSearch
=
true
const
params
=
{
env
:
this
.
env
,
channel
:
this
.
channel
,
couponCode
:
this
.
couponCode
,
storeId
:
this
.
storeId
}
const
params
=
{
env
:
this
.
env
,
channel
:
this
.
channel
,
couponCode
:
this
.
couponCode
,
storeId
:
this
.
storeId
,
time
:
this
.
time
}
const
{
data
:
response
}
=
await
this
.
$http
.
post
(
'/requestresource/get-coupon'
,
params
)
if
(
response
.
code
!==
200
)
{
this
.
$Message
.
error
(
response
.
message
)
}
else
{
// this.metaDataRequestUrl =
// '================ URL ================\r\n' +
// response.data.url + '\n\n' +
// '================ HEADERS ============\r\n' +
// JSON.stringify(response.data.requestHeaders, null, '\t') + '\r\n' +
// '================ DATA ===============\r\n' +
// JSON.stringify(response.data.requestBody, null, '\t')
// this.metaDataResponseBody = JSON.stringify(response.data.responseBody, null, '\t')
// this.$Message.success('查询成功')
this
.
metaData
=
response
.
data
this
.
bindData
(
response
.
data
)
}
...
...
@@ -212,14 +227,23 @@ export default {
{
name
:
'活动描述'
,
field
:
'act_desc'
,
val
:
c
.
codeInfo
.
act_desc
},
{
name
:
'代金券优惠(非代金券不返回)'
,
field
:
'amount '
,
val
:
c
.
codeInfo
.
amount
},
{
name
:
'代金券门槛(非代金券不返回)'
,
field
:
'minamount'
,
val
:
c
.
codeInfo
.
minamount
},
{
name
:
'
绑定
商品编号'
,
field
:
'mcd_productCode'
,
val
:
c
.
codeInfo
.
products
[
0
].
mcd_productCode
},
{
name
:
'
绑定商品金额
'
,
field
:
'mcd_tenderCode'
,
val
:
c
.
codeInfo
.
products
[
0
].
mcd_tenderCode
}
{
name
:
'
对应
商品编号'
,
field
:
'mcd_productCode'
,
val
:
c
.
codeInfo
.
products
[
0
].
mcd_productCode
},
{
name
:
'
mcd_tenderCode
'
,
field
:
'mcd_tenderCode'
,
val
:
c
.
codeInfo
.
products
[
0
].
mcd_tenderCode
}
]
coupons
.
push
({
ret
:
true
,
couponCode
:
c
.
code
,
couponName
:
c
.
codeInfo
.
act_name
,
productId
:
c
.
codeInfo
.
products
[
0
].
mcd_productCode
,
data
:
data
})
}
else
{
coupons
.
push
({
ret
:
false
,
couponCode
:
c
.
code
,
data
:
c
.
msg
})
}
})
coupons
.
forEach
(
coup
=>
{
if
(
coup
.
ret
)
{
coup
.
data
.
forEach
(
d
=>
{
d
.
descriptor
=
this
.
buildCouponDescriptor
(
d
.
field
,
d
.
val
)
})
}
})
this
.
retCoupons
=
coupons
const
products
=
[]
...
...
@@ -235,17 +259,24 @@ export default {
{
name
:
'原价'
,
field
:
'originalPrice'
,
val
:
p
.
originalPrice
},
{
name
:
'外带原价'
,
field
:
'originalPriceTakeout'
,
val
:
p
.
originalPriceTakeout
},
{
name
:
'状态'
,
field
:
'status'
,
val
:
p
.
status
},
{
name
:
'类型'
,
field
:
'type'
,
val
:
p
.
type
}
{
name
:
'
菜品
类型'
,
field
:
'type'
,
val
:
p
.
type
}
]
products
.
push
({
id
:
p
.
pid
,
name
:
p
.
name
,
data
:
data
})
})
products
.
forEach
(
p
=>
{
p
.
data
.
forEach
(
d
=>
{
d
.
descriptor
=
this
.
buildProductDescriptor
(
d
.
field
,
d
.
val
)
})
})
this
.
retProducts
=
products
// 组装数据
const
vdata
=
[]
coupons
.
forEach
(
coup
=>
{
if
(
coup
.
ret
)
{
const
p
=
this
.
_
.
find
(
products
,
{
id
:
123470777
})
const
p
=
this
.
_
.
find
(
products
,
{
id
:
parseInt
(
coup
.
productId
)
})
vdata
.
push
({
coupon
:
coup
,
product
:
p
})
}
else
{
vdata
.
push
({
coupon
:
coup
,
product
:
null
})
...
...
@@ -254,7 +285,7 @@ export default {
this
.
vData
=
vdata
},
merge
MetaData
(
data
)
{
build
MetaData
(
data
)
{
return
'================ URL ================
\
r
\
n'
+
data
.
url
+
'
\
n
\
n'
+
'================ HEADERS ============
\
r
\
n'
+
...
...
@@ -263,6 +294,77 @@ export default {
JSON
.
stringify
(
data
.
requestBody
,
null
,
'
\
t'
)
+
'
\
r
\
n'
+
'================ RESPONSE ===============
\
r
\
n'
+
JSON
.
stringify
(
JSON
.
parse
(
data
.
responseContent
),
null
,
'
\
t'
)
},
buildCouponDescriptor
(
field
,
val
)
{
let
memo
=
''
let
desc
=
''
if
(
field
===
'couponType'
)
{
if
(
val
===
0
)
{
memo
=
'商品券'
}
else
if
(
val
===
1
)
{
memo
=
'代金券'
}
desc
=
'0)商品券, 1)代金券;'
}
if
(
memo
||
desc
)
{
return
{
memo
,
desc
}
}
return
null
},
buildProductDescriptor
(
field
,
val
)
{
let
memo
=
''
let
desc
=
''
if
(
field
===
'businessType'
)
{
if
(
val
===
'1'
)
{
memo
=
'饮品'
}
desc
=
'1)饮品, 2)非饮品'
}
else
if
(
field
===
'status'
)
{
switch
(
val
)
{
case
1
:
memo
=
'下架'
break
case
2
:
memo
=
'上架'
break
case
3
:
memo
=
'售罄'
break
default
:
break
}
desc
=
'1)下架, 2)上架, 3)售罄'
}
else
if
(
field
===
'type'
)
{
switch
(
val
)
{
case
1
:
memo
=
'普通商品'
break
case
2
:
memo
=
'附加商品'
break
case
3
:
memo
=
'组合商品'
break
case
4
:
memo
=
'固定套餐'
break
case
5
:
memo
=
'组合套餐'
break
case
6
:
memo
=
'多规格套餐'
break
default
:
break
}
desc
=
'1)普通商品, 2)附加商品, 3)组合商品, 4)固定套餐, 5)组合套餐, 6)多规格套餐'
}
if
(
memo
||
desc
)
{
return
{
memo
,
desc
}
}
return
null
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment