Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
farming
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
郑云飞
farming
Commits
ec4795a4
Commit
ec4795a4
authored
Sep 14, 2023
by
zhengyunfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
二次开发
parent
1c569b7b
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1113 additions
and
37 deletions
+1113
-37
src/main/java/com/yunniu/farming/app/OrderMainAppController.java
+21
-1
src/main/java/com/yunniu/farming/app/WxController.java
+1
-1
src/main/java/com/yunniu/farming/webadmin/controller/OrderMainController.java
+86
-1
src/main/java/com/yunniu/farming/webadmin/controller/TaskJob.java
+1
-1
src/main/java/com/yunniu/farming/webadmin/dao/OrderMainDao.java
+2
-0
src/main/java/com/yunniu/farming/webadmin/model/OrderMain.java
+13
-2
src/main/java/com/yunniu/farming/webadmin/service/WxService.java
+1
-1
src/main/java/com/yunniu/farming/webadmin/service/impl/GroupBuyServiceimpl.java
+1
-0
src/main/java/com/yunniu/farming/webadmin/service/impl/OrderMainServiceImpl.java
+86
-4
src/main/java/com/yunniu/farming/webadmin/service/impl/WxServiceImpl.java
+6
-4
src/main/java/com/yunniu/farming/wx/WxUtil.java
+60
-0
src/main/resources/application.properties
+6
-6
src/main/resources/mappings/OrderMainMapper.xml
+124
-10
src/main/resources/templates/groupBuy/addOrEdit.html
+2
-1
src/main/resources/templates/groupBuy/productList.html
+8
-0
src/main/resources/templates/order/loanList.html
+101
-5
src/main/resources/templates/order/refundList.html
+594
-0
No files found.
src/main/java/com/yunniu/farming/app/OrderMainAppController.java
View file @
ec4795a4
...
@@ -186,9 +186,29 @@ public class OrderMainAppController {
...
@@ -186,9 +186,29 @@ public class OrderMainAppController {
public
Result
cancelOrder
(
@RequestBody
JSONObject
json
)
{
public
Result
cancelOrder
(
@RequestBody
JSONObject
json
)
{
//1. 将前台传过来的json对象转换成具有业务属性的 Java 对象
//1. 将前台传过来的json对象转换成具有业务属性的 Java 对象
OrderMain
user
=
JSONObject
.
toJavaObject
(
json
,
OrderMain
.
class
);
OrderMain
user
=
JSONObject
.
toJavaObject
(
json
,
OrderMain
.
class
);
return
this
.
orderService
.
cancelOrder
(
user
);
return
this
.
orderService
.
cancelOrder
(
user
);
}
/**
* 申请退款
*/
@RequestMapping
(
value
=
"/refundOrder"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Result
refundOrder
(
@RequestBody
JSONObject
json
)
{
//1. 将前台传过来的json对象转换成具有业务属性的 Java 对象
OrderMain
user
=
JSONObject
.
toJavaObject
(
json
,
OrderMain
.
class
);
return
this
.
orderService
.
refundOrder
(
user
);
}
/**
* 退货
*/
@RequestMapping
(
value
=
"/saveCourierNumber"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Result
saveCourierNumber
(
@RequestBody
JSONObject
json
)
{
//1. 将前台传过来的json对象转换成具有业务属性的 Java 对象
OrderMain
user
=
JSONObject
.
toJavaObject
(
json
,
OrderMain
.
class
);
return
this
.
orderService
.
saveCourierNumber
(
user
);
}
}
...
...
src/main/java/com/yunniu/farming/app/WxController.java
View file @
ec4795a4
...
@@ -100,7 +100,7 @@ public class WxController {
...
@@ -100,7 +100,7 @@ public class WxController {
@RequestMapping
(
value
=
"/wxRefund"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/wxRefund"
,
method
=
RequestMethod
.
POST
)
public
Result
wxRefund
(
Integer
userId
,
Integer
orderId
,
HttpServletRequest
request
)
{
public
Result
wxRefund
(
Integer
userId
,
Integer
orderId
,
HttpServletRequest
request
)
{
try
{
try
{
return
wxService
.
wxRefund
(
userId
,
orderId
,
request
);
return
wxService
.
wxRefund
(
userId
,
orderId
,
""
,
request
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
return
new
Result
(
103
);
return
new
Result
(
103
);
}
}
...
...
src/main/java/com/yunniu/farming/webadmin/controller/OrderMainController.java
View file @
ec4795a4
...
@@ -31,6 +31,10 @@ public class OrderMainController {
...
@@ -31,6 +31,10 @@ public class OrderMainController {
public
String
loanList
(
Model
model
)
{
public
String
loanList
(
Model
model
)
{
return
"order/loanList"
;
return
"order/loanList"
;
}
}
@RequestMapping
(
value
=
"/refundList"
)
public
String
refundList
(
Model
model
)
{
return
"order/refundList"
;
}
@RequestMapping
(
value
=
"/vipList"
)
@RequestMapping
(
value
=
"/vipList"
)
public
String
vipList
(
Model
model
)
{
public
String
vipList
(
Model
model
)
{
...
@@ -155,6 +159,60 @@ public class OrderMainController {
...
@@ -155,6 +159,60 @@ public class OrderMainController {
/**
/**
* 团购退款订单列表
*/
@RequestMapping
(
value
=
"/findPageRefundList"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Result
findPageRefundList
(
@RequestBody
OrderMain
item
)
{
//这里对返回对象用Map处理,map.pageinfo=>分页信息;map.items=>结果数据集;
Map
<
String
,
Object
>
rmap
=
new
HashMap
<
String
,
Object
>();
//传入当前页数,适配PC端Layui分页
if
(
item
.
getCurpage
()
!=
null
||
item
.
getPagesize
()
!=
null
)
{
PageInfo
pinfo
=
new
PageInfo
();
if
(
item
.
getCurpage
()
!=
null
)
{
pinfo
.
setCurPage
(
item
.
getCurpage
());
}
if
(
item
.
getPagesize
()
!=
null
)
{
pinfo
.
setPageSize
(
item
.
getPagesize
());
}
item
.
setPageinfo
(
pinfo
);
}
// 1.查询前 需要对分页对象 做处理,主要是 分页 开始记录数 limit arg0开始记录,arg1每页几条记录
PageInfo
pinfo
=
item
.
getPageinfo
();
if
(
pinfo
==
null
)
{
pinfo
=
new
PageInfo
();
item
.
setPageinfo
(
pinfo
);
}
else
{
// 分页开始记录数
int
curRecord
=
(
pinfo
.
getCurPage
()
-
1
)
*
pinfo
.
getPageSize
();
pinfo
.
setCurRecord
(
curRecord
);
item
.
setPageinfo
(
pinfo
);
}
// 2.1 执行主表 查询
List
<
OrderMain
>
items
=
this
.
orderService
.
selectByParamPageRefundGroupList
(
item
);
// 3.将查询结果的 分页数据封装后返回
int
totalRs
=
pinfo
.
getTotalRecords
();
//总记录数
int
totalPs
=
0
;
//总页数
if
(
totalRs
%
pinfo
.
getPageSize
()
==
0
){
//总页数计算
totalPs
=
totalRs
/
pinfo
.
getPageSize
()
;
}
else
{
totalPs
=
1
+
totalRs
/
pinfo
.
getPageSize
()
;
}
pinfo
.
setTotalPages
(
totalPs
);
// 4.将分页对象、结果集合 封装后返回前台
rmap
.
put
(
"pageinfo"
,
pinfo
);
rmap
.
put
(
"items"
,
items
);
return
Result
.
success
(
rmap
);
}
/**
* 多参数查询列表
* 多参数查询列表
*/
*/
@RequestMapping
(
value
=
"/findByParam"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/findByParam"
,
method
=
RequestMethod
.
POST
)
...
@@ -255,7 +313,34 @@ public class OrderMainController {
...
@@ -255,7 +313,34 @@ public class OrderMainController {
}
}
/**
* 退款申请通过
*/
@RequestMapping
(
value
=
"/refundApplicationPass"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Result
refundApplicationPass
(
@RequestBody
JSONObject
json
){
OrderMain
user
=
JSONObject
.
toJavaObject
(
json
,
OrderMain
.
class
);
return
this
.
orderService
.
refundApplicationPass
(
user
);
}
/**
* 退款申请拒绝
*/
@RequestMapping
(
value
=
"/refundApplicationRefuse"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Result
refundApplicationRefuse
(
@RequestBody
JSONObject
json
){
OrderMain
user
=
JSONObject
.
toJavaObject
(
json
,
OrderMain
.
class
);
return
this
.
orderService
.
refundApplicationRefuse
(
user
);
}
/**
* 已收到退回货物,开始退款
*/
@RequestMapping
(
value
=
"/receive"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
Result
refundReceive
(
@RequestBody
JSONObject
json
){
OrderMain
user
=
JSONObject
.
toJavaObject
(
json
,
OrderMain
.
class
);
return
this
.
orderService
.
refundReceive
(
user
);
}
/**
/**
* 订单已完成
* 订单已完成
...
@@ -272,7 +357,7 @@ public class OrderMainController {
...
@@ -272,7 +357,7 @@ public class OrderMainController {
/**
/**
*
@
积分兑换 商品
* 积分兑换 商品
*/
*/
@RequestMapping
(
value
=
"/integralPay"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/integralPay"
,
method
=
RequestMethod
.
POST
)
public
Result
integralPay
(
Integer
userId
,
Integer
orderId
){
public
Result
integralPay
(
Integer
userId
,
Integer
orderId
){
...
...
src/main/java/com/yunniu/farming/webadmin/controller/TaskJob.java
View file @
ec4795a4
...
@@ -77,7 +77,7 @@ public class TaskJob {
...
@@ -77,7 +77,7 @@ public class TaskJob {
// 循环退款
// 循环退款
orderMains
.
forEach
(
orderMain
->
{
orderMains
.
forEach
(
orderMain
->
{
try
{
try
{
wxService
.
wxRefund
(
orderMain
.
getCustomerid
(),
orderMain
.
getId
(),
null
);
wxService
.
wxRefund
(
orderMain
.
getCustomerid
(),
orderMain
.
getId
(),
"拼团失败"
,
null
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
...
...
src/main/java/com/yunniu/farming/webadmin/dao/OrderMainDao.java
View file @
ec4795a4
...
@@ -22,4 +22,6 @@ public interface OrderMainDao extends BaseMapper<OrderMain> {
...
@@ -22,4 +22,6 @@ public interface OrderMainDao extends BaseMapper<OrderMain> {
List
<
OrderMain
>
selectByGroupOrderId
(
Long
id
);
List
<
OrderMain
>
selectByGroupOrderId
(
Long
id
);
OrderMain
getLastOrderAddres
(
Integer
userId
);
OrderMain
getLastOrderAddres
(
Integer
userId
);
List
<
OrderMain
>
selectByParamPageRefundGroupList
(
OrderMain
item
);
}
}
src/main/java/com/yunniu/farming/webadmin/model/OrderMain.java
View file @
ec4795a4
...
@@ -60,13 +60,18 @@ public class OrderMain {
...
@@ -60,13 +60,18 @@ public class OrderMain {
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
private
String
endDate
;
private
String
endDate
;
//订单状态[10:待付款 20:待发货 30:待收货 90:已完成 99:已拒绝/关闭 100:取消
/退款
]
//订单状态[10:待付款 20:待发货 30:待收货 90:已完成 99:已拒绝/关闭 100:取消
101退款申请中 102待退货 103待退款 104退款成功 105退款拒绝
]
public
static
final
Integer
STATUS_NOPAY
=
10
;
public
static
final
Integer
STATUS_NOPAY
=
10
;
public
static
final
Integer
STATUS_YESPAY
=
20
;
public
static
final
Integer
STATUS_YESPAY
=
20
;
public
static
final
Integer
STATUS_WAITING
=
30
;
public
static
final
Integer
STATUS_WAITING
=
30
;
public
static
final
Integer
STATUS_COMPLETE
=
90
;
public
static
final
Integer
STATUS_COMPLETE
=
90
;
public
static
final
Integer
STATUS_REFUSEED
=
99
;
public
static
final
Integer
STATUS_REFUSEED
=
99
;
public
static
final
Integer
STATUS_CANCEL
=
100
;
public
static
final
Integer
STATUS_CANCEL
=
100
;
public
static
final
Integer
STATUS_APPLICATION
=
101
;
public
static
final
Integer
STATUS_RETURN_GOODS
=
102
;
public
static
final
Integer
STATUS_REFUND
=
103
;
public
static
final
Integer
STATUS_REFUND_SUC
=
104
;
public
static
final
Integer
STATUS_REFUND_REFUSE
=
105
;
//数据库字段
//数据库字段
private
Integer
id
;
// id主键
private
Integer
id
;
// id主键
...
@@ -88,9 +93,12 @@ public class OrderMain {
...
@@ -88,9 +93,12 @@ public class OrderMain {
private
Double
dactscore
;
// 订单实付积分[整数]
private
Double
dactscore
;
// 订单实付积分[整数]
private
Integer
ipaystatus
;
// 支付状态[0:未支付1:支付成功2:支付失败]
private
Integer
ipaystatus
;
// 支付状态[0:未支付1:支付成功2:支付失败]
private
Date
tpaytime
;
// 支付时间[yyyy-MM-dd hh:mm:ss]
private
Date
tpaytime
;
// 支付时间[yyyy-MM-dd hh:mm:ss]
private
Integer
irefundstatus
;
// 退款状态[0:待退款1:已退款2:退款失败]
private
String
refundorderno
;
private
Integer
irefundstatus
;
// 退款状态[101退款申请中 102待退货 103待退款 104退款成功 105退款拒绝]
private
Date
trefundtime
;
// 退款时间[yyyy-MM-dd hh:mm:ss]
private
Date
trefundtime
;
// 退款时间[yyyy-MM-dd hh:mm:ss]
private
String
srefundreason
;
// 退款理由
private
String
srefundreason
;
// 退款理由
private
String
srefundpic
;
// 退款图片
private
String
couriernumber
;
// 退货快递单号
private
Integer
istatus
;
// 订单状态
private
Integer
istatus
;
// 订单状态
private
Integer
itype
;
// 订单类型 //10 外卖订单 20 团购订单
private
Integer
itype
;
// 订单类型 //10 外卖订单 20 团购订单
private
Integer
ipaytype
;
// 支付方式[10:微信支付.20:支付宝支付.30积分支付]
private
Integer
ipaytype
;
// 支付方式[10:微信支付.20:支付宝支付.30积分支付]
...
@@ -126,6 +134,9 @@ public class OrderMain {
...
@@ -126,6 +134,9 @@ public class OrderMain {
private
Long
groupBuyId
;
private
Long
groupBuyId
;
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
String
groupBuyName
;
@TableField
(
exist
=
false
)
private
Integer
appflag
;
private
Integer
appflag
;
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
...
...
src/main/java/com/yunniu/farming/webadmin/service/WxService.java
View file @
ec4795a4
...
@@ -15,7 +15,7 @@ public interface WxService {
...
@@ -15,7 +15,7 @@ public interface WxService {
void
notify
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
IOException
,
JDOMException
;
void
notify
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
IOException
,
JDOMException
;
Result
wxRefund
(
Integer
userId
,
Integer
orderId
,
HttpServletRequest
request
)
throws
Exception
;
Result
wxRefund
(
Integer
userId
,
Integer
orderId
,
String
srefundreason
,
HttpServletRequest
request
)
throws
Exception
;
void
wxRefundNotify
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
IOException
,
JDOMException
;
void
wxRefundNotify
(
HttpServletRequest
request
,
HttpServletResponse
response
)
throws
IOException
,
JDOMException
;
}
}
src/main/java/com/yunniu/farming/webadmin/service/impl/GroupBuyServiceimpl.java
View file @
ec4795a4
...
@@ -121,6 +121,7 @@ public class GroupBuyServiceimpl implements GroupBuyService {
...
@@ -121,6 +121,7 @@ public class GroupBuyServiceimpl implements GroupBuyService {
public
List
<
Product
>
productList
(
Product
item
)
{
public
List
<
Product
>
productList
(
Product
item
)
{
DocCatalog
catalog
=
docCatalogDao
.
selectOne
(
Wrappers
.<
DocCatalog
>
lambdaQuery
().
like
(
DocCatalog:
:
getSname
,
"团购"
));
DocCatalog
catalog
=
docCatalogDao
.
selectOne
(
Wrappers
.<
DocCatalog
>
lambdaQuery
().
like
(
DocCatalog:
:
getSname
,
"团购"
));
item
.
setCatalogid
(
catalog
.
getId
());
item
.
setCatalogid
(
catalog
.
getId
());
item
.
setIstatus
(
1
);
return
productDao
.
selectByParamPageList
(
item
);
return
productDao
.
selectByParamPageList
(
item
);
}
}
...
...
src/main/java/com/yunniu/farming/webadmin/service/impl/OrderMainServiceImpl.java
View file @
ec4795a4
package
com
.
yunniu
.
farming
.
webadmin
.
service
.
impl
;
package
com
.
yunniu
.
farming
.
webadmin
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.yunniu.farming.result.Result
;
import
com.yunniu.farming.result.Result
;
import
com.yunniu.farming.util.DateTools
;
import
com.yunniu.farming.util.DateTools
;
import
com.yunniu.farming.util.DateUtils
;
import
com.yunniu.farming.util.DateUtils
;
...
@@ -14,9 +15,12 @@ import com.yunniu.farming.webadmin.model.Integralrec;
...
@@ -14,9 +15,12 @@ import com.yunniu.farming.webadmin.model.Integralrec;
import
com.yunniu.farming.webadmin.model.OrderMain
;
import
com.yunniu.farming.webadmin.model.OrderMain
;
import
com.yunniu.farming.webadmin.model.OrderSub
;
import
com.yunniu.farming.webadmin.model.OrderSub
;
import
com.yunniu.farming.webadmin.service.GroupOrderService
;
import
com.yunniu.farming.webadmin.service.GroupOrderService
;
import
com.yunniu.farming.webadmin.service.WxService
;
import
com.yunniu.farming.wx.WxConfigUtil
;
import
com.yunniu.farming.wx.WxConfigUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -27,7 +31,7 @@ import java.util.HashMap;
...
@@ -27,7 +31,7 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
@Slf4j
@Service
@Service
public
class
OrderMainServiceImpl
{
public
class
OrderMainServiceImpl
{
...
@@ -47,6 +51,10 @@ public class OrderMainServiceImpl {
...
@@ -47,6 +51,10 @@ public class OrderMainServiceImpl {
@Autowired
@Autowired
private
GroupOrderService
orderService
;
private
GroupOrderService
orderService
;
@Autowired
@Lazy
private
WxService
wxService
;
/**
/**
* 分页查询所有数据
* 分页查询所有数据
...
@@ -54,7 +62,6 @@ public class OrderMainServiceImpl {
...
@@ -54,7 +62,6 @@ public class OrderMainServiceImpl {
*/
*/
public
List
<
OrderMain
>
selectByParamPageList
(
OrderMain
doc
)
{
public
List
<
OrderMain
>
selectByParamPageList
(
OrderMain
doc
)
{
return
this
.
orderMainDao
.
selectByParamPageList
(
doc
);
return
this
.
orderMainDao
.
selectByParamPageList
(
doc
);
}
}
...
@@ -278,7 +285,51 @@ public class OrderMainServiceImpl {
...
@@ -278,7 +285,51 @@ public class OrderMainServiceImpl {
}
}
/**
* 更改订单退款申请通过
*/
public
Result
refundApplicationPass
(
OrderMain
order
)
{
if
(
order
.
getId
()
==
null
){
return
Result
.
error
();
}
order
.
setIrefundstatus
(
OrderMain
.
STATUS_RETURN_GOODS
);
this
.
orderMainDao
.
updateById
(
order
);
return
Result
.
success
(
"成功"
);
}
/**
* 更改订单退款申请通过
*/
public
Result
refundApplicationRefuse
(
OrderMain
order
)
{
if
(
order
.
getId
()
==
null
){
return
Result
.
error
();
}
order
.
setIrefundstatus
(
OrderMain
.
STATUS_REFUND_REFUSE
);
this
.
orderMainDao
.
updateById
(
order
);
return
Result
.
success
(
"成功"
);
}
/**
* 已收到退回货物,开始退款
* @param order
* @return
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
refundReceive
(
OrderMain
order
)
{
// 根据id获取订单信息
OrderMain
orderMain
=
this
.
orderMainDao
.
selectById
(
order
.
getId
());
orderMain
.
setIrefundstatus
(
OrderMain
.
STATUS_REFUND
);
this
.
orderMainDao
.
updateById
(
orderMain
);
log
.
info
(
"收货成功,开始退款:{}"
,
JSON
.
toJSONString
(
orderMain
));
try
{
wxService
.
wxRefund
(
orderMain
.
getCustomerid
(),
orderMain
.
getId
(),
"用户申请退款"
,
null
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
return
null
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
cancelOrder
(
OrderMain
order
)
{
public
Result
cancelOrder
(
OrderMain
order
)
{
if
(
order
.
getId
()
==
null
){
if
(
order
.
getId
()
==
null
){
...
@@ -288,8 +339,12 @@ public class OrderMainServiceImpl {
...
@@ -288,8 +339,12 @@ public class OrderMainServiceImpl {
OrderMain
orderMain
=
this
.
orderMainDao
.
selectById
(
order
.
getId
());
OrderMain
orderMain
=
this
.
orderMainDao
.
selectById
(
order
.
getId
());
//已支付订单 无法取消
//已支付订单 无法取消
if
(
orderMain
.
getIpaystatus
().
equals
(
OrderMain
.
FLAG_Y
)){
if
(
orderMain
.
getIpaystatus
().
equals
(
OrderMain
.
PAY_STATUS_OK
)){
return
Result
.
error
(
"订单已支付,无法取消"
);
try
{
wxService
.
wxRefund
(
orderMain
.
getCustomerid
(),
orderMain
.
getId
(),
"用户申请退款"
,
null
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
}
}
//已取消
//已取消
...
@@ -473,4 +528,31 @@ public class OrderMainServiceImpl {
...
@@ -473,4 +528,31 @@ public class OrderMainServiceImpl {
return
Result
.
success
(
this
.
orderMainDao
.
getLastOrderAddres
(
userId
));
return
Result
.
success
(
this
.
orderMainDao
.
getLastOrderAddres
(
userId
));
}
}
/**
* 申请退款
* @param order
* @return
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Result
refundOrder
(
OrderMain
order
)
{
OrderMain
orderMain
=
this
.
orderMainDao
.
selectById
(
order
.
getId
());
orderMain
.
setSrefundreason
(
order
.
getSrefundreason
());
orderMain
.
setSrefundpic
(
order
.
getSrefundpic
());
orderMain
.
setIrefundstatus
(
OrderMain
.
STATUS_APPLICATION
);
this
.
orderMainDao
.
updateById
(
orderMain
);
return
Result
.
success
(
"成功"
);
}
public
List
<
OrderMain
>
selectByParamPageRefundGroupList
(
OrderMain
item
)
{
return
this
.
orderMainDao
.
selectByParamPageRefundGroupList
(
item
);
}
public
Result
saveCourierNumber
(
OrderMain
order
)
{
OrderMain
orderMain
=
this
.
orderMainDao
.
selectById
(
order
.
getId
());
orderMain
.
setIrefundstatus
(
OrderMain
.
STATUS_RETURN_GOODS
);
orderMain
.
setCouriernumber
(
order
.
getCouriernumber
());
this
.
orderMainDao
.
updateById
(
orderMain
);
return
Result
.
success
(
"成功"
);
}
}
}
src/main/java/com/yunniu/farming/webadmin/service/impl/WxServiceImpl.java
View file @
ec4795a4
...
@@ -234,15 +234,16 @@ public class WxServiceImpl implements WxService {
...
@@ -234,15 +234,16 @@ public class WxServiceImpl implements WxService {
* @return
* @return
*/
*/
@Override
@Override
public
Result
wxRefund
(
Integer
userId
,
Integer
orderId
,
HttpServletRequest
request
)
throws
Exception
{
public
Result
wxRefund
(
Integer
userId
,
Integer
orderId
,
String
srefundreason
,
HttpServletRequest
request
)
throws
Exception
{
OrderMain
order
=
orderMainDao
.
selectByPrimaryKey
(
orderId
);
OrderMain
order
=
orderMainDao
.
selectByPrimaryKey
(
orderId
);
if
(
order
==
null
||
!
order
.
getCustomerid
().
equals
(
userId
))
{
if
(
order
==
null
||
!
order
.
getCustomerid
().
equals
(
userId
))
{
return
new
Result
(
102
);
return
new
Result
(
102
);
}
}
order
.
setSdef1
(
"R"
+
StringHelper
.
getOrderno
());
// 退款单号
order
.
setSdef1
(
"R"
+
StringHelper
.
getOrderno
());
// 退款单号
order
.
setSrefundreason
(
"拼团失败"
);
// 退款理由
order
.
setSrefundreason
(
srefundreason
);
// 退款理由
order
.
setIrefundstatus
(
0
);
order
.
setIrefundstatus
(
0
);
order
.
setTrefundtime
(
new
Date
());
order
.
setTrefundtime
(
new
Date
());
order
.
setRefundorderno
(
StringHelper
.
getOrderno
());
orderMainDao
.
updateById
(
order
);
orderMainDao
.
updateById
(
order
);
double
tradeMoney
=
order
.
getDactmoney
();
double
tradeMoney
=
order
.
getDactmoney
();
...
@@ -259,6 +260,7 @@ public class WxServiceImpl implements WxService {
...
@@ -259,6 +260,7 @@ public class WxServiceImpl implements WxService {
//parameters.put("profit_sharing", "Y");
//parameters.put("profit_sharing", "Y");
// 用户端实际ip
// 用户端实际ip
parameters
.
put
(
"notify_url"
,
WxConfigUtil
.
refund_notify_url
);
// 接收微信支付异步通知回调地址
parameters
.
put
(
"notify_url"
,
WxConfigUtil
.
refund_notify_url
);
// 接收微信支付异步通知回调地址
parameters
.
put
(
"out_refund_no"
,
order
.
getRefundorderno
());
System
.
out
.
println
(
"sign====="
+
parameters
);
System
.
out
.
println
(
"sign====="
+
parameters
);
// 设置签名
// 设置签名
String
sign
=
WxUtil
.
createSignMD5
(
parameters
);
String
sign
=
WxUtil
.
createSignMD5
(
parameters
);
...
@@ -267,8 +269,8 @@ public class WxServiceImpl implements WxService {
...
@@ -267,8 +269,8 @@ public class WxServiceImpl implements WxService {
// 封装请求参数结束
// 封装请求参数结束
String
requestXML
=
WxUtil
.
getRequestXml
(
parameters
);
String
requestXML
=
WxUtil
.
getRequestXml
(
parameters
);
System
.
out
.
println
(
requestXML
);
System
.
out
.
println
(
requestXML
);
// 调用
统一下单
接口
// 调用
申请退款
接口
String
result
=
WxUtil
.
httpsRequest
(
WxConfigUtil
.
REFUND_ORDER_URL
,
"POST"
,
requestXML
);
String
result
=
WxUtil
.
doRefund
(
WxConfigUtil
.
REFUND_ORDER_URL
,
requestXML
);
System
.
out
.
println
(
result
);
System
.
out
.
println
(
result
);
Map
<
String
,
String
>
map
=
XMLUtil
.
doXMLParse
(
result
);
Map
<
String
,
String
>
map
=
XMLUtil
.
doXMLParse
(
result
);
if
(!
"SUCCESS"
.
equals
(
map
.
get
(
"result_code"
))){
if
(!
"SUCCESS"
.
equals
(
map
.
get
(
"result_code"
))){
...
...
src/main/java/com/yunniu/farming/wx/WxUtil.java
View file @
ec4795a4
...
@@ -20,6 +20,21 @@ import java.security.NoSuchAlgorithmException;
...
@@ -20,6 +20,21 @@ import java.security.NoSuchAlgorithmException;
import
java.security.SecureRandom
;
import
java.security.SecureRandom
;
import
java.util.*
;
import
java.util.*
;
import
java.io.File
;
import
java.io.InputStream
;
import
java.security.KeyStore
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpPost
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
import
org.apache.http.conn.ssl.SSLContexts
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.core.io.ClassPathResource
;
public
class
WxUtil
{
public
class
WxUtil
{
private
static
final
String
SYMBOLS
=
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
;
private
static
final
String
SYMBOLS
=
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
;
...
@@ -247,6 +262,51 @@ public class WxUtil {
...
@@ -247,6 +262,51 @@ public class WxUtil {
return
null
;
return
null
;
}
}
public
static
String
doRefund
(
String
url
,
String
data
)
throws
Exception
{
KeyStore
keyStore
=
KeyStore
.
getInstance
(
"PKCS12"
);
// 指定证书路径
String
path
=
"apiclient_cert.p12"
;
ClassPathResource
classPathResource
=
new
ClassPathResource
(
path
);
//读取本机存放的PKCS12证书文件
InputStream
stream
=
classPathResource
.
getInputStream
();
String
mchId
=
WxConfigUtil
.
MCH_ID
;
try
{
//指定PKCS12的密码(商户ID)
keyStore
.
load
(
stream
,
mchId
.
toCharArray
());
}
finally
{
stream
.
close
();
}
SSLContext
sslcontext
=
SSLContexts
.
custom
().
loadKeyMaterial
(
keyStore
,
mchId
.
toCharArray
()).
build
();
//指定TLS版本
SSLConnectionSocketFactory
sslsf
=
new
SSLConnectionSocketFactory
(
sslcontext
,
new
String
[]
{
"TLSv1.2"
},
null
,
SSLConnectionSocketFactory
.
BROWSER_COMPATIBLE_HOSTNAME_VERIFIER
);
//设置httpclient的SSLSocketFactory
CloseableHttpClient
httpclient
=
HttpClients
.
custom
().
setSSLSocketFactory
(
sslsf
).
build
();
try
{
HttpPost
httpost
=
new
HttpPost
(
url
);
// 设置响应头信息
httpost
.
addHeader
(
"Connection"
,
"keep-alive"
);
httpost
.
addHeader
(
"Accept"
,
"*/*"
);
httpost
.
addHeader
(
"Content-Type"
,
"application/x-www-form-urlencoded; charset=UTF-8"
);
httpost
.
addHeader
(
"Host"
,
"api.mch.weixin.qq.com"
);
httpost
.
addHeader
(
"X-Requested-With"
,
"XMLHttpRequest"
);
httpost
.
addHeader
(
"Cache-Control"
,
"max-age=0"
);
httpost
.
addHeader
(
"User-Agent"
,
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) "
);
httpost
.
setEntity
(
new
StringEntity
(
data
,
"UTF-8"
));
CloseableHttpResponse
response
=
httpclient
.
execute
(
httpost
);
try
{
HttpEntity
entity
=
response
.
getEntity
();
String
jsonStr
=
EntityUtils
.
toString
(
response
.
getEntity
(),
"UTF-8"
);
EntityUtils
.
consume
(
entity
);
return
jsonStr
;
}
finally
{
response
.
close
();
}
}
finally
{
httpclient
.
close
();
}
}
public
static
JSONObject
httpsRequest
(
String
requestUrl
,
String
requestMethod
)
{
public
static
JSONObject
httpsRequest
(
String
requestUrl
,
String
requestMethod
)
{
JSONObject
jsonObject
=
null
;
JSONObject
jsonObject
=
null
;
...
...
src/main/resources/application.properties
View file @
ec4795a4
#spring.datasource.url=jdbc:mysql://152.136.113.101:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#spring.datasource.url=jdbc:mysql://152.136.113.101:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#spring.datasource.username=root
#spring.datasource.username=root
#spring.datasource.password=Root_123456
#spring.datasource.password=Root_123456
spring.datasource.url
=
jdbc:mysql://localhost:3306/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#
spring.datasource.url=jdbc:mysql://localhost:3306/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
spring.datasource.username
=
farming
#
spring.datasource.username=farming
spring.datasource.password
=
PKWB6psxa7FBApZB
#
spring.datasource.password=PKWB6psxa7FBApZB
#
spring.datasource.url=jdbc:mysql://db1.prd.jianghuxx.com:3317/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
spring.datasource.url
=
jdbc:mysql://db1.prd.jianghuxx.com:3317/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
#
spring.datasource.username=root
spring.datasource.username
=
root
#
spring.datasource.password=4f9fa23639242790
spring.datasource.password
=
4f9fa23639242790
#7LwimZ27FqEnzIPg
#7LwimZ27FqEnzIPg
##47.101.199.10
##47.101.199.10
spring.datasource.driverClassName
=
com.mysql.cj.jdbc.Driver
spring.datasource.driverClassName
=
com.mysql.cj.jdbc.Driver
...
...
src/main/resources/mappings/OrderMainMapper.xml
View file @
ec4795a4
...
@@ -26,6 +26,8 @@
...
@@ -26,6 +26,8 @@
<result
column=
"istatus"
property=
"istatus"
jdbcType=
"INTEGER"
/>
<result
column=
"istatus"
property=
"istatus"
jdbcType=
"INTEGER"
/>
<result
column=
"itype"
property=
"itype"
jdbcType=
"INTEGER"
/>
<result
column=
"itype"
property=
"itype"
jdbcType=
"INTEGER"
/>
<result
column=
"srefundreason"
property=
"srefundreason"
jdbcType=
"VARCHAR"
/>
<result
column=
"srefundreason"
property=
"srefundreason"
jdbcType=
"VARCHAR"
/>
<result
column=
"srefundpic"
property=
"srefundpic"
jdbcType=
"VARCHAR"
/>
<result
column=
"couriernumber"
property=
"couriernumber"
jdbcType=
"VARCHAR"
/>
<result
column=
"productid"
property=
"productid"
jdbcType=
"INTEGER"
/>
<result
column=
"productid"
property=
"productid"
jdbcType=
"INTEGER"
/>
<result
column=
"ipaytype"
property=
"ipaytype"
jdbcType=
"INTEGER"
/>
<result
column=
"ipaytype"
property=
"ipaytype"
jdbcType=
"INTEGER"
/>
<result
column=
"sremark"
property=
"sremark"
jdbcType=
"VARCHAR"
/>
<result
column=
"sremark"
property=
"sremark"
jdbcType=
"VARCHAR"
/>
...
@@ -124,6 +126,9 @@
...
@@ -124,6 +126,9 @@
ordermain.dactscore,
ordermain.dactscore,
ordermain.ipaystatus,
ordermain.ipaystatus,
ordermain.irefundstatus,
ordermain.irefundstatus,
ordermain.srefundreason,
ordermain.srefundpic,
ordermain.couriernumber,
ordermain.tpaytime,
ordermain.tpaytime,
ordermain.trefundtime,
ordermain.trefundtime,
ordermain.istatus,
ordermain.istatus,
...
@@ -182,22 +187,85 @@
...
@@ -182,22 +187,85 @@
ORDER BY tordertime DESC
ORDER BY tordertime DESC
</select>
</select>
<resultMap
id=
"ResultMap"
type=
"com.yunniu.farming.webadmin.model.OrderMain"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"customerid"
property=
"customerid"
jdbcType=
"INTEGER"
/>
<result
column=
"addressid"
property=
"addressid"
jdbcType=
"INTEGER"
/>
<result
column=
"sorderno"
property=
"sorderno"
jdbcType=
"VARCHAR"
/>
<result
column=
"scusaddr"
property=
"scusaddr"
jdbcType=
"VARCHAR"
/>
<result
column=
"scuname"
property=
"scuname"
jdbcType=
"VARCHAR"
/>
<result
column=
"scuphone"
property=
"scuphone"
jdbcType=
"VARCHAR"
/>
<result
column=
"sprovince"
property=
"sprovince"
jdbcType=
"VARCHAR"
/>
<result
column=
"scity"
property=
"scity"
jdbcType=
"VARCHAR"
/>
<result
column=
"sregion"
property=
"sregion"
jdbcType=
"VARCHAR"
/>
<result
column=
"sorderdate"
property=
"sorderdate"
jdbcType=
"CHAR"
/>
<result
column=
"tordertime"
property=
"tordertime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"tovertime"
property=
"tovertime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"dplanmoney"
property=
"dplanmoney"
jdbcType=
"DECIMAL"
/>
<result
column=
"dactmoney"
property=
"dactmoney"
jdbcType=
"DECIMAL"
/>
<result
column=
"dactscore"
property=
"dactscore"
jdbcType=
"DECIMAL"
/>
<result
column=
"ipaystatus"
property=
"ipaystatus"
jdbcType=
"INTEGER"
/>
<result
column=
"group_order_id"
property=
"groupOrderId"
jdbcType=
"INTEGER"
/>
<result
column=
"irefundstatus"
property=
"irefundstatus"
jdbcType=
"INTEGER"
/>
<result
column=
"tpaytime"
property=
"tpaytime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"trefundtime"
property=
"trefundtime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"istatus"
property=
"istatus"
jdbcType=
"INTEGER"
/>
<result
column=
"itype"
property=
"itype"
jdbcType=
"INTEGER"
/>
<result
column=
"srefundreason"
property=
"srefundreason"
jdbcType=
"VARCHAR"
/>
<result
column=
"srefundpic"
property=
"srefundpic"
jdbcType=
"VARCHAR"
/>
<result
column=
"couriernumber"
property=
"couriernumber"
jdbcType=
"VARCHAR"
/>
<result
column=
"productid"
property=
"productid"
jdbcType=
"INTEGER"
/>
<result
column=
"ipaytype"
property=
"ipaytype"
jdbcType=
"INTEGER"
/>
<result
column=
"sremark"
property=
"sremark"
jdbcType=
"VARCHAR"
/>
<result
column=
"sdef1"
property=
"sdef1"
jdbcType=
"VARCHAR"
/>
<result
column=
"sdef2"
property=
"sdef2"
jdbcType=
"VARCHAR"
/>
<result
column=
"sdef3"
property=
"sdef3"
jdbcType=
"VARCHAR"
/>
<result
column=
"sdef4"
property=
"sdef4"
jdbcType=
"VARCHAR"
/>
<result
column=
"sdef5"
property=
"sdef5"
jdbcType=
"VARCHAR"
/>
<result
column=
"idef6"
property=
"idef6"
jdbcType=
"INTEGER"
/>
<result
column=
"idef7"
property=
"idef7"
jdbcType=
"INTEGER"
/>
<result
column=
"ddef8"
property=
"ddef8"
jdbcType=
"DECIMAL"
/>
<result
column=
"ddef9"
property=
"ddef9"
jdbcType=
"DECIMAL"
/>
<result
column=
"ddef10"
property=
"ddef10"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"groupBuyId"
property=
"groupBuyId"
jdbcType=
"BIGINT"
/>
<result
column=
"groupBuyName"
property=
"groupBuyName"
jdbcType=
"VARCHAR"
/>
<association
property=
"customer"
column=
"customerid"
select=
"selectCustomer"
/>
<!-- FRICE TODO 一对多 关联查询 -->
<collection
property=
"subs"
ofType=
"com.yunniu.farming.webadmin.model.OrderSub"
select=
"selectOrderSub"
column=
"id"
/>
</resultMap>
<resultMap
id=
"subs"
type=
"com.yunniu.farming.webadmin.model.OrderSub"
>
<result
column=
"zid"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"zmainid"
property=
"mainid"
jdbcType=
"INTEGER"
/>
<result
column=
"zproductid"
property=
"productid"
jdbcType=
"INTEGER"
/>
<result
column=
"zipronum"
property=
"ipronum"
jdbcType=
"INTEGER"
/>
<result
column=
"zdprosum"
property=
"dprosum"
jdbcType=
"DECIMAL"
/>
<result
column=
"zsgoodprice"
property=
"sgoodprice"
jdbcType=
"DECIMAL"
/>
<!-- 以下为商品相关字段 -->
<result
column=
"zsproductname"
property=
"sproductname"
jdbcType=
"VARCHAR"
/>
<result
column=
"zspshortpic"
property=
"spshortpic"
jdbcType=
"VARCHAR"
/>
</resultMap>
<select
id=
"selectOrderSub"
resultMap=
"subs"
>
select sub.id AS zid,
sub.mainid AS zmainid,
sub.ipronum AS zipronum,
sub.dprosum AS zdprosum,
sub.productid AS zproductid,
sub.sgoodprice AS zsgoodprice,
sub.sproductname AS zsproductname,
sub.spshortpic AS zspshortpic
from order_sub sub
where mainid = #{id}
</select>
<!-- 带参数分页查询 S -->
<!-- 带参数分页查询 S -->
<select
id=
"selectByParamPageList"
resultMap=
"
Base
ResultMap"
<select
id=
"selectByParamPageList"
resultMap=
"ResultMap"
parameterType=
"com.yunniu.farming.webadmin.model.OrderMain"
>
parameterType=
"com.yunniu.farming.webadmin.model.OrderMain"
>
SELECT
SELECT
<include
refid=
"Full_Column_List"
/>
<include
refid=
"Full_Column_List"
/>
<!-- 关联子表信息 -->
<!-- 关联子表信息 -->
,
sub.id AS zid,
sub.ipronum AS zipronum,
sub.dprosum AS zdprosum,
sub.productid AS zproductid,
sub.sgoodprice AS zsgoodprice,
sub.sproductname AS zsproductname,
sub.spshortpic AS zspshortpic
FROM order_main ordermain
FROM order_main ordermain
LEFT JOIN order_sub sub ON ordermain.id = sub.mainid
<where>
<where>
<if
test=
"appflag == null or appflag == ''"
>
<if
test=
"appflag == null or appflag == ''"
>
ordermain.itype = 10
ordermain.itype = 10
...
@@ -336,4 +404,50 @@
...
@@ -336,4 +404,50 @@
and sdef3 is not null
and sdef3 is not null
order by tordertime desc limit 1
order by tordertime desc limit 1
</select>
</select>
<select
id=
"selectByParamPageRefundGroupList"
resultMap=
"ResultMap"
>
SELECT
<include
refid=
"Full_Column_List"
/>
<!-- 关联子表信息 -->
,gb.id as groupBuyId
,gb.group_buy_title as groupBuyName
FROM order_main ordermain
left join group_order go on ordermain.group_order_id = go.id
left join group_buy gb on go.group_buy_id = gb.id
<where>
ordermain.group_order_id IS NOT NULL
AND ordermain.irefundstatus IS NOT NULL
<if
test=
"id != null"
>
AND ordermain.id = #{id,jdbcType=INTEGER}
</if>
<if
test=
"customerid != null"
>
AND ordermain.customerid = #{customerid,jdbcType=INTEGER}
</if>
<if
test=
"istatus != null"
>
AND ordermain.istatus = #{istatus,jdbcType=INTEGER}
</if>
<if
test=
"irefundstatus != null"
>
AND ordermain.irefundstatus = #{irefundstatus,jdbcType=INTEGER}
</if>
<if
test=
"itype != null"
>
AND ordermain.itype = #{itype,jdbcType=INTEGER}
</if>
<if
test=
"ipaytype != null"
>
AND ordermain.ipaytype = #{ipaytype,jdbcType=INTEGER}
</if>
<if
test=
"sorderno != null and sorderno != ''"
>
AND ordermain.sorderno = #{sorderno,jdbcType=VARCHAR}
</if>
<if
test=
"beginDate != null"
>
AND ordermain.sorderdate
<![CDATA[ >= ]]>
#{beginDate,jdbcType=VARCHAR}
</if>
<if
test=
"endDate != null"
>
AND ordermain.sorderdate
<![CDATA[ <= ]]>
#{endDate,jdbcType=VARCHAR}
</if>
</where>
<!-- 以时间倒序显示 -->
ORDER BY ordermain.tordertime DESC
</select>
</mapper>
</mapper>
src/main/resources/templates/groupBuy/addOrEdit.html
View file @
ec4795a4
...
@@ -422,7 +422,8 @@
...
@@ -422,7 +422,8 @@
groupBuy
.
areaIdList
=
areaIdList
;
groupBuy
.
areaIdList
=
areaIdList
;
groupBuy
.
products
=
products
;
groupBuy
.
products
=
products
;
groupBuy
.
goodsImgArr
=
goodsImgArr
;
groupBuy
.
goodsImgArr
=
goodsImgArr
;
groupBuy
.
groupBuyPic
=
groupBuyPic
;
// groupBuy.groupBuyPic = groupBuyPic;
groupBuy
.
groupBuyPic
=
"https://ns-strategy.cdn.bcebos.com/ns-strategy/upload/fc_big_pic/part-00069-829.jpg"
;
groupBuy
.
startTime
=
startTime
;
groupBuy
.
startTime
=
startTime
;
groupBuy
.
endTime
=
endTime
;
groupBuy
.
endTime
=
endTime
;
$
.
ajax
({
$
.
ajax
({
...
...
src/main/resources/templates/groupBuy/productList.html
View file @
ec4795a4
...
@@ -62,6 +62,13 @@
...
@@ -62,6 +62,13 @@
<
span
>
无
<
/span
>
<
span
>
无
<
/span
>
{{
#
}
}}
{{
#
}
}}
</script>
</script>
<script
type=
"text/html"
id=
"istatus"
>
{{
#
if
(
d
.
istatus
==
3
)
{
}}
<
span
>
已下架
<
/span
>
{{
#
}
else
if
(
d
.
istatus
==
1
){
}}
<
span
>
在售
<
/span
>
{{
#
}
}}
</script>
<!--<script type="text/javascript" th:src="@{/js/upload_img/js/updateimg.js}"></script>-->
<!--<script type="text/javascript" th:src="@{/js/upload_img/js/updateimg.js}"></script>-->
...
@@ -125,6 +132,7 @@
...
@@ -125,6 +132,7 @@
{
field
:
'catalogName'
,
title
:
'分类'
},
{
field
:
'catalogName'
,
title
:
'分类'
},
{
field
:
'doldprice'
,
title
:
'原价'
},
{
field
:
'doldprice'
,
title
:
'原价'
},
{
field
:
'dsaleprice'
,
title
:
'售价'
},
{
field
:
'dsaleprice'
,
title
:
'售价'
},
{
field
:
'istatus'
,
title
:
'状态'
,
toolbar
:
'#istatus'
},
]
]
]
]
});
});
...
...
src/main/resources/templates/order/loanList.html
View file @
ec4795a4
...
@@ -82,7 +82,13 @@
...
@@ -82,7 +82,13 @@
<script
type=
"text/html"
id=
"table-handle"
>
<script
type=
"text/html"
id=
"table-handle"
>
<
i
class
=
"layui-icon layui-icon-form"
lay
-
event
=
"orderDetail"
title
=
"订单详情"
><
/i
>
<
i
class
=
"layui-icon layui-icon-form"
lay
-
event
=
"orderDetail"
title
=
"订单详情"
><
/i
>
{{
#
if
(
d
.
istatus
==
0
||
d
.
istatus
==
10
)
{
}}
<!--
101
退款申请中
102
待退货
103
待退款
104
退款成功
105
退款拒绝
-->
{{
#
if
(
d
.
irefundstatus
==
101
)
{
}}
<
i
class
=
"layui-icon layui-icon-ok"
lay
-
event
=
"pass"
title
=
"退款申请通过"
><
/i
>
<
i
class
=
"layui-icon layui-icon-close"
lay
-
event
=
"refuse"
title
=
"退款申请拒绝"
><
/i
>
{{
#
}
else
if
(
d
.
irefundstatus
==
102
){
}}
<
i
class
=
"layui-icon layui-icon-component"
lay
-
event
=
"receive"
title
=
"退款已收货"
><
/i
>
{{
#
}
else
if
(
d
.
istatus
==
0
||
d
.
istatus
==
10
)
{
}}
{{
#
}
else
if
(
d
.
istatus
==
20
){
}}
{{
#
}
else
if
(
d
.
istatus
==
20
){
}}
<
i
class
=
"layui-icon layui-icon-ok-circle"
lay
-
event
=
"deliver"
title
=
"发货"
><
/i
>
<
i
class
=
"layui-icon layui-icon-ok-circle"
lay
-
event
=
"deliver"
title
=
"发货"
><
/i
>
{{
#
}
else
if
(
d
.
istatus
==
30
){
}}
{{
#
}
else
if
(
d
.
istatus
==
30
){
}}
...
@@ -183,7 +189,7 @@
...
@@ -183,7 +189,7 @@
,{
,{
title
:
"订单状态"
,
title
:
"订单状态"
,
width
:
1
00
,
width
:
2
00
,
templet
:
function
(
d
)
{
templet
:
function
(
d
)
{
var
str
=
""
;
var
str
=
""
;
...
@@ -193,7 +199,7 @@
...
@@ -193,7 +199,7 @@
if
(
d
.
ipaystatus
==
1
)
itype
=
"<span class='layui-badge'>支付成功</span>"
;
if
(
d
.
ipaystatus
==
1
)
itype
=
"<span class='layui-badge'>支付成功</span>"
;
if
(
d
.
ipaystatus
==
2
)
itype
=
"<span class='layui-badge layui-bg-gray'>支付失败</span>"
;
if
(
d
.
ipaystatus
==
2
)
itype
=
"<span class='layui-badge layui-bg-gray'>支付失败</span>"
;
str
+=
' <span>'
+
itype
+
'</span>'
;
str
+=
' <span>'
+
itype
+
'</span>'
;
//订单状态
//订单状态
10:待付款 20:待发货 30:待收货 90:已完成 99:已拒绝/关闭 100:取消
var
status
=
""
;
var
status
=
""
;
if
(
d
.
istatus
==
10
)
status
=
"<span class='layui-badge layui-bg-orange'>待付款</span>"
;
if
(
d
.
istatus
==
10
)
status
=
"<span class='layui-badge layui-bg-orange'>待付款</span>"
;
if
(
d
.
istatus
==
20
)
status
=
"<span class='layui-badge layui-bg-orange'>待发货</span>"
;
if
(
d
.
istatus
==
20
)
status
=
"<span class='layui-badge layui-bg-orange'>待发货</span>"
;
...
@@ -201,15 +207,34 @@
...
@@ -201,15 +207,34 @@
if
(
d
.
istatus
==
90
)
status
=
"<span class='layui-badge layui-bg-green'>已完成</span>"
;
if
(
d
.
istatus
==
90
)
status
=
"<span class='layui-badge layui-bg-green'>已完成</span>"
;
if
(
d
.
istatus
==
99
)
status
=
"<span class='layui-badge layui-bg-gray'>交易关闭</span>"
;
if
(
d
.
istatus
==
99
)
status
=
"<span class='layui-badge layui-bg-gray'>交易关闭</span>"
;
if
(
d
.
istatus
==
100
)
status
=
"<span class='layui-badge layui-bg-black'>已取消</span>"
;
if
(
d
.
istatus
==
100
)
status
=
"<span class='layui-badge layui-bg-black'>已取消</span>"
;
str
+=
' <span>'
+
status
+
'</span>'
;
str
+=
' <span>'
+
status
+
'</span>'
;
// 101退款申请中 102待退货 103待退款 104退款成功
var
refundStatus
=
""
;
if
(
d
.
irefundstatus
==
101
)
refundStatus
=
"<span class='layui-badge layui-bg-red'>退款申请中</span>"
;
if
(
d
.
irefundstatus
==
102
)
refundStatus
=
"<span class='layui-badge layui-bg-orange'>待退货</span>"
;
if
(
d
.
irefundstatus
==
103
)
refundStatus
=
"<span class='layui-badge layui-bg-orange'>待退款</span>"
;
if
(
d
.
irefundstatus
==
104
)
refundStatus
=
"<span class='layui-badge layui-bg-green'>退款成功</span>"
;
if
(
d
.
irefundstatus
==
105
)
refundStatus
=
"<span class='layui-badge layui-bg-cyan'>退款拒绝</span>"
;
str
+=
' <span>'
+
refundStatus
+
'</span>'
;
str
+=
'</div>'
;
str
+=
'</div>'
;
return
str
?
str
:
""
;
return
str
?
str
:
""
;
}
}
}
}
,
{
field
:
'tordertime'
,
width
:
100
,
title
:
'下单日期'
}
,
{
field
:
'tordertime'
,
width
:
100
,
title
:
'下单日期'
}
,
{
field
:
'sremark'
,
width
:
100
,
title
:
'备注'
}
,
{
field
:
'sremark'
,
width
:
100
,
title
:
'备注'
}
,
{
field
:
'trefundtime'
,
width
:
100
,
title
:
'退款时间'
}
,{
width
:
100
,
title
:
"退款图片"
,
align
:
"center"
,
templet
:
function
(
d
)
{
return
d
.
srefundpic
?
'<div><img id="zi'
+
d
.
id
+
'" src="'
+
d
.
srefundpic
+
'" onmouseover="bigImg(this)" onmouseout="smallImg()" onclick="tolook(src)" style="height:20px;"></div>'
:
''
;
}
}
,
{
field
:
'srefundreason'
,
width
:
100
,
title
:
'退款理由'
}
,
{
field
:
'couriernumber'
,
width
:
120
,
title
:
'退款快递单号'
}
,
{
field
:
'scusaddr'
,
width
:
100
,
title
:
'地址'
}
,
{
field
:
'scusaddr'
,
width
:
100
,
title
:
'地址'
}
,
{
field
:
'scuname'
,
width
:
100
,
title
:
'联系姓名'
}
,
{
field
:
'scuname'
,
width
:
100
,
title
:
'联系姓名'
}
,
{
field
:
'scuphone'
,
width
:
100
,
title
:
'联系电话'
}
,
{
field
:
'scuphone'
,
width
:
100
,
title
:
'联系电话'
}
...
@@ -461,6 +486,77 @@
...
@@ -461,6 +486,77 @@
iframeBtn
.
click
();
//模拟iframe页面层的提交按钮点击
iframeBtn
.
click
();
//模拟iframe页面层的提交按钮点击
}
}
});
});
}
else
if
(
obj
.
event
===
'pass'
)
{
var
id
=
obj
.
data
.
id
;
layer
.
confirm
(
'确定审核通过吗?'
,
function
(
index
)
{
var
param
=
{};
param
.
id
=
id
;
$
.
ajax
({
url
:
"refundApplicationPass"
,
data
:
JSON
.
stringify
(
param
),
type
:
"POST"
,
dataType
:
"json"
,
contentType
:
"application/json;charset=utf-8"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
else
if
(
obj
.
event
===
'refuse'
)
{
var
id
=
obj
.
data
.
id
;
layer
.
confirm
(
'确定审核拒绝吗?'
,
function
(
index
)
{
var
param
=
{};
param
.
id
=
id
;
$
.
ajax
({
url
:
"refundApplicationRefuse"
,
data
:
JSON
.
stringify
(
param
),
type
:
"POST"
,
dataType
:
"json"
,
contentType
:
"application/json;charset=utf-8"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
else
if
(
obj
.
event
===
'receive'
)
{
var
id
=
obj
.
data
.
id
;
layer
.
confirm
(
'确定已收到退回的货物吗? 确定后将进行退款!'
,
function
(
index
)
{
var
param
=
{};
param
.
id
=
id
;
$
.
ajax
({
url
:
"receive"
,
data
:
JSON
.
stringify
(
param
),
type
:
"POST"
,
dataType
:
"json"
,
contentType
:
"application/json;charset=utf-8"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
}
});
});
}
}
...
...
src/main/resources/templates/order/refundList.html
0 → 100644
View file @
ec4795a4
<!DOCTYPE html>
<html
lang=
"en"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
后台管理系统
</title>
<meta
name=
"renderer"
content=
"webkit"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=1"
>
<link
rel=
"shortcut icon"
th:href=
"@{/images/logo.jpg}"
/>
<link
rel=
"stylesheet"
th:href=
"@{/js/layui/css/layui.css}"
>
<link
rel=
"stylesheet"
th:href=
"@{/js/layui/css/admin.css}"
>
<link
rel=
"stylesheet"
th:href=
"@{/js/layui/css/my.css}"
>
<script
type=
"text/javascript"
th:src=
"@{/js/jquery-3.3.1.min.js}"
></script>
<script
th:src=
"@{/js/layui/layui.js}"
charset=
"utf-8"
></script>
<style>img
{
height
:
25px
;
}
</style>
</head>
<body>
<div
class=
"layui-fluid"
>
<div
class=
"layui-card"
>
<div
class=
"layui-form layui-card-header layuiadmin-card-header-auto my-header"
>
<div
class=
"layui-form-item"
>
<div
class=
"layui-inline"
>
<label
class=
"layui-form-label"
>
订单编号
</label>
<div
class=
"layui-input-block"
>
<input
type=
"text"
name=
"sorderno"
class=
"layui-input"
placeholder=
"请输入订单编号"
>
</div>
</div>
<div
class=
"layui-inline"
>
<label
class=
"layui-form-label"
>
订单状态
</label>
<div
class=
"layui-input-block"
>
<select
name=
"istatus"
lay-filter=
"istatus"
lay-search
>
<option
value=
""
>
请选择
</option>
<option
value=
"10"
>
待付款
</option>
<!--<option value="20">待发货</option>-->
<option
value=
"30"
>
待收货
</option>
<option
value=
"90"
>
已完成
</option>
<option
value=
"100"
>
已取消
</option>
</select>
</div>
</div>
<div
class=
"layui-inline"
>
<button
class=
"layui-btn layuiadmin-button-btn"
lay-submit
lay-filter=
"The-search"
id=
"The-search"
>
<i
class=
"layui-icon layui-icon-search layuiadmin-button-btn"
>
</i>
</button>
</div>
<div
class=
"layui-inline"
>
<button
class=
"layui-btn layuiadmin-button-btn"
onclick=
"javascript:location.replace(location.href);"
>
<i
class=
"layui-icon layui-icon-refresh-3 layuiadmin-button-btn"
>
</i>
</button>
</div>
</div>
</div>
</div>
<div
class=
"layui-card-body"
>
<table
class=
"layui-hide"
id=
"tableId"
lay-filter=
"tableId"
></table>
</div>
</div>
</div>
<script
type=
"text/html"
id=
"toolbarUtil"
>
<
div
class
=
"layui-btn-container"
>
<!--
<
button
class
=
"layui-btn layui-btn-danger"
lay
-
event
=
"del"
><
i
class
=
"layui-icon layui-icon-delete"
><
/i>删除--
>
<!--
<
/button>--
>
<!--
<
button
class
=
"layui-btn layui-btn"
lay
-
event
=
"export"
><
i
class
=
"layui-icon layui-icon-release"
><
/i>导出</
button
>-->
<
/div
>
</script>
<script
type=
"text/html"
id=
"table-handle"
>
<
i
class
=
"layui-icon layui-icon-form"
lay
-
event
=
"orderDetail"
title
=
"订单详情"
><
/i
>
<!--
101
退款申请中
102
待退货
103
待退款
104
退款成功
105
退款拒绝
-->
{{
#
if
(
d
.
irefundstatus
==
101
)
{
}}
<
i
class
=
"layui-icon layui-icon-ok"
lay
-
event
=
"pass"
title
=
"退款申请通过"
><
/i
>
<
i
class
=
"layui-icon layui-icon-close"
lay
-
event
=
"refuse"
title
=
"退款申请拒绝"
><
/i
>
{{
#
}
else
if
(
d
.
irefundstatus
==
102
){
}}
<
i
class
=
"layui-icon layui-icon-component"
lay
-
event
=
"receive"
title
=
"退款已收货"
><
/i
>
{{
#
}
}}
</script>
<script>
var
field
=
{};
layui
.
use
([
'table'
,
'laydate'
,
'form'
],
function
()
{
var
form
=
layui
.
form
,
table
=
layui
.
table
;
//监听搜索
form
.
on
(
'submit(The-search)'
,
function
(
data
)
{
field
=
data
.
field
;
//执行重载
table
.
reload
(
'tableId'
,
{
where
:
field
,
page
:
{
curr
:
1
}
});
});
table
.
render
({
elem
:
'#tableId'
,
url
:
'findPageRefundList'
,
where
:
field
,
method
:
'post'
,
contentType
:
"application/json"
// 内容编码, json格式
,
height
:
500
,
toolbar
:
'#toolbarUtil'
//开启头部工具栏,并为其绑定左侧模板
,
defaultToolbar
:
[
'filter'
]
,
cellMinWidth
:
20
//全局定义常规单元格的最小宽度,layui 2.2.1 新增
,
skin
:
'line '
//表格风格 line (行边框风格)row (列边框风格)nob (无边框风格)
,
even
:
true
//隔行换色
,
limit
:
20
//每页默认显示的数量
,
page
:
true
,
request
:
{
pageName
:
"curpage"
,
// 页码的参数名称,默认:page
limitName
:
"pagesize"
// 每页数据量的参数名,默认:limit
}
,
response
:
{
statusName
:
"code"
,
// 规定数据状态的字段名称,默认:code
statusCode
:
100
,
// 规定成功的状态码,默认:0
msgName
:
"msg"
,
// 规定状态信息的字段名称,默认:msg
countName
:
"count"
,
// 规定数据总数的字段名称,默认:count
dataName
:
"data"
// 规定数据列表的字段名称,默认:data
}
,
parseData
:
function
(
res
)
{
// res 即为原始返回的数据
return
{
"code"
:
res
.
code
,
// 解析接口状态
"msg"
:
res
.
desc
,
// 解析提示文本
"count"
:
res
.
data
.
pageinfo
.
totalRecords
,
// 解析数据长度
"data"
:
res
.
data
.
items
// 解析数据列表
};
}
,
limits
:
[
10
,
20
,
50
,
100
]
//每页条数的选择项,默认:[10,20,30,40,50,60,70,80,90]。
,
cols
:
[
[
{
type
:
'checkbox'
,
fixed
:
"left"
}
,
{
field
:
'sorderno'
,
width
:
200
,
title
:
'订单编号'
,
fixed
:
"left"
}
,
{
field
:
'groupBuyId'
,
width
:
200
,
title
:
'活动编码'
}
,
{
field
:
'groupBuyName'
,
width
:
200
,
title
:
'活动标题'
}
,{
title
:
'用户信息'
,
width
:
100
,
templet
:
function
(
d
)
{
var
str
=
""
;
if
(
d
.
customer
){
if
(
d
.
customer
.
swximgurl
)
{
str
+=
"<img style='width: 18px' src="
+
d
.
customer
.
swximgurl
+
"> "
;
}
if
(
d
.
customer
.
swxnick
)
{
str
+=
"<span style=''>"
+
d
.
customer
.
swxnick
?
d
.
customer
.
swxnick
:
''
+
"</span>"
}
}
return
str
;
}
}
,{
title
:
"订单金额"
,
width
:
150
,
templet
:
function
(
d
)
{
var
str
=
""
;
str
+=
'金额:<span style="color:red;"> '
+
(
d
.
dactmoney
?
d
.
dactmoney
:
0
)
+
'</span> '
;
str
+=
'积分:<span style="color:red;"> '
+
(
d
.
dactscore
?
d
.
dactscore
:
0
)
+
'</span>'
;
str
+=
'</div>'
;
return
str
?
str
:
""
;
}
}
,{
title
:
"订单状态"
,
width
:
200
,
templet
:
function
(
d
)
{
var
str
=
""
;
str
+=
'<div>'
;
var
itype
=
""
;
//0:未支付1:支付成功2:支付失败
if
(
d
.
ipaystatus
==
0
)
itype
=
"<span class='layui-badge layui-bg-gray'>未付</span>"
;
if
(
d
.
ipaystatus
==
1
)
itype
=
"<span class='layui-badge'>支付成功</span>"
;
if
(
d
.
ipaystatus
==
2
)
itype
=
"<span class='layui-badge layui-bg-gray'>支付失败</span>"
;
str
+=
' <span>'
+
itype
+
'</span>'
;
//订单状态 10:待付款 20:待发货 30:待收货 90:已完成 99:已拒绝/关闭 100:取消
var
status
=
""
;
if
(
d
.
istatus
==
10
)
status
=
"<span class='layui-badge layui-bg-orange'>待付款</span>"
;
if
(
d
.
istatus
==
20
)
status
=
"<span class='layui-badge layui-bg-orange'>待发货</span>"
;
if
(
d
.
istatus
==
30
)
status
=
"<span class='layui-badge layui-bg-orange'>待收货</span>"
;
if
(
d
.
istatus
==
90
)
status
=
"<span class='layui-badge layui-bg-green'>已完成</span>"
;
if
(
d
.
istatus
==
99
)
status
=
"<span class='layui-badge layui-bg-gray'>交易关闭</span>"
;
if
(
d
.
istatus
==
100
)
status
=
"<span class='layui-badge layui-bg-black'>已取消</span>"
;
str
+=
' <span>'
+
status
+
'</span>'
;
// 101退款申请中 102待退货 103待退款 104退款成功
var
refundStatus
=
""
;
if
(
d
.
irefundstatus
==
101
)
refundStatus
=
"<span class='layui-badge layui-bg-red'>退款申请中</span>"
;
if
(
d
.
irefundstatus
==
102
)
refundStatus
=
"<span class='layui-badge layui-bg-orange'>待退货</span>"
;
if
(
d
.
irefundstatus
==
103
)
refundStatus
=
"<span class='layui-badge layui-bg-orange'>待退款</span>"
;
if
(
d
.
irefundstatus
==
104
)
refundStatus
=
"<span class='layui-badge layui-bg-green'>退款成功</span>"
;
if
(
d
.
irefundstatus
==
105
)
refundStatus
=
"<span class='layui-badge layui-bg-cyan'>退款拒绝</span>"
;
str
+=
' <span>'
+
refundStatus
+
'</span>'
;
str
+=
'</div>'
;
return
str
?
str
:
""
;
}
}
,
{
field
:
'tordertime'
,
width
:
100
,
title
:
'下单日期'
}
,
{
field
:
'sremark'
,
width
:
100
,
title
:
'备注'
}
,
{
field
:
'trefundtime'
,
width
:
100
,
title
:
'退款时间'
}
,{
width
:
100
,
title
:
"退款图片"
,
align
:
"center"
,
templet
:
function
(
d
)
{
return
d
.
srefundpic
?
'<div><img id="zi'
+
d
.
id
+
'" src="'
+
d
.
srefundpic
+
'" onmouseover="bigImg(this)" onmouseout="smallImg()" onclick="tolook(src)" style="height:20px;"></div>'
:
''
;
}
}
,
{
field
:
'srefundreason'
,
width
:
100
,
title
:
'退款理由'
}
,
{
field
:
'couriernumber'
,
width
:
120
,
title
:
'退款快递单号'
}
,
{
field
:
'scusaddr'
,
width
:
100
,
title
:
'地址'
}
,
{
field
:
'scuname'
,
width
:
100
,
title
:
'联系姓名'
}
,
{
field
:
'scuphone'
,
width
:
100
,
title
:
'联系电话'
}
,
{
field
:
'sprovince'
,
width
:
100
,
title
:
'省份'
}
,
{
field
:
'scity'
,
width
:
100
,
title
:
'城市'
}
,
{
field
:
'sregion'
,
width
:
100
,
title
:
'区县'
}
// , {field: 'scensus', width: 100, title: '户籍'}
,
{
field
:
''
,
width
:
130
,
title
:
'操作'
,
toolbar
:
'#table-handle'
,
fixed
:
"right"
}
]
]
});
//头工具栏事件
table
.
on
(
'toolbar(tableId)'
,
function
(
obj
)
{
var
checkStatus
=
table
.
checkStatus
(
obj
.
config
.
id
);
switch
(
obj
.
event
)
{
case
'export'
:
var
href
=
"exportOrder?orderState=[[${orderState}]]"
;
if
(
field
.
orderId
)
{
href
=
href
+
"&orderId="
+
field
.
orderId
;
}
location
.
href
=
href
;
break
;
case
'del'
:
var
data
=
checkStatus
.
data
;
var
id
=
''
;
if
(
data
.
length
>
0
)
{
for
(
var
j
=
0
;
j
<
data
.
length
;
j
++
)
{
id
=
id
+
","
+
data
[
j
].
orderId
;
if
(
data
[
j
].
orderState
==
1
)
{
layer
.
msg
(
"不能删除已支付的订单"
);
return
false
;
}
else
if
(
data
[
j
].
orderState
==
2
)
{
layer
.
msg
(
"不能删除已发货的订单"
);
return
false
;
}
}
}
else
{
layer
.
msg
(
"请至少选择一条数据!"
);
return
false
;
}
layer
.
confirm
(
'确定彻底删除选中的数据吗?'
,
function
(
index
)
{
$
.
ajax
({
url
:
"del"
,
data
:
{
"id"
:
id
},
type
:
"POST"
,
dataType
:
"json"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
break
;
// case 'deliver':
// var data = checkStatus.data;
// var id = '';
// if (data.length > 0) {
// for (var j = 0; j
<
data
.
length
;
j
++
)
{
// id = id + "," + data[j].orderId;
// }
// } else {
// layer.msg("请至少选择一条数据!");
// return false;
// }
// layer.confirm('选中的订单确定发货吗?', function (index) {
// $.ajax({
// url: "deliver",
// data: {"id": id},
// type: "POST",
// dataType: "json",
// success: function (result) {
// if (result.code == 10001) {
// layer.msg(result.msg, {icon: 6, time: 1000}, function () {
// layer.close(index);
// table.reload('tableId');
// });
// } else {
// layer.msg(result.msg, {icon: 5});
// }
// }
// });
// });
// break;
}
;
});
//监听行工具事件
table
.
on
(
'tool(tableId)'
,
function
(
obj
)
{
var
data
=
obj
.
data
;
if
(
obj
.
event
===
'deliver'
)
{
var
id
=
obj
.
data
.
id
;
layer
.
confirm
(
'确定接受订单吗?'
,
function
(
index
)
{
var
param
=
{};
param
.
id
=
id
;
param
.
istatus
=
30
;
$
.
ajax
({
url
:
"updateFwStatus"
,
data
:
JSON
.
stringify
(
param
),
type
:
"POST"
,
dataType
:
"json"
,
contentType
:
"application/json;charset=utf-8"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
else
if
(
obj
.
event
===
'edit'
)
{
var
id
=
obj
.
data
.
orderId
;
var
w
=
(
$
(
window
).
width
()
*
0.95
);
var
h
=
(
$
(
window
).
height
()
*
0.95
);
layer
.
open
({
type
:
2
,
title
:
'修改订单'
,
content
:
'orderDetailEdit?orderId='
+
id
,
area
:
[
w
+
'px'
,
h
+
'px'
]
,
fix
:
false
//不固定
,
maxmin
:
true
,
shadeClose
:
true
,
shade
:
0.4
,
btn
:
[
'确认'
,
'取消'
]
,
yes
:
function
(
index
,
layero
)
{
var
body
=
layer
.
getChildFrame
(
'body'
,
index
);
//得到iframe页面层的BODY
var
iframeBtn
=
body
.
find
(
'#saveBtn'
);
//得到iframe页面层的提交按钮
iframeBtn
.
click
();
//模拟iframe页面层的提交按钮点击
}
});
}
else
if
(
obj
.
event
===
'orderDetail'
)
{
var
id
=
obj
.
data
.
id
;
var
w
=
(
$
(
window
).
width
()
*
0.95
);
var
h
=
(
$
(
window
).
height
()
*
0.95
);
layer
.
open
({
type
:
2
,
title
:
'订单详情'
,
content
:
'orderDetail?orderId='
+
id
,
area
:
[
w
+
'px'
,
h
+
'px'
]
,
fix
:
false
//不固定
,
maxmin
:
true
,
shadeClose
:
true
,
shade
:
0.4
,
btn
:
[
'关闭'
]
// , yes: function (index, layero) {
// var body = layer.getChildFrame('body', index); //得到iframe页面层的BODY
// var iframeBtn = body.find('#saveBtn');//得到iframe页面层的提交按钮
// iframeBtn.click();//模拟iframe页面层的提交按钮点击
// }
});
}
else
if
(
obj
.
event
===
'del'
)
{
var
id
=
obj
.
data
.
orderId
;
layer
.
confirm
(
'确定彻底删除选中的数据吗?'
,
function
(
index
)
{
$
.
ajax
({
url
:
"del"
,
data
:
{
"id"
:
id
},
type
:
"POST"
,
dataType
:
"json"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
else
if
(
obj
.
event
===
'receiving'
)
{
var
id
=
obj
.
data
.
id
;
layer
.
confirm
(
'确定完成订单吗?'
,
function
(
index
)
{
var
param
=
{};
param
.
id
=
id
;
param
.
istatus
=
90
;
$
.
ajax
({
url
:
"updateOkStatus"
,
data
:
JSON
.
stringify
(
param
),
type
:
"POST"
,
dataType
:
"json"
,
contentType
:
"application/json;charset=utf-8"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
else
if
(
obj
.
event
===
'lease'
)
{
var
id
=
obj
.
data
.
orderId
;
layer
.
confirm
(
obj
.
data
.
orderDetails
+
'确定开始租赁?'
,
function
(
index
)
{
$
.
ajax
({
url
:
"receiving"
,
data
:
{
"orderId"
:
id
,
"orderState"
:
3
},
type
:
"POST"
,
dataType
:
"json"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
else
if
(
obj
.
event
===
'refund'
)
{
var
id
=
obj
.
data
.
orderId
;
var
w
=
(
$
(
window
).
width
()
*
0.95
);
var
h
=
(
$
(
window
).
height
()
*
0.95
);
layer
.
open
({
type
:
2
,
title
:
'退还押金'
,
content
:
'toRefund?orderId='
+
id
,
area
:
[
w
+
'px'
,
h
+
'px'
]
,
fix
:
false
//不固定
,
maxmin
:
true
,
shadeClose
:
true
,
shade
:
0.4
,
btn
:
[
'保存'
,
'关闭'
]
,
yes
:
function
(
index
,
layero
)
{
var
body
=
layer
.
getChildFrame
(
'body'
,
index
);
//得到iframe页面层的BODY
var
iframeBtn
=
body
.
find
(
'#saveBtn'
);
//得到iframe页面层的提交按钮
iframeBtn
.
click
();
//模拟iframe页面层的提交按钮点击
}
});
}
else
if
(
obj
.
event
===
'pass'
)
{
var
id
=
obj
.
data
.
id
;
layer
.
confirm
(
'确定审核通过吗?'
,
function
(
index
)
{
var
param
=
{};
param
.
id
=
id
;
$
.
ajax
({
url
:
"refundApplicationPass"
,
data
:
JSON
.
stringify
(
param
),
type
:
"POST"
,
dataType
:
"json"
,
contentType
:
"application/json;charset=utf-8"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
else
if
(
obj
.
event
===
'refuse'
)
{
var
id
=
obj
.
data
.
id
;
layer
.
confirm
(
'确定审核拒绝吗?'
,
function
(
index
)
{
var
param
=
{};
param
.
id
=
id
;
$
.
ajax
({
url
:
"refundApplicationRefuse"
,
data
:
JSON
.
stringify
(
param
),
type
:
"POST"
,
dataType
:
"json"
,
contentType
:
"application/json;charset=utf-8"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
else
if
(
obj
.
event
===
'receive'
)
{
var
id
=
obj
.
data
.
id
;
layer
.
confirm
(
'确定已收到退回的货物吗? 确定后将进行退款!'
,
function
(
index
)
{
var
param
=
{};
param
.
id
=
id
;
$
.
ajax
({
url
:
"receive"
,
data
:
JSON
.
stringify
(
param
),
type
:
"POST"
,
dataType
:
"json"
,
contentType
:
"application/json;charset=utf-8"
,
success
:
function
(
result
)
{
if
(
result
.
code
==
100
)
{
layer
.
msg
(
result
.
msg
,
{
icon
:
6
,
time
:
1000
},
function
()
{
layer
.
close
(
index
);
table
.
reload
(
'tableId'
);
});
}
else
{
layer
.
msg
(
result
.
msg
,
{
icon
:
5
});
}
}
});
});
}
});
}
);
function
tolook
(
e
)
{
window
.
open
(
e
);
}
/**
* 鼠标移入图片时, 提示弹框 (放大的图片)
*/
function
bigImg
(
obj
){
var
imgUrl
=
obj
.
getAttribute
(
"src"
);
var
imgid
=
obj
.
getAttribute
(
"id"
);
layer
.
tips
(
'<img src="'
+
imgUrl
+
'"style="width:120px; height: 120rpx;">'
,
"#"
+
imgid
,
{
tips
:
[
1
,
''
],
tipsMore
:
false
,
area
:
[
'150px'
,
'140px'
],
time
:
20000
});
}
/**
* 鼠标移出图片时, 取消弹框
*/
function
smallImg
(){
layer
.
closeAll
(
"tips"
);
}
</script>
</body>
</html>
\ No newline at end of file
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