记得上下班打卡 | 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
a28fe678
Commit
a28fe678
authored
Nov 30, 2022
by
Administrator
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'pre' into 'master'
Pre See merge request
!331
parents
92699679
bc4e6178
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
220 additions
and
7 deletions
+220
-7
pom.xml
liquidnet-bus-api/liquidnet-service-goblin-api/pom.xml
+0
-5
IGoblinExportService.java
...iquidnet/service/goblin/service/IGoblinExportService.java
+6
-1
DateUtil.java
...c/main/java/com/liquidnet/commons/lang/util/DateUtil.java
+7
-0
pom.xml
liquidnet-bus-do/liquidnet-service-goblin-do/pom.xml
+8
-0
GoblinZhengzaiMarketOrderExcelDto.java
...service/goblin/dto/GoblinZhengzaiMarketOrderExcelDto.java
+77
-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
+77
-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 @
a28fe678
...
...
@@ -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 @
a28fe678
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-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/DateUtil.java
View file @
a28fe678
...
...
@@ -76,6 +76,13 @@ public abstract class DateUtil {
return
LocalDateTime
.
parse
(
str
,
formatter
);
}
public
LocalDate
parse2LocalDate
(
String
str
)
{
if
(
null
==
str
||
str
.
trim
().
length
()
<=
0
)
{
return
null
;
}
return
LocalDate
.
parse
(
str
,
formatter
);
}
}
/**
...
...
liquidnet-bus-do/liquidnet-service-goblin-do/pom.xml
View file @
a28fe678
...
...
@@ -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 @
a28fe678
package
com
.
liquidnet
.
service
.
goblin
.
dto
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
/**
* 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
LocalDateTime
createdAt
;
@ExcelProperty
(
"核销时间"
)
private
LocalDateTime
pushTime
;
@ExcelProperty
(
"支付来源"
)
private
String
deviceFrom
;
@ExcelProperty
(
"支付类型"
)
private
String
payType
;
@ExcelProperty
(
"购买数量"
)
private
Integer
nums
;
@ExcelProperty
(
"商品单价"
)
private
BigDecimal
skuPrice
;
@ExcelProperty
(
"实际支付价格"
)
private
BigDecimal
priceActual
;
@ExcelProperty
(
"优惠金额"
)
private
BigDecimal
priceVoucher
;
}
liquidnet-bus-do/liquidnet-service-goblin-do/src/main/java/com/liquidnet/service/goblin/mapper/GoblinStoreOrderMapper.java
View file @
a28fe678
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 @
a28fe678
...
...
@@ -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 = #{storeId,jdbcType=VARCHAR} and gso.market_id = #{marketId,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 @
a28fe678
package
com
.
liquidnet
.
service
.
platform
.
controller
.
goblin
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.support.ExcelTypeEnum
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
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.constant.GoblinStatusConst
;
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.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.util.HashMap
;
import
java.util.List
;
@Slf4j
@Api
(
tags
=
"商城-订单信息导出"
)
@Controller
@RequestMapping
(
"/tools/export"
)
...
...
@@ -47,4 +71,57 @@ 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
=
"bDate"
,
value
=
"开始时间[yyyy-MM-dd]"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
false
,
dataType
=
"String"
,
name
=
"eDate"
,
value
=
"结束时间[yyyy-MM-dd]"
),
})
public
void
exportZhengzaiMarketOrder
(
@RequestParam
(
required
=
false
,
name
=
"bDate"
)
@Pattern
(
regexp
=
LnsRegex
.
Valid
.
DATETIME_YMD
,
message
=
"开始日期格式有误"
)
String
beginDate
,
@RequestParam
(
required
=
false
,
name
=
"eDate"
)
@Pattern
(
regexp
=
LnsRegex
.
Valid
.
DATETIME_YMD
,
message
=
"结束日期格式有误"
)
String
endDate
,
@RequestParam
String
marketId
,
@RequestParam
String
storeId
,
HttpServletResponse
response
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
ServletOutputStream
servletOutputStream
=
null
;
try
{
log
.
debug
(
"数据导出:正在下单-销售数据:[uid:{},storeId:{},marketId:{},date:{}~{}]"
,
currentUid
,
storeId
,
marketId
,
beginDate
,
endDate
);
String
fileName
=
DateUtil
.
Formatter
.
yyyyMMddHHmmssTrim
.
format
(
LocalDateTime
.
now
())
.
concat
(
new
String
((
"正在下单-销售数据"
).
getBytes
(
"gb2312"
),
StandardCharsets
.
ISO_8859_1
));
response
.
setHeader
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment;filename="
.
concat
(
fileName
).
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"
,
GoblinStatusConst
.
MarketPreStatus
.
MARKET_PRE_ZHENGZAI
.
getValue
()
+
marketId
);
LocalDate
beginLocalDate
=
DateUtil
.
Formatter
.
yyyy_MM_dd
.
parse2LocalDate
(
beginDate
);
LocalDate
endLocalDate
=
DateUtil
.
Formatter
.
yyyy_MM_dd
.
parse2LocalDate
(
endDate
);
paramMap
.
put
(
"beginTime"
,
null
==
beginLocalDate
?
beginLocalDate
:
LocalDateTime
.
of
(
beginLocalDate
,
LocalTime
.
MIN
));
paramMap
.
put
(
"endTime"
,
null
==
endLocalDate
?
endLocalDate
:
LocalDateTime
.
of
(
endLocalDate
,
LocalTime
.
MAX
));
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"数据导出:正在下单-销售数据:[uid:{},paramMap:{}]"
,
currentUid
,
JsonUtils
.
toJson
(
paramMap
));
}
List
<
GoblinZhengzaiMarketOrderExcelDto
>
excelDtos
=
iGoblinExportService
.
exportZhengzaiMarketOrder
(
paramMap
);
if
(
CollectionUtils
.
isEmpty
(
excelDtos
))
{
log
.
warn
(
"数据导出:正在下单-销售数据:无数据,请核实:[uid:{},paramMap:{}]"
,
currentUid
,
JsonUtils
.
toJson
(
paramMap
));
return
;
}
EasyExcel
.
write
(
servletOutputStream
,
GoblinZhengzaiMarketOrderExcelDto
.
class
).
sheet
(
"销售数据"
).
doWrite
(
excelDtos
);
}
catch
(
IOException
e
)
{
log
.
error
(
"数据导出:正在下单-销售数据:异常[uid:{},storeId:{},marketId:{},date:{}~{},ex.msg={}]"
,
currentUid
,
storeId
,
marketId
,
beginDate
,
endDate
,
e
.
getLocalizedMessage
());
throw
new
LiquidnetServiceException
(
"-1"
,
"导出失败,请联系网站管理员"
);
}
finally
{
if
(
null
!=
servletOutputStream
)
{
try
{
servletOutputStream
.
close
();
}
catch
(
Exception
ignored
)
{
}
}
}
}
}
liquidnet-bus-service/liquidnet-service-platform/liquidnet-service-platform-impl/src/main/java/com/liquidnet/service/platform/service/impl/goblin/GoblinExportServiceImpl.java
View file @
a28fe678
...
...
@@ -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