记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
4d7f1db8
Commit
4d7f1db8
authored
Jun 24, 2026
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
订单列表、退款订单列表 增加 各个状态汇总数量
parent
2dce8e88
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
240 additions
and
40 deletions
+240
-40
GoblinStoreBackOrderListPageVo.java
...service/goblin/dto/vo/GoblinStoreBackOrderListPageVo.java
+21
-0
GoblinStoreBackOrderStatusCountVo.java
...vice/goblin/dto/vo/GoblinStoreBackOrderStatusCountVo.java
+42
-0
GoblinStoreOrderListPageVo.java
...net/service/goblin/dto/vo/GoblinStoreOrderListPageVo.java
+21
-0
GoblinStoreOrderStatusCountVo.java
.../service/goblin/dto/vo/GoblinStoreOrderStatusCountVo.java
+50
-0
IGoblinStoreBackOrderService.java
...e/goblin/service/manage/IGoblinStoreBackOrderService.java
+2
-2
IGoblinStoreOrderService.java
...rvice/goblin/service/manage/IGoblinStoreOrderService.java
+2
-2
GoblinStoreBackOrderController.java
...lin/controller/manage/GoblinStoreBackOrderController.java
+4
-5
GoblinStoreOrderController.java
.../goblin/controller/manage/GoblinStoreOrderController.java
+3
-3
GoblinStoreBackOrderServiceImpl.java
.../service/impl/manage/GoblinStoreBackOrderServiceImpl.java
+9
-3
GoblinStoreOrderServiceImpl.java
...blin/service/impl/manage/GoblinStoreOrderServiceImpl.java
+9
-3
GoblinMongoUtils.java
...a/com/liquidnet/service/goblin/util/GoblinMongoUtils.java
+77
-22
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinStoreBackOrderListPageVo.java
0 → 100644
View file @
4d7f1db8
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
com.github.pagehelper.PageInfo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 店铺退款列表接口返回体:分页数据 + 各审核状态 Tab 数量。
*/
@ApiModel
(
"店铺退款列表分页结果"
)
@Data
public
class
GoblinStoreBackOrderListPageVo
{
/** 当前页列表及分页信息 */
@ApiModelProperty
(
"分页数据"
)
private
PageInfo
<
GoblinStoreBackOrderListVo
>
pageInfo
;
/** 顶部审核 Tab 角标数量,不受当前 status 筛选影响 */
@ApiModelProperty
(
"各审核状态数量"
)
private
GoblinStoreBackOrderStatusCountVo
statusCount
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinStoreBackOrderStatusCountVo.java
0 → 100644
View file @
4d7f1db8
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Map
;
/**
* 店铺退款列表 - 各审核状态 Tab 数量。
* 对应前端 Tab:全部 / 待审核(1) / 已退款(2) / 已驳回(3)
*/
@ApiModel
(
"店铺退款列表-各审核状态数量"
)
@Data
public
class
GoblinStoreBackOrderStatusCountVo
{
/** 全部 */
@ApiModelProperty
(
"全部"
)
private
long
all
;
/** 待审核 status=1 退款申请 */
@ApiModelProperty
(
"待审核[status=1-退款申请]"
)
private
long
pendingAudit
;
/** 已退款 status=2 退款成功 */
@ApiModelProperty
(
"已退款[status=2-退款成功]"
)
private
long
refunded
;
/** 已驳回 status=3 退款拒绝 */
@ApiModelProperty
(
"已驳回[status=3-退款拒绝]"
)
private
long
rejected
;
/**
* 从 Mongo 按 status 分组统计结果组装 VO。
* 新增 Tab 时在此补充 getOrDefault 即可。
*/
public
static
GoblinStoreBackOrderStatusCountVo
of
(
long
all
,
Map
<
Integer
,
Long
>
grouped
)
{
GoblinStoreBackOrderStatusCountVo
vo
=
new
GoblinStoreBackOrderStatusCountVo
();
vo
.
all
=
all
;
vo
.
pendingAudit
=
grouped
.
getOrDefault
(
1
,
0L
);
vo
.
refunded
=
grouped
.
getOrDefault
(
2
,
0L
);
vo
.
rejected
=
grouped
.
getOrDefault
(
3
,
0L
);
return
vo
;
}
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinStoreOrderListPageVo.java
0 → 100644
View file @
4d7f1db8
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
com.github.pagehelper.PageInfo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 店铺订单列表接口返回体:分页数据 + 各状态 Tab 数量。
*/
@ApiModel
(
"店铺订单列表分页结果"
)
@Data
public
class
GoblinStoreOrderListPageVo
{
/** 当前页列表及分页信息 */
@ApiModelProperty
(
"分页数据"
)
private
PageInfo
<
GoblinStoreOrderListVo
>
pageInfo
;
/** 顶部状态 Tab 角标数量,不受当前 status 筛选影响 */
@ApiModelProperty
(
"各状态数量"
)
private
GoblinStoreOrderStatusCountVo
statusCount
;
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/vo/GoblinStoreOrderStatusCountVo.java
0 → 100644
View file @
4d7f1db8
package
com
.
liquidnet
.
service
.
goblin
.
dto
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Map
;
/**
* 店铺订单列表 - 各状态 Tab 数量。
* 对应前端 statusTabs:全部 / 待支付(0) / 待发货(2) / 已发货(3) / 已完成(4) / 已退款(6)
*/
@ApiModel
(
"店铺订单列表-各状态数量"
)
@Data
public
class
GoblinStoreOrderStatusCountVo
{
/** 全部(含其他 status,如取消单等) */
@ApiModelProperty
(
"全部"
)
private
long
all
;
/** 待支付 status=0 */
@ApiModelProperty
(
"待支付[status=0]"
)
private
long
pendingPay
;
/** 待发货 status=2 */
@ApiModelProperty
(
"待发货[status=2]"
)
private
long
pendingShip
;
/** 已发货 status=3 */
@ApiModelProperty
(
"已发货[status=3]"
)
private
long
shipped
;
/** 已完成 status=4 */
@ApiModelProperty
(
"已完成[status=4]"
)
private
long
completed
;
/** 已退款 status=6 */
@ApiModelProperty
(
"已退款[status=6]"
)
private
long
refunded
;
/**
* 从 Mongo 按 status 分组统计结果组装 VO。
* 新增 Tab 时在此补充 getOrDefault 即可。
*/
public
static
GoblinStoreOrderStatusCountVo
of
(
long
all
,
Map
<
Integer
,
Long
>
grouped
)
{
GoblinStoreOrderStatusCountVo
vo
=
new
GoblinStoreOrderStatusCountVo
();
vo
.
all
=
all
;
vo
.
pendingPay
=
grouped
.
getOrDefault
(
0
,
0L
);
vo
.
pendingShip
=
grouped
.
getOrDefault
(
2
,
0L
);
vo
.
shipped
=
grouped
.
getOrDefault
(
3
,
0L
);
vo
.
completed
=
grouped
.
getOrDefault
(
4
,
0L
);
vo
.
refunded
=
grouped
.
getOrDefault
(
6
,
0L
);
return
vo
;
}
}
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/manage/IGoblinStoreBackOrderService.java
View file @
4d7f1db8
package
com
.
liquidnet
.
service
.
goblin
.
service
.
manage
;
package
com
.
liquidnet
.
service
.
goblin
.
service
.
manage
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinBackOrderDetailsVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinBackOrderDetailsVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreBackOrderListPageVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreBackOrderListVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreBackOrderListVo
;
import
com.liquidnet.service.goblin.param.GoblinStoreOrderRefundParam
;
import
com.liquidnet.service.goblin.param.GoblinStoreOrderRefundParam
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
public
interface
IGoblinStoreBackOrderService
{
public
interface
IGoblinStoreBackOrderService
{
ResponseDto
<
PageInfo
<
GoblinStoreBackOrderListVo
>
>
orderBackList
(
Integer
page
,
ResponseDto
<
GoblinStoreBackOrderListPageVo
>
orderBackList
(
Integer
page
,
String
orderBackCode
,
String
orderBackCode
,
Integer
type
,
Integer
type
,
String
cst
,
String
cst
,
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/manage/IGoblinStoreOrderService.java
View file @
4d7f1db8
package
com
.
liquidnet
.
service
.
goblin
.
service
.
manage
;
package
com
.
liquidnet
.
service
.
goblin
.
service
.
manage
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListPageVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
public
interface
IGoblinStoreOrderService
{
public
interface
IGoblinStoreOrderService
{
ResponseDto
<
PageInfo
<
GoblinStoreOrderListVo
>
>
orderList
(
Integer
page
,
ResponseDto
<
GoblinStoreOrderListPageVo
>
orderList
(
Integer
page
,
String
orderCode
,
String
orderCode
,
Integer
type
,
Integer
type
,
String
cst
,
String
cst
,
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinStoreBackOrderController.java
View file @
4d7f1db8
package
com
.
liquidnet
.
service
.
goblin
.
controller
.
manage
;
package
com
.
liquidnet
.
service
.
goblin
.
controller
.
manage
;
import
com.github.pagehelper.PageInfo
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinBackOrderDetailsVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinBackOrderDetailsVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreBackOrderListPageVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreBackOrderListVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreBackOrderListVo
;
import
com.liquidnet.service.goblin.param.GoblinStoreOrderRefundParam
;
import
com.liquidnet.service.goblin.param.GoblinStoreOrderRefundParam
;
import
com.liquidnet.service.goblin.service.manage.IGoblinStoreBackOrderService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinStoreBackOrderService
;
...
@@ -38,10 +37,10 @@ public class GoblinStoreBackOrderController {
...
@@ -38,10 +37,10 @@ public class GoblinStoreBackOrderController {
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"cet"
,
value
=
"申请终止时间"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"cet"
,
value
=
"申请终止时间"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"orderCode"
,
value
=
"订单编号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"orderCode"
,
value
=
"订单编号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"spuName"
,
value
=
"商品名称"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"spuName"
,
value
=
"商品名称"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"Integer"
,
name
=
"status"
,
value
=
"
订单状态[1-待处理|2-已退款|9-已拒绝|11-已取消|0-退款中|7-退货中
]"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"Integer"
,
name
=
"status"
,
value
=
"
审核状态[1-待审核(退款申请)|2-已退款(退款成功)|3-已驳回(退款拒绝)
]"
),
})
})
@GetMapping
(
value
=
"list"
)
@GetMapping
(
value
=
"list"
)
public
ResponseDto
<
PageInfo
<
GoblinStoreBackOrderListVo
>
>
orderBackList
(
@RequestParam
(
value
=
"page"
,
required
=
true
)
@Valid
Integer
page
,
public
ResponseDto
<
GoblinStoreBackOrderListPageVo
>
orderBackList
(
@RequestParam
(
value
=
"page"
,
required
=
true
)
@Valid
Integer
page
,
@RequestParam
(
value
=
"orderBackCode"
,
required
=
false
)
String
orderBackCode
,
@RequestParam
(
value
=
"orderBackCode"
,
required
=
false
)
String
orderBackCode
,
@RequestParam
(
value
=
"type"
,
required
=
false
)
Integer
type
,
@RequestParam
(
value
=
"type"
,
required
=
false
)
Integer
type
,
@RequestParam
(
value
=
"cst"
,
required
=
false
)
String
cst
,
@RequestParam
(
value
=
"cst"
,
required
=
false
)
String
cst
,
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/manage/GoblinStoreOrderController.java
View file @
4d7f1db8
package
com
.
liquidnet
.
service
.
goblin
.
controller
.
manage
;
package
com
.
liquidnet
.
service
.
goblin
.
controller
.
manage
;
import
com.github.pagehelper.PageInfo
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListPageVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinStoreOrderListVo
;
import
com.liquidnet.service.goblin.service.manage.IGoblinStoreOrderService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinStoreOrderService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -43,10 +43,10 @@ public class GoblinStoreOrderController {
...
@@ -43,10 +43,10 @@ public class GoblinStoreOrderController {
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"cet"
,
value
=
"下单终止时间"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"cet"
,
value
=
"下单终止时间"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"expressContacts"
,
value
=
"收货人姓名"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"expressContacts"
,
value
=
"收货人姓名"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"phone"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"phone"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"Integer"
,
name
=
"status"
,
value
=
"订单状态[0-
代付款|2-待发货|3-已发货|4-已完成
]"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"Integer"
,
name
=
"status"
,
value
=
"订单状态[0-
待支付|2-待发货|3-已发货|4-已完成|6-已退款
]"
),
})
})
@GetMapping
(
value
=
"list"
)
@GetMapping
(
value
=
"list"
)
public
ResponseDto
<
PageInfo
<
GoblinStoreOrderListVo
>
>
orderList
(
@RequestParam
(
value
=
"page"
,
required
=
true
)
@Valid
Integer
page
,
public
ResponseDto
<
GoblinStoreOrderListPageVo
>
orderList
(
@RequestParam
(
value
=
"page"
,
required
=
true
)
@Valid
Integer
page
,
@RequestParam
(
value
=
"orderCode"
,
required
=
false
)
String
orderCode
,
@RequestParam
(
value
=
"orderCode"
,
required
=
false
)
String
orderCode
,
@RequestParam
(
value
=
"type"
,
required
=
false
)
Integer
type
,
@RequestParam
(
value
=
"type"
,
required
=
false
)
Integer
type
,
@RequestParam
(
value
=
"cst"
,
required
=
false
)
String
cst
,
@RequestParam
(
value
=
"cst"
,
required
=
false
)
String
cst
,
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/manage/GoblinStoreBackOrderServiceImpl.java
View file @
4d7f1db8
...
@@ -44,14 +44,15 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
...
@@ -44,14 +44,15 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
GoblinRefundHelper
refundHelper
;
GoblinRefundHelper
refundHelper
;
@Override
@Override
public
ResponseDto
<
PageInfo
<
GoblinStoreBackOrderListVo
>
>
orderBackList
(
Integer
page
,
String
orderBackCode
,
Integer
type
,
String
cst
,
String
cet
,
String
orderCode
,
String
spuName
,
Integer
status
)
{
public
ResponseDto
<
GoblinStoreBackOrderListPageVo
>
orderBackList
(
Integer
page
,
String
orderBackCode
,
Integer
type
,
String
cst
,
String
cet
,
String
orderCode
,
String
spuName
,
Integer
status
)
{
List
<
GoblinStoreBackOrderListVo
>
listVos
=
ObjectUtil
.
goblinStoreBackOrderListVoArrayList
();
List
<
GoblinStoreBackOrderListVo
>
listVos
=
ObjectUtil
.
goblinStoreBackOrderListVoArrayList
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
GoblinStoreInfoVo
storeInfoVo
=
redisUtils
.
getStoreInfoVoByUid
(
uid
);
GoblinStoreInfoVo
storeInfoVo
=
redisUtils
.
getStoreInfoVoByUid
(
uid
);
if
(
storeInfoVo
==
null
)
{
if
(
storeInfoVo
==
null
)
{
return
ResponseDto
.
failure
(
"无法查看"
);
return
ResponseDto
.
failure
(
"无法查看"
);
}
}
HashMap
<
String
,
Object
>
map
=
mongoUtils
.
storeBackOrderList
(
storeInfoVo
.
getStoreId
(),
page
,
orderBackCode
,
type
,
cst
,
cet
,
orderCode
,
spuName
,
status
);
String
storeId
=
storeInfoVo
.
getStoreId
();
HashMap
<
String
,
Object
>
map
=
mongoUtils
.
storeBackOrderList
(
storeId
,
page
,
orderBackCode
,
type
,
cst
,
cet
,
orderCode
,
spuName
,
status
);
long
total
=
(
long
)
map
.
get
(
"total"
);
long
total
=
(
long
)
map
.
get
(
"total"
);
List
<
GoblinBackOrderVo
>
voList
=
(
List
<
GoblinBackOrderVo
>)
map
.
get
(
"data"
);
List
<
GoblinBackOrderVo
>
voList
=
(
List
<
GoblinBackOrderVo
>)
map
.
get
(
"data"
);
for
(
GoblinBackOrderVo
item
:
voList
)
{
for
(
GoblinBackOrderVo
item
:
voList
)
{
...
@@ -59,7 +60,12 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
...
@@ -59,7 +60,12 @@ public class GoblinStoreBackOrderServiceImpl implements IGoblinStoreBackOrderSer
}
}
PageInfo
<
GoblinStoreBackOrderListVo
>
pageInfo
=
new
PageInfo
(
listVos
);
PageInfo
<
GoblinStoreBackOrderListVo
>
pageInfo
=
new
PageInfo
(
listVos
);
pageInfo
.
setTotal
(
total
);
pageInfo
.
setTotal
(
total
);
return
ResponseDto
.
success
(
pageInfo
);
GoblinStoreBackOrderListPageVo
result
=
new
GoblinStoreBackOrderListPageVo
();
result
.
setPageInfo
(
pageInfo
);
// 审核 Tab 数量:与列表共用筛选条件,但不带 status 参数
result
.
setStatusCount
(
mongoUtils
.
storeBackOrderStatusCount
(
storeId
,
orderBackCode
,
type
,
cst
,
cet
,
orderCode
,
spuName
));
return
ResponseDto
.
success
(
result
);
}
}
@Override
@Override
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/manage/GoblinStoreOrderServiceImpl.java
View file @
4d7f1db8
...
@@ -61,19 +61,25 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
...
@@ -61,19 +61,25 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
@Override
@Override
public
ResponseDto
<
PageInfo
<
GoblinStoreOrderListVo
>
>
orderList
(
Integer
page
,
String
orderCode
,
Integer
type
,
String
cst
,
String
cet
,
String
expressContacts
,
String
phone
,
Integer
status
)
{
public
ResponseDto
<
GoblinStoreOrderListPageVo
>
orderList
(
Integer
page
,
String
orderCode
,
Integer
type
,
String
cst
,
String
cet
,
String
expressContacts
,
String
phone
,
Integer
status
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
GoblinStoreInfoVo
storeInfoVo
=
redisUtils
.
getStoreInfoVoByUid
(
uid
);
GoblinStoreInfoVo
storeInfoVo
=
redisUtils
.
getStoreInfoVoByUid
(
uid
);
if
(
storeInfoVo
==
null
)
{
if
(
storeInfoVo
==
null
)
{
return
ResponseDto
.
failure
(
"无法查看"
);
return
ResponseDto
.
failure
(
"无法查看"
);
}
}
HashMap
<
String
,
Object
>
map
=
mongoUtils
.
storeOrderList
(
storeInfoVo
.
getStoreId
(),
page
,
orderCode
,
cst
,
cet
,
expressContacts
,
phone
,
status
);
String
storeId
=
storeInfoVo
.
getStoreId
();
HashMap
<
String
,
Object
>
map
=
mongoUtils
.
storeOrderList
(
storeId
,
page
,
orderCode
,
cst
,
cet
,
expressContacts
,
phone
,
status
);
long
total
=
(
long
)
map
.
get
(
"total"
);
long
total
=
(
long
)
map
.
get
(
"total"
);
List
<
GoblinStoreOrderVo
>
voList
=
(
List
<
GoblinStoreOrderVo
>)
map
.
get
(
"data"
);
List
<
GoblinStoreOrderVo
>
voList
=
(
List
<
GoblinStoreOrderVo
>)
map
.
get
(
"data"
);
List
<
GoblinStoreOrderListVo
>
listVos
=
buildStoreOrderListVos
(
voList
,
false
);
List
<
GoblinStoreOrderListVo
>
listVos
=
buildStoreOrderListVos
(
voList
,
false
);
PageInfo
<
GoblinStoreOrderListVo
>
pageInfo
=
new
PageInfo
(
listVos
);
PageInfo
<
GoblinStoreOrderListVo
>
pageInfo
=
new
PageInfo
(
listVos
);
pageInfo
.
setTotal
(
total
);
pageInfo
.
setTotal
(
total
);
return
ResponseDto
.
success
(
pageInfo
);
GoblinStoreOrderListPageVo
result
=
new
GoblinStoreOrderListPageVo
();
result
.
setPageInfo
(
pageInfo
);
// 状态 Tab 数量:与列表共用筛选条件,但不带 status 参数
result
.
setStatusCount
(
mongoUtils
.
storeOrderStatusCount
(
storeId
,
orderCode
,
cst
,
cet
,
expressContacts
,
phone
));
return
ResponseDto
.
success
(
result
);
}
}
@Override
@Override
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinMongoUtils.java
View file @
4d7f1db8
...
@@ -40,6 +40,7 @@ import java.time.LocalDateTime;
...
@@ -40,6 +40,7 @@ import java.time.LocalDateTime;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -1448,7 +1449,17 @@ public class GoblinMongoUtils {
...
@@ -1448,7 +1449,17 @@ public class GoblinMongoUtils {
return
mongoTemplate
.
find
(
query
,
GoblinStoreOrderVo
.
class
,
GoblinStoreOrderVo
.
class
.
getSimpleName
());
return
mongoTemplate
.
find
(
query
,
GoblinStoreOrderVo
.
class
,
GoblinStoreOrderVo
.
class
.
getSimpleName
());
}
}
/** 列表查询条件(含 status Tab 筛选) */
private
Criteria
storeOrderListCriteria
(
String
storeId
,
String
orderCode
,
String
cst
,
String
cet
,
String
expressContacts
,
String
phone
,
Integer
status
)
{
private
Criteria
storeOrderListCriteria
(
String
storeId
,
String
orderCode
,
String
cst
,
String
cet
,
String
expressContacts
,
String
phone
,
Integer
status
)
{
Criteria
criteria
=
storeOrderListBaseCriteria
(
storeId
,
orderCode
,
cst
,
cet
,
expressContacts
,
phone
);
if
(
status
!=
null
)
{
criteria
=
criteria
.
and
(
"status"
).
is
(
status
);
}
return
criteria
;
}
/** 列表/统计共用基础条件(不含 status,保证 Tab 数量不受当前 Tab 影响) */
private
Criteria
storeOrderListBaseCriteria
(
String
storeId
,
String
orderCode
,
String
cst
,
String
cet
,
String
expressContacts
,
String
phone
)
{
Criteria
criteria
=
Criteria
.
where
(
"storeId"
).
is
(
storeId
);
Criteria
criteria
=
Criteria
.
where
(
"storeId"
).
is
(
storeId
);
if
(
cst
!=
null
&&
cet
!=
null
)
{
if
(
cst
!=
null
&&
cet
!=
null
)
{
criteria
=
criteria
.
and
(
"createdAt"
).
gte
(
cst
).
lt
(
cet
);
criteria
=
criteria
.
and
(
"createdAt"
).
gte
(
cst
).
lt
(
cet
);
...
@@ -1459,15 +1470,20 @@ public class GoblinMongoUtils {
...
@@ -1459,15 +1470,20 @@ public class GoblinMongoUtils {
if
(
phone
!=
null
)
{
if
(
phone
!=
null
)
{
criteria
=
criteria
.
and
(
"userMobile"
).
is
(
phone
);
criteria
=
criteria
.
and
(
"userMobile"
).
is
(
phone
);
}
}
if
(
status
!=
null
)
{
criteria
=
criteria
.
and
(
"status"
).
is
(
status
);
}
if
(
expressContacts
!=
null
)
{
if
(
expressContacts
!=
null
)
{
criteria
=
criteria
.
and
(
"orderAttrVo.expressContacts"
).
is
(
expressContacts
);
criteria
=
criteria
.
and
(
"orderAttrVo.expressContacts"
).
is
(
expressContacts
);
}
}
return
criteria
;
return
criteria
;
}
}
/** 统计订单各状态 Tab 数量(沿用列表筛选条件,忽略 status 参数) */
public
GoblinStoreOrderStatusCountVo
storeOrderStatusCount
(
String
storeId
,
String
orderCode
,
String
cst
,
String
cet
,
String
expressContacts
,
String
phone
)
{
Criteria
criteria
=
storeOrderListBaseCriteria
(
storeId
,
orderCode
,
cst
,
cet
,
expressContacts
,
phone
);
String
collection
=
GoblinStoreOrderVo
.
class
.
getSimpleName
();
long
all
=
mongoTemplate
.
count
(
Query
.
query
(
criteria
),
GoblinStoreOrderVo
.
class
,
collection
);
return
GoblinStoreOrderStatusCountVo
.
of
(
all
,
groupCountByStatus
(
criteria
,
collection
));
}
private
void
storeOrderListFields
(
Query
query
)
{
private
void
storeOrderListFields
(
Query
query
)
{
query
.
fields
().
include
(
"orderCode"
).
include
(
"createdAt"
).
include
(
"payType"
).
include
(
"payTime"
).
include
(
"status"
).
include
(
"orderSkuVoIds"
)
query
.
fields
().
include
(
"orderCode"
).
include
(
"createdAt"
).
include
(
"payType"
).
include
(
"payTime"
).
include
(
"status"
).
include
(
"orderSkuVoIds"
)
.
include
(
"orderId"
).
include
(
"userMobile"
).
include
(
"priceActual"
).
include
(
"priceExpress"
).
include
(
"priceCoupon"
).
include
(
"storePriceCoupon"
).
include
(
"marketId"
).
include
(
"marketType"
)
.
include
(
"orderId"
).
include
(
"userMobile"
).
include
(
"priceActual"
).
include
(
"priceExpress"
).
include
(
"priceCoupon"
).
include
(
"storePriceCoupon"
).
include
(
"marketId"
).
include
(
"marketType"
)
...
@@ -1479,25 +1495,7 @@ public class GoblinMongoUtils {
...
@@ -1479,25 +1495,7 @@ public class GoblinMongoUtils {
//查询销量
//查询销量
int
size
=
20
;
int
size
=
20
;
int
skipCount
=
((
page
-
1
)
*
size
);
int
skipCount
=
((
page
-
1
)
*
size
);
Criteria
criteria
=
Criteria
.
where
(
"storeId"
).
is
(
storeId
);
Criteria
criteria
=
storeBackOrderListCriteria
(
storeId
,
orderBackCode
,
type
,
cst
,
cet
,
orderCode
,
spuName
,
status
);
if
(
cst
!=
null
&&
cet
!=
null
)
{
criteria
=
criteria
.
and
(
"createdAt"
).
gte
(
cst
).
lt
(
cet
);
}
if
(
orderCode
!=
null
)
{
criteria
=
criteria
.
and
(
"orderCode"
).
is
(
orderCode
);
}
if
(
orderBackCode
!=
null
)
{
criteria
=
criteria
.
and
(
"backCode"
).
is
(
orderBackCode
);
}
if
(
status
!=
null
)
{
criteria
=
criteria
.
and
(
"status"
).
is
(
status
);
}
if
(
type
!=
null
)
{
criteria
=
criteria
.
and
(
"type"
).
is
(
type
);
}
if
(
spuName
!=
null
)
{
criteria
=
criteria
.
and
(
"backOrderSkuVos.spuName"
).
regex
(
".*?\\"
+
spuName
);
}
Query
query
=
Query
.
query
(
criteria
);
Query
query
=
Query
.
query
(
criteria
);
query
.
skip
(
skipCount
).
limit
(
size
).
with
(
Sort
.
by
(
Sort
.
Order
.
desc
(
"createdAt"
)));
query
.
skip
(
skipCount
).
limit
(
size
).
with
(
Sort
.
by
(
Sort
.
Order
.
desc
(
"createdAt"
)));
;
;
...
@@ -1519,6 +1517,63 @@ public class GoblinMongoUtils {
...
@@ -1519,6 +1517,63 @@ public class GoblinMongoUtils {
return
map
;
return
map
;
}
}
/** 列表查询条件(含 status Tab 筛选) */
private
Criteria
storeBackOrderListCriteria
(
String
storeId
,
String
orderBackCode
,
Integer
type
,
String
cst
,
String
cet
,
String
orderCode
,
String
spuName
,
Integer
status
)
{
Criteria
criteria
=
storeBackOrderListBaseCriteria
(
storeId
,
orderBackCode
,
type
,
cst
,
cet
,
orderCode
,
spuName
);
if
(
status
!=
null
)
{
criteria
=
criteria
.
and
(
"status"
).
is
(
status
);
}
return
criteria
;
}
/** 列表/统计共用基础条件(不含 status) */
private
Criteria
storeBackOrderListBaseCriteria
(
String
storeId
,
String
orderBackCode
,
Integer
type
,
String
cst
,
String
cet
,
String
orderCode
,
String
spuName
)
{
Criteria
criteria
=
Criteria
.
where
(
"storeId"
).
is
(
storeId
);
if
(
cst
!=
null
&&
cet
!=
null
)
{
criteria
=
criteria
.
and
(
"createdAt"
).
gte
(
cst
).
lt
(
cet
);
}
if
(
orderCode
!=
null
)
{
criteria
=
criteria
.
and
(
"orderCode"
).
is
(
orderCode
);
}
if
(
orderBackCode
!=
null
)
{
criteria
=
criteria
.
and
(
"backCode"
).
is
(
orderBackCode
);
}
if
(
type
!=
null
)
{
criteria
=
criteria
.
and
(
"type"
).
is
(
type
);
}
if
(
spuName
!=
null
)
{
criteria
=
criteria
.
and
(
"backOrderSkuVos.spuName"
).
regex
(
".*?\\"
+
spuName
);
}
return
criteria
;
}
/** 统计退款各审核 Tab 数量(沿用列表筛选条件,忽略 status 参数) */
public
GoblinStoreBackOrderStatusCountVo
storeBackOrderStatusCount
(
String
storeId
,
String
orderBackCode
,
Integer
type
,
String
cst
,
String
cet
,
String
orderCode
,
String
spuName
)
{
Criteria
criteria
=
storeBackOrderListBaseCriteria
(
storeId
,
orderBackCode
,
type
,
cst
,
cet
,
orderCode
,
spuName
);
String
collection
=
GoblinBackOrderVo
.
class
.
getSimpleName
();
long
all
=
mongoTemplate
.
count
(
Query
.
query
(
criteria
),
GoblinBackOrderVo
.
class
,
collection
);
return
GoblinStoreBackOrderStatusCountVo
.
of
(
all
,
groupCountByStatus
(
criteria
,
collection
));
}
/** 按 status 分组计数,订单/退款列表统计共用 */
private
Map
<
Integer
,
Long
>
groupCountByStatus
(
Criteria
criteria
,
String
collection
)
{
Aggregation
aggregation
=
Aggregation
.
newAggregation
(
Aggregation
.
match
(
criteria
),
Aggregation
.
group
(
"status"
).
count
().
as
(
"count"
)
);
AggregationResults
<
Document
>
results
=
mongoTemplate
.
aggregate
(
aggregation
,
collection
,
Document
.
class
);
Map
<
Integer
,
Long
>
grouped
=
new
HashMap
<>();
for
(
Document
doc
:
results
.
getMappedResults
())
{
Object
statusKey
=
doc
.
get
(
"_id"
);
if
(
statusKey
==
null
)
{
continue
;
}
Number
count
=
doc
.
get
(
"count"
,
Number
.
class
);
grouped
.
put
(((
Number
)
statusKey
).
intValue
(),
count
==
null
?
0L
:
count
.
longValue
());
}
return
grouped
;
}
//商户 正在下单列表
//商户 正在下单列表
public
List
<
GoblinStoreOrderVo
>
storeZhengzaiOrderList
(
int
page
,
String
storeId
)
{
public
List
<
GoblinStoreOrderVo
>
storeZhengzaiOrderList
(
int
page
,
String
storeId
)
{
//查询销量
//查询销量
...
...
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