记得上下班打卡 | 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
67484de3
Commit
67484de3
authored
Nov 30, 2022
by
zhanggb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+api:正在下单:活动订单数据导出-周焕;
parent
92699679
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
205 additions
and
7 deletions
+205
-7
pom.xml
liquidnet-bus-api/liquidnet-service-goblin-api/pom.xml
+0
-5
IGoblinExportService.java
...iquidnet/service/goblin/service/IGoblinExportService.java
+6
-1
pom.xml
liquidnet-bus-do/liquidnet-service-goblin-do/pom.xml
+8
-0
GoblinZhengzaiMarketOrderExcelDto.java
...service/goblin/dto/GoblinZhengzaiMarketOrderExcelDto.java
+75
-0
GoblinStoreOrderMapper.java
...quidnet/service/goblin/mapper/GoblinStoreOrderMapper.java
+3
-0
GoblinStoreOrderMapper.xml
...iquidnet.service.goblin.mapper/GoblinStoreOrderMapper.xml
+36
-0
GoblinExportDataController.java
...latform/controller/goblin/GoblinExportDataController.java
+71
-0
GoblinExportServiceImpl.java
...platform/service/impl/goblin/GoblinExportServiceImpl.java
+6
-1
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/pom.xml
View file @
67484de3
...
...
@@ -22,11 +22,6 @@
<artifactId>
liquidnet-service-goblin-do
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
3.0.5
</version>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-service-dragon-api
</artifactId>
...
...
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/service/IGoblinExportService.java
View file @
67484de3
package
com
.
liquidnet
.
service
.
goblin
.
service
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.GoblinZhengzaiMarketOrderExcelDto
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
import
java.util.Map
;
public
interface
IGoblinExportService
{
List
<
GoblinZhengzaiMarketOrderExcelDto
>
exportZhengzaiMarketOrder
(
Map
<
String
,
Object
>
paramMap
);
//导出商城订单信息
ResponseDto
<
String
>
exportMallOrder
(
HttpServletResponse
response
,
String
beginTime
,
String
endTime
,
String
state
,
Integer
mailType
,
String
storeId
);
}
liquidnet-bus-do/liquidnet-service-goblin-do/pom.xml
View file @
67484de3
...
...
@@ -16,4 +16,12 @@
<maven.compiler.target>
8
</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
${easyexcel.version}
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/dto/GoblinZhengzaiMarketOrderExcelDto.java
0 → 100644
View file @
67484de3
package
com
.
liquidnet
.
service
.
goblin
.
dto
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
/**
* select gso.order_id '订单ID',
* gso.user_mobile as '用户手机号',
* gos.spu_name '商品名称',
* gsm.name '活动名称',
* gsi.store_name '店铺名称',
* gso.order_code '订单编号',
* gso.pay_code '商户单号',
* gso.status '状态',
* if(gso.device_from = 'micropay', 'pos机订单', '线上订单') as 支付来源,
* gos.push_time as '核销时间',
* if(gso.status in (2, 3, 4), '已付款', '已退款') as '订单状态',
* (case gso.pay_type
* when 'wepay' then '微信支付'
* when 'alipay' then '支付宝支付'
* when 'huifu' then '汇付'
* when 'unionpay' then '云闪付'
* when 'pos_crash' then '现金支付'
* else '0元付' end)
* '支付类型',
* gos.num '数量',
* gos.sku_price '商品单价',
* gos.sku_price_actual '实际支付价格',
* gos.price_voucher '优惠金额',
* gso.created_at '订单创建时间'
* from goblin_store_order gso
* inner join goblin_order_sku gos on gos.order_id = gso.order_id
* inner join goblin_store_info gsi on gsi.store_id = gso.store_id
* inner join goblin_self_marketing gsm on gsm.self_market_id = SUBSTRING_INDEX(gso.market_id, 'ZZ', -1)
* where gso.status not in (0, 5)
* and gso.market_id = 'ZZ223161701266386447667'
* # and gsi.store_name = '摩登天空官方周边售卖'
* order by gso.created_at desc;
*/
@Getter
@Setter
public
class
GoblinZhengzaiMarketOrderExcelDto
implements
Serializable
,
Cloneable
{
private
static
final
long
serialVersionUID
=
-
2804101458736599181L
;
@ExcelProperty
(
"商品名称"
)
private
String
spuName
;
@ExcelProperty
(
"活动名称"
)
private
String
marketName
;
@ExcelProperty
(
"店铺名称"
)
private
String
storeName
;
@ExcelProperty
(
"订单编号"
)
private
String
orderCode
;
@ExcelProperty
(
"商户单号"
)
private
String
payCode
;
@ExcelProperty
(
"订单状态"
)
private
String
orderStatus
;
@ExcelProperty
(
"订单创建时间"
)
private
Integer
createdAt
;
@ExcelProperty
(
"核销时间"
)
private
String
pushTime
;
@ExcelProperty
(
"支付来源"
)
private
String
deviceFrom
;
@ExcelProperty
(
"支付类型"
)
private
String
payType
;
@ExcelProperty
(
"购买数量"
)
private
String
nums
;
@ExcelProperty
(
"商品单价"
)
private
String
skuPrice
;
@ExcelProperty
(
"实际支付价格"
)
private
String
priceActual
;
@ExcelProperty
(
"优惠金额"
)
private
Integer
priceVoucher
;
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/mapper/GoblinStoreOrderMapper.java
View file @
67484de3
package
com
.
liquidnet
.
service
.
goblin
.
mapper
;
import
com.liquidnet.service.goblin.dto.GoblinZhengzaiMarketOrderExcelDto
;
import
com.liquidnet.service.goblin.dto.MallOrdertDao
;
import
com.liquidnet.service.goblin.entity.GoblinStoreOrder
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
...
...
@@ -7,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
...
...
@@ -21,4 +23,5 @@ public interface GoblinStoreOrderMapper extends BaseMapper<GoblinStoreOrder> {
List
<
MallOrdertDao
>
exportMallOrder
(
@Param
(
"beginTime"
)
Date
beginTime
,
@Param
(
"endTime"
)
Date
endTime
,
@Param
(
"states"
)
List
<
String
>
states
,
@Param
(
"mailType"
)
Integer
mailType
,
@Param
(
"storeId"
)
String
storeId
);
List
<
GoblinZhengzaiMarketOrderExcelDto
>
exportZhengzaiMarketOrder
(
Map
<
String
,
Object
>
paramMap
);
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/resources/com.liquidnet.service.goblin.mapper/GoblinStoreOrderMapper.xml
View file @
67484de3
...
...
@@ -82,5 +82,41 @@
</where>
group by gos.order_sku_id
</select>
<select
id=
"exportZhengzaiMarketOrder"
resultType=
"com.liquidnet.service.goblin.dto.GoblinZhengzaiMarketOrderExcelDto"
>
select gos.spu_name spuName,
gsm.name marketName,
gsi.store_name storeName,
gso.order_code orderCode,
gso.pay_code payCode,
if(gso.status in (2, 3, 4), '已付款', '已退款') orderStatus,
gso.created_at createdAt,
gos.push_time pushTime,
if(gso.device_from = 'micropay', 'pos机订单', '线上订单') deviceFrom,
(case gso.pay_type
when 'wepay' then '微信支付'
when 'alipay' then '支付宝支付'
when 'huifu' then '汇付'
when 'unionpay' then '云闪付'
when 'pos_crash' then '现金支付'
else '0元付' end) payType,
gos.num nums,
gos.sku_price skuPrice,
gos.sku_price_actual priceActual,
gos.price_voucher priceVoucher
from goblin_store_order gso
inner join goblin_order_sku gos on gos.order_id = gso.order_id
inner join goblin_store_info gsi on gsi.store_id = gso.store_id
inner join goblin_self_marketing gsm on gsm.self_market_id = SUBSTRING_INDEX(gso.market_id, 'ZZ', -1)
<where>
gso.status not in (0, 5) and gso.store_id = #{orderNo,jdbcType=VARCHAR} and gso.market_id = #{orderNo,jdbcType=VARCHAR}
<if
test=
"beginTime != null"
>
and gso.created_at
<![CDATA[>=]]>
#{beginTime,jdbcType=TIMESTAMP}
</if>
<if
test=
"endTime != null"
>
and gso.created_at
<![CDATA[<=]]>
#{endTime,jdbcType=TIMESTAMP}
</if>
</where>
order by gso.created_at desc
</select>
</mapper>
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/controller/goblin/GoblinExportDataController.java
View file @
67484de3
package
com
.
liquidnet
.
service
.
platform
.
controller
.
goblin
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.support.ExcelTypeEnum
;
import
com.liquidnet.commons.lang.constant.LnsRegex
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.GoblinZhengzaiMarketOrderExcelDto
;
import
com.liquidnet.service.goblin.service.IGoblinExportService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.Pattern
;
import
java.io.IOException
;
import
java.nio.charset.StandardCharsets
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.List
;
@Slf4j
@Api
(
tags
=
"商城-订单信息导出"
)
@Controller
@RequestMapping
(
"/tools/export"
)
...
...
@@ -47,4 +67,55 @@ public class GoblinExportDataController {
return
iGoblinExportService
.
exportMallOrder
(
response
,
beginTime
,
endTime
,
state
,
mailType
,
storeId
);
}
@GetMapping
(
"zzMarketOrder"
)
@ApiOperation
(
value
=
"正在下单-销售数据"
)
@ResponseBody
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"storeId"
,
value
=
"店铺ID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"marketId"
,
value
=
"活动ID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"bTime"
,
value
=
"开始时间[yyyy-MM-dd]"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"eTime"
,
value
=
"结束时间[yyyy-MM-dd]"
),
})
public
ResponseDto
<
String
>
exportZhengzaiMarketOrder
(
@RequestParam
(
required
=
false
,
name
=
"bTime"
)
@Pattern
(
regexp
=
LnsRegex
.
Valid
.
DATETIME_YMD
,
message
=
"开始时间格式有误"
)
String
beginTime
,
@RequestParam
(
required
=
false
,
name
=
"eTime"
)
@Pattern
(
regexp
=
LnsRegex
.
Valid
.
DATETIME_YMD
,
message
=
"结束时间格式有误"
)
String
endTime
,
@RequestParam
String
marketId
,
@RequestParam
String
storeId
,
HttpServletResponse
response
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
ServletOutputStream
servletOutputStream
=
null
;
try
{
log
.
debug
(
"数据导出:正在下单-销售数据:[uid:{},storeId:{},marketId:{},time:{}~{}]"
,
currentUid
,
storeId
,
marketId
,
beginTime
,
endTime
);
response
.
setHeader
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment;filename="
.
concat
(
DateUtil
.
Formatter
.
ddHHmmssTrim
.
format
(
LocalDateTime
.
now
()))
.
concat
(
new
String
((
"正在下单-销售数据"
).
getBytes
(
"gb2312"
),
StandardCharsets
.
ISO_8859_1
)).
concat
(
ExcelTypeEnum
.
XLSX
.
getValue
()));
response
.
setContentType
(
MediaType
.
MULTIPART_FORM_DATA_VALUE
);
response
.
setCharacterEncoding
(
StandardCharsets
.
UTF_8
.
name
());
servletOutputStream
=
response
.
getOutputStream
();
HashMap
<
String
,
Object
>
paramMap
=
CollectionUtil
.
mapStringObject
();
paramMap
.
put
(
"storeId"
,
storeId
);
paramMap
.
put
(
"marketId"
,
marketId
);
LocalDateTime
beginDateTime
=
DateUtil
.
Formatter
.
yyyy_MM_dd
.
parse
(
beginTime
);
LocalDateTime
endDateTime
=
DateUtil
.
Formatter
.
yyyy_MM_dd
.
parse
(
endTime
);
paramMap
.
put
(
"beginTime"
,
beginDateTime
);
paramMap
.
put
(
"endTime"
,
null
==
endDateTime
?
endDateTime
:
endDateTime
.
withHour
(
23
).
withMinute
(
59
).
withSecond
(
59
));
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"数据导出:正在下单-销售数据:[uid:{},paramMap:{}]"
,
currentUid
,
JsonUtils
.
toJson
(
paramMap
));
}
List
<
GoblinZhengzaiMarketOrderExcelDto
>
excelDtos
=
iGoblinExportService
.
exportZhengzaiMarketOrder
(
paramMap
);
if
(
CollectionUtils
.
isEmpty
(
excelDtos
))
{
return
ResponseDto
.
failure
(
"无数据,请核实"
);
}
EasyExcel
.
write
(
servletOutputStream
,
GoblinZhengzaiMarketOrderExcelDto
.
class
).
sheet
(
"销售数据"
).
doWrite
(
excelDtos
);
}
catch
(
IOException
e
)
{
log
.
error
(
"数据导出:正在下单-销售数据:异常[UID={},ex.msg={}]"
,
currentUid
,
e
.
getLocalizedMessage
());
return
ResponseDto
.
failure
(
"导出失败,请联系网站管理员"
);
}
finally
{
if
(
null
!=
servletOutputStream
)
{
try
{
servletOutputStream
.
close
();
}
catch
(
Exception
ignored
)
{
}
}
}
return
ResponseDto
.
success
();
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinExportServiceImpl.java
View file @
67484de3
...
...
@@ -7,6 +7,7 @@ import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
import
com.alibaba.excel.write.style.column.SimpleColumnWidthStyleStrategy
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.GoblinZhengzaiMarketOrderExcelDto
;
import
com.liquidnet.service.goblin.dto.MallOrdertDao
;
import
com.liquidnet.service.goblin.mapper.GoblinStoreOrderMapper
;
import
com.liquidnet.service.goblin.service.IGoblinExportService
;
...
...
@@ -26,10 +27,14 @@ import java.util.*;
@Service
@Slf4j
public
class
GoblinExportServiceImpl
implements
IGoblinExportService
{
@Autowired
GoblinStoreOrderMapper
goblinStoreOrderMapper
;
@Override
public
List
<
GoblinZhengzaiMarketOrderExcelDto
>
exportZhengzaiMarketOrder
(
Map
<
String
,
Object
>
paramMap
)
{
return
goblinStoreOrderMapper
.
exportZhengzaiMarketOrder
(
paramMap
);
}
@Override
public
ResponseDto
<
String
>
exportMallOrder
(
HttpServletResponse
response
,
String
beginTime
,
String
endTime
,
String
state
,
Integer
mailType
,
String
storeId
)
{
if
(!
timeIsNotNull
(
beginTime
,
endTime
))
{
...
...
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