Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
warehouse
概览
Overview
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
苗卫卫
warehouse
Commits
75a647a5
提交
75a647a5
authored
1 年前
作者:
“chaining”
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: 墙盒申请代码迁移
父级
60e528cd
全部展开
显示空白字符变更
内嵌
并排
正在显示
24 个修改的文件
包含
1292 行增加
和
0 行删除
+1292
-0
lib/dop-sdk-0.0.1-SNAPSHOT.jar
+0
-0
pom.xml
+41
-0
src/main/java/com/boco/nbd/wios/downloadfile/controller/CreateEntityGroup.java
+4
-0
src/main/java/com/boco/nbd/wios/downloadfile/controller/ImportControllerV2.java
+66
-0
src/main/java/com/boco/nbd/wios/manage/client/DepponClient.java
+27
-0
src/main/java/com/boco/nbd/wios/manage/client/DopInterceptor.java
+76
-0
src/main/java/com/boco/nbd/wios/manage/controller/WallboxApplyController.java
+0
-0
src/main/java/com/boco/nbd/wios/manage/convert/WallboxApplyConvert.java
+31
-0
src/main/java/com/boco/nbd/wios/manage/entity/bo/WallboxApply.java
+91
-0
src/main/java/com/boco/nbd/wios/manage/entity/dto/WallboxApplyBatchCheckDTO.java
+27
-0
src/main/java/com/boco/nbd/wios/manage/entity/dto/WallboxApplyCheckDTO.java
+63
-0
src/main/java/com/boco/nbd/wios/manage/entity/dto/WallboxApplyDetailQueryDTO.java
+17
-0
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyCheckVO.java
+32
-0
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyDetailVO.java
+71
-0
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyExcelVO.java
+45
-0
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyInstallInfoVO.java
+95
-0
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyInstallListVO.java
+88
-0
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyPageVO.java
+77
-0
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyReqVO.java
+36
-0
src/main/java/com/boco/nbd/wios/manage/mapper/def/WallboxApplyMapper.java
+96
-0
src/main/java/com/boco/nbd/wios/manage/service/impl/SupplierService.java
+4
-0
src/main/java/com/boco/nbd/wios/manage/service/impl/WallboxApplyService.java
+258
-0
src/main/java/com/boco/nbd/wios/utils/ExcelUtils.java
+47
-0
src/main/resources/mybatis/mapper/def/common/WallboxApplyMapper.xml
+0
-0
没有找到文件。
lib/dop-sdk-0.0.1-SNAPSHOT.jar
0 → 100644
查看文件 @
75a647a5
File added
This diff is collapsed.
Click to expand it.
pom.xml
查看文件 @
75a647a5
...
@@ -16,6 +16,10 @@
...
@@ -16,6 +16,10 @@
<version>
2.0.0
</version>
<version>
2.0.0
</version>
<description>
wios project
</description>
<description>
wios project
</description>
<properties>
<mapstruct.version>
1.5.5.Final
</mapstruct.version>
</properties>
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
com.boco.nbd
</groupId>
<groupId>
com.boco.nbd
</groupId>
...
@@ -116,6 +120,43 @@
...
@@ -116,6 +120,43 @@
<artifactId>
aspose-words
</artifactId>
<artifactId>
aspose-words
</artifactId>
<version>
15.8.0
</version>
<version>
15.8.0
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct
</artifactId>
<!-- use mapstruct-jdk8 for Java 8 or higher -->
<version>
${mapstruct.version}
</version>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-jdk8
</artifactId>
<version>
${mapstruct.version}
</version>
</dependency>
<dependency>
<groupId>
org.mapstruct
</groupId>
<artifactId>
mapstruct-processor
</artifactId>
<version>
${mapstruct.version}
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
3.3.2
</version>
</dependency>
<dependency>
<groupId>
com.dtflys.forest
</groupId>
<artifactId>
forest-spring-boot-starter
</artifactId>
<version>
1.5.27
</version>
</dependency>
<dependency>
<groupId>
commons-httpclient
</groupId>
<artifactId>
commons-httpclient
</artifactId>
<version>
3.1
</version>
</dependency>
<dependency>
<groupId>
org.deppon.com
</groupId>
<artifactId>
dop-sdk
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/lib/dop-sdk-0.0.1-SNAPSHOT.jar
</systemPath>
</dependency>
</dependencies>
</dependencies>
...
...
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/downloadfile/controller/CreateEntityGroup.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
downloadfile
.
controller
;
public
interface
CreateEntityGroup
{
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/downloadfile/controller/ImportControllerV2.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
downloadfile
.
controller
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.boco.nbd.wios.manage.entity.bo.Order
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyExcelVO
;
import
com.boco.nbd.wios.manage.mapper.def.OrderDao
;
import
com.boco.nbd.wios.manage.service.impl.WallboxApplyService
;
import
com.boco.nbd.wios.utils.ExcelUtils
;
import
com.ihidea.component.api.v2.BaseResponse
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.validation.ConstraintViolation
;
import
javax.validation.Validator
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
@RestController
public
class
ImportControllerV2
{
@Autowired
private
Validator
validator
;
@Autowired
private
WallboxApplyService
wallboxApplyService
;
@Autowired
private
OrderDao
orderDao
;
@PostMapping
(
"/wallbox-apply/import"
)
@ApiOperation
(
"导入墙盒申请"
)
public
BaseResponse
<
List
<
WallboxApplyExcelVO
>>
importExcel
(
@RequestParam
(
value
=
"file"
)
MultipartFile
file
)
throws
Exception
{
List
<
WallboxApplyExcelVO
>
list
=
ExcelUtils
.
read
(
file
,
WallboxApplyExcelVO
.
class
);
for
(
WallboxApplyExcelVO
vo
:
list
)
{
Set
<
ConstraintViolation
<
WallboxApplyExcelVO
>>
violations
=
validator
.
validate
(
vo
,
CreateEntityGroup
.
class
);
if
(!
violations
.
isEmpty
())
{
String
errorMessage
=
violations
.
stream
()
.
map
(
ConstraintViolation:
:
getMessage
)
.
collect
(
Collectors
.
joining
(
";"
));
vo
.
setErrorMessage
(
errorMessage
);
}
if
(
StringUtils
.
isNotBlank
(
vo
.
getOrderId
())){
Order
order
=
orderDao
.
selectById
(
vo
.
getOrderId
());
if
(
ObjectUtil
.
isNull
(
order
))
{
vo
.
setErrorMessage
(
"不存在安装订单号"
);
}
if
(
ObjectUtil
.
isNotNull
(
order
))
{
vo
.
setWallboxModel
(
order
.
getWallboxModel
());
}
if
(
ObjectUtil
.
isNotNull
(
wallboxApplyService
.
selectWallboxDetail
(
vo
.
getOrderId
())))
{
vo
.
setErrorMessage
(
"重复订单申请"
);
}
}
}
return
new
BaseResponse
<>(
list
);
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/client/DepponClient.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
client
;
import
com.dtflys.forest.annotation.BaseRequest
;
import
com.dtflys.forest.annotation.Body
;
import
com.dtflys.forest.annotation.Post
;
import
java.util.Map
;
/**
* <p>
* 德邦物流clinet,注意入参使用Map或者对象实体
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@BaseRequest
(
baseURL
=
"http://dpsanbox.deppon.com/sandbox-web/standard-order/"
,
interceptor
=
DopInterceptor
.
class
)
public
interface
DepponClient
{
/**
* 新标准轨迹查询
* http://dop.deppon.com/#/wantAccess/myApiConfig
* @param {"mailNo":"7503587254"}
* @return 字符串
*/
@Post
(
"newTraceQuery.action"
)
String
newTraceQuery
(
@Body
(
"params"
)
Map
<
String
,
Object
>
params
);
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/client/DopInterceptor.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
client
;
import
com.deppon.dop.module.sdk.shared.util.FastJsonUtil
;
import
com.deppon.dop.module.sdk.shared.util.SecurityUtil
;
import
com.dtflys.forest.exceptions.ForestRuntimeException
;
import
com.dtflys.forest.http.ForestRequest
;
import
com.dtflys.forest.http.ForestResponse
;
import
com.dtflys.forest.interceptor.Interceptor
;
import
com.dtflys.forest.reflection.ForestMethod
;
import
org.apache.commons.codec.binary.Base64
;
import
org.apache.commons.codec.digest.DigestUtils
;
/**
* <p>
* 德邦物流请求拦截器,实现自动注入companyCode、digest、timestamp参数
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
public
class
DopInterceptor
<
T
>
implements
Interceptor
<
T
>
{
private
final
String
companyCode
=
"EWBXRCHSZX"
;
private
final
String
appkey
=
"fe38a755ce4f7629717342e441cdedff"
;
/**
* 该方法在被调用时
*
* @Param request Forest请求对象
* @Param args 方法被调用时传入的参数数组
*/
@Override
public
void
onInvokeMethod
(
ForestRequest
request
,
ForestMethod
method
,
Object
[]
args
)
{
}
@Override
public
boolean
beforeExecute
(
ForestRequest
request
)
{
request
.
addHeader
(
"Content-Type"
,
"application/x-www-form-urlencoded;charset=utf-8"
);
// String params = request.getBody().get(0)+"";
long
timestamp
=
System
.
currentTimeMillis
();
String
params
=
FastJsonUtil
.
toJSONString
(
request
.
getBody
().
getNameValueBody
(
"params"
).
getValue
());
String
digest
=
SecurityUtil
.
getStandardDigest
(
params
+
appkey
+
timestamp
);
request
.
addBody
(
"companyCode"
,
companyCode
);
request
.
addBody
(
"digest"
,
digest
);
request
.
addBody
(
"timestamp"
,
timestamp
);
request
.
addBody
(
"params"
,
params
);
return
true
;
}
/**
* 该方法在请求成功响应时被调用
*/
@Override
public
void
onSuccess
(
T
data
,
ForestRequest
req
,
ForestResponse
res
)
{
}
/**
* 该方法在请求发送失败时被调用
*/
@Override
public
void
onError
(
ForestRuntimeException
ex
,
ForestRequest
req
,
ForestResponse
res
)
{
// 执行发送请求失败后处理的代码
int
status
=
res
.
getStatusCode
();
// 获取请求响应状态码
String
content
=
res
.
getContent
();
}
/**
* 该方法在请求发送之后被调用
*/
@Override
public
void
afterExecute
(
ForestRequest
req
,
ForestResponse
res
)
{
}
private
String
getDigest
(
String
plainText
)
{
return
Base64
.
encodeBase64String
(
DigestUtils
.
md5Hex
(
plainText
).
getBytes
());
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/controller/WallboxApplyController.java
0 → 100644
查看文件 @
75a647a5
差异被折叠。
点击展开。
src/main/java/com/boco/nbd/wios/manage/convert/WallboxApplyConvert.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
convert
;
import
com.boco.nbd.wios.manage.entity.bo.WallboxApply
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyInstallInfoVO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyInstallListVO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyReqVO
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
java.util.List
;
/**
* <p>
* description
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Mapper
public
interface
WallboxApplyConvert
{
WallboxApplyConvert
INSTANCE
=
Mappers
.
getMapper
(
WallboxApplyConvert
.
class
);
WallboxApply
convert
(
WallboxApplyReqVO
bean
);
WallboxApplyInstallInfoVO
convert2Info
(
WallboxApply
bean
);
WallboxApplyInstallListVO
convert
(
WallboxApply
bean
);
List
<
WallboxApplyInstallListVO
>
convertList
(
List
<
WallboxApply
>
bean
);
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/bo/WallboxApply.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
bo
;
import
lombok.Data
;
import
java.util.Date
;
/**
* <p>
* 墙盒申请
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApply
{
/** 自增id */
private
Long
id
;
/** 安装订单号 */
private
String
orderId
;
/** 安装服务商id */
private
Long
supplierId
;
/** 申请团队名称 */
private
String
supplierTeam
;
/** 墙盒设备型号(对应物料id) */
private
String
wallboxItemId
;
/** 墙盒品牌 */
private
String
wallboxModel
;
/** 物料类型 */
private
String
materialType
;
/** 物流单号 */
private
String
trackingNumber
;
/** 物流状态0未发货,1已发货 */
private
String
trackingStatus
;
/** 安装状态 */
private
String
installStatus
;
/** 区域id */
private
String
regionId
;
/** 地址 */
private
String
address
;
/** 车企安装单号 */
private
String
outOrderId
;
/** 是否紧急:0:否,1:是 */
private
Integer
ifEmergency
;
/** 是否超时:0:未超时,1:已超时 */
private
Long
ifTimeout
;
/** 审核人员 */
private
String
checkAccount
;
/** 申请状态:1:已申请,2:已通过,3:已驳回,4:已关闭 */
private
Long
checkStatus
;
/** 审核备注 */
private
String
checkRemarks
;
/** 审核时间 */
private
Date
checkTime
;
/** 预约安装日期 */
private
Date
installReserveTime
;
/** 安装进度 */
private
Long
installProcess
;
/** 创建人 */
private
String
createAccount
;
/** 创建时间 */
private
Date
createdTime
;
/** 更新人 */
private
String
modifyAccount
;
/** 更新时间 */
private
Date
modifyTime
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/dto/WallboxApplyBatchCheckDTO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* <p>
* 墙盒申请批量审核
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyBatchCheckDTO
{
List
<
WallboxApplyCheckDTO
>
checkList
;
/** 申请状态:0:已申请,1:已通过,2:已驳回,3:已关闭 */
@ApiModelProperty
(
value
=
"申请状态"
,
notes
=
"1:通过,2:驳回"
,
example
=
"1"
,
required
=
true
)
private
Long
checkStatus
;
@ApiModelProperty
(
value
=
"审核备注"
,
required
=
true
)
private
String
checkRemarks
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/dto/WallboxApplyCheckDTO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* <p>
* 墙盒申请批量审核DTO
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyCheckDTO
{
/** 自增id */
private
Long
id
;
/** 安装订单号 */
@ApiModelProperty
(
value
=
"安装订单号"
)
private
String
orderId
;
@ApiModelProperty
(
value
=
"安装状态"
)
private
String
installStatus
;
/** 安装服务商id */
@ApiModelProperty
(
value
=
"安装服务商id"
)
private
String
supplierId
;
/** 申请团队名称 */
@ApiModelProperty
(
value
=
"申请团队名称"
)
private
String
supplierTeam
;
/** 墙盒品牌*/
@ApiModelProperty
(
value
=
"墙盒品牌"
)
private
String
wallboxModel
;
/** 区域id */
@ApiModelProperty
(
value
=
"区域id"
)
private
String
regionId
;
/** 区域id */
@ApiModelProperty
(
value
=
"地址"
)
private
String
address
;
/** 是否紧急:0:否,1:是 */
@ApiModelProperty
(
value
=
"是否特殊申请"
)
private
Integer
ifEmergency
;
/** 申请状态:0:已申请,1:已通过,2:已驳回,3:已关闭 */
@ApiModelProperty
(
value
=
"审核状态"
)
private
Long
checkStatus
;
/**
* 数据状态
*/
private
String
dataStatus
;
/**
* 数据异常信息
*/
private
String
errorMessage
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/dto/WallboxApplyDetailQueryDTO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
dto
;
import
lombok.Data
;
/**
* <p>
* 墙盒申请状态查询参数
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyDetailQueryDTO
{
private
String
orderId
;
private
String
supplierId
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyCheckVO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* <p>
* 墙盒申请审核
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyCheckVO
{
@ApiModelProperty
(
value
=
"数据id"
,
notes
=
"不是安装订单号"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"id不能为空"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"安装订单号"
,
notes
=
""
,
example
=
"CA20201204044558"
,
required
=
true
)
private
String
orderId
;
/** 申请状态:0:已申请,1:已通过,2:已驳回,3:已关闭 */
@ApiModelProperty
(
value
=
"审核意见"
,
notes
=
"1:通过,2:驳回"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"审核意见不能为空"
)
private
Long
checkStatus
;
@ApiModelProperty
(
value
=
"审核备注"
,
notes
=
""
,
example
=
"同意"
,
required
=
true
)
private
String
checkRemarks
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyDetailVO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* <p>
* 墙盒申请详情页面
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyDetailVO
{
/**
* t_order数据
*/
@ApiModelProperty
(
value
=
"客户姓名"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"联系电话"
)
private
String
userPhone
;
@ApiModelProperty
(
value
=
"安装单号"
)
private
String
orderId
;
@ApiModelProperty
(
value
=
"墙盒设备型号"
)
private
String
itemModel
;
@ApiModelProperty
(
value
=
"墙盒设备编号"
)
private
String
wallboxCode
;
@ApiModelProperty
(
value
=
"墙盒品牌"
)
private
String
wallboxModel
;
/**
* t_wallbox_apply
*/
@ApiModelProperty
(
value
=
"物流单号"
)
private
String
trackingNumber
;
@ApiModelProperty
(
value
=
"物流状态0未发货,1已发货"
)
private
String
trackingStatus
;
@ApiModelProperty
(
value
=
"墙盒是否申请"
)
private
String
checkStatus
;
/**
* t_delivery
*/
@ApiModelProperty
(
value
=
"物流供应商"
)
private
String
logisticCompany
;
/**
* 物流接口
*/
//发货客户名称
private
String
shipperName
;
//发货联系人名称
private
String
contactName
;
//联系人手机
private
String
contactMobile
;
//收货人联系姓名
private
String
receiverCustName
;
//接货人联系手机
private
String
receiveMobile
;
//接货人联系电话
private
String
receivePhone
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyExcelVO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnore
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.starcharge.wios.validation.CreateEntityGroup
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
/**
* <p>
* 墙盒申请excel
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyExcelVO
{
/** 安装订单号 */
@ExcelProperty
(
"安装订单号"
)
@NotNull
(
groups
=
CreateEntityGroup
.
class
,
message
=
"缺少安装单号"
)
@NotEmpty
(
groups
=
CreateEntityGroup
.
class
,
message
=
"缺少安装单号"
)
private
String
orderId
;
/** 墙盒设备型号(对应物料id) */
@ExcelIgnore
private
String
wallboxItemId
;
@ExcelIgnore
private
String
wallboxModel
;
/** 是否紧急:0:否,1:是 */
@ExcelProperty
(
"是否紧急(0否,1是)"
)
@NotNull
(
groups
=
CreateEntityGroup
.
class
,
message
=
"缺少是否紧急数据"
)
private
Integer
ifEmergency
;
/**
* 错误信息
*/
@ExcelIgnore
private
String
errorMessage
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyInstallInfoVO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* <p>
* 墙盒申请安装团队
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyInstallInfoVO
{
/** 自增id */
private
Long
id
;
/** 安装订单号 */
@ApiModelProperty
(
value
=
"安装订单号"
)
private
String
orderId
;
@ApiModelProperty
(
value
=
"安装状态"
)
private
String
installStatus
;
/** 安装服务商id */
@ApiModelProperty
(
value
=
"安装服务商id"
)
private
String
supplierId
;
/** 申请团队名称 */
@ApiModelProperty
(
value
=
"申请团队名称"
)
private
String
supplierTeam
;
/** 墙盒设备型号(对应物料id) */
@ApiModelProperty
(
value
=
"墙盒设备型号(对应物料id)"
)
private
String
wallboxItemId
;
/** 物料类型 */
@ApiModelProperty
(
value
=
"物料类型"
)
private
String
materialType
;
/** 墙盒品牌*/
@ApiModelProperty
(
value
=
"墙盒品牌"
)
private
String
wallboxModel
;
/** 墙盒类型*/
@ApiModelProperty
(
value
=
"墙盒类型"
)
private
String
wallboxType
;
@ApiModelProperty
(
value
=
"预约安装时间"
)
private
String
installReserveTime
;
/** 区域id */
@ApiModelProperty
(
value
=
"区域id"
)
private
String
regionId
;
@ApiModelProperty
(
value
=
"区域名称"
)
private
String
regionName
;
/** 是否紧急:0:否,1:是 */
@ApiModelProperty
(
value
=
"是否特殊申请"
)
private
Integer
ifEmergency
;
/** 申请状态:0:已申请,1:已通过,2:已驳回,3:已关闭 */
@ApiModelProperty
(
value
=
"审核状态"
)
private
Long
checkStatus
;
/** 创建时间 */
@ApiModelProperty
(
value
=
"申请时间"
)
private
Date
createdTime
;
@ApiModelProperty
(
value
=
"审核时间"
)
private
Date
checkTime
;
@ApiModelProperty
(
value
=
"审核人员"
)
private
String
checkAccount
;
private
String
checkName
;
@ApiModelProperty
(
value
=
"审核意见"
)
private
String
checkRemarks
;
@ApiModelProperty
(
value
=
"车企安装单号"
)
private
String
outOrderId
;
@ApiModelProperty
(
value
=
"物流单号"
)
private
String
trackingNumber
;
/** 物流状态 */
@ApiModelProperty
(
value
=
"物流状态"
)
private
String
logisticsStatus
;
@ApiModelProperty
(
value
=
"数量"
)
private
String
number
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyInstallListVO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* <p>
* 墙盒申请安装团队
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyInstallListVO
{
/** 自增id */
private
Long
id
;
/** 安装订单号 */
@ApiModelProperty
(
value
=
"安装订单号"
)
@ExcelProperty
(
"安装订单号"
)
private
String
orderId
;
@ApiModelProperty
(
value
=
"安装状态"
)
private
String
installStatus
;
/** 安装服务商id */
@ApiModelProperty
(
value
=
"安装服务商id"
)
private
String
supplierId
;
/** 申请团队名称 */
@ApiModelProperty
(
value
=
"申请团队名称"
)
@ExcelProperty
(
"申请团队名称"
)
private
String
supplierTeam
;
/** 墙盒设备型号(对应物料id) */
@ApiModelProperty
(
value
=
"墙盒设备型号(对应物料id)"
)
private
String
wallboxItemId
;
/** 物料类型 */
@ApiModelProperty
(
value
=
"物料类型"
)
private
String
materialType
;
/** 墙盒品牌*/
@ApiModelProperty
(
value
=
"墙盒品牌"
)
@ExcelProperty
(
"墙盒品牌"
)
private
String
wallboxModel
;
/** 墙盒类型*/
@ApiModelProperty
(
value
=
"墙盒类型"
)
private
String
wallboxType
;
@ApiModelProperty
(
value
=
"剩余时间"
)
private
String
timeRemaining
;
/** 区域id */
@ApiModelProperty
(
value
=
"区域id"
)
private
String
regionId
;
@ExcelProperty
(
"仓库名称"
)
private
String
regionName
;
/** 是否紧急:0:否,1:是 */
@ApiModelProperty
(
value
=
"是否特殊申请"
)
private
Integer
ifEmergency
;
/** 是否超时:0:未超时,1:已超时 */
@ApiModelProperty
(
value
=
"超时类型"
)
private
Long
ifTimeout
;
/** 申请状态:0:已申请,1:已通过,2:已驳回,3:已关闭 */
@ApiModelProperty
(
value
=
"申请状态"
)
private
Long
checkStatus
;
/** 创建时间 */
@ApiModelProperty
(
value
=
"申请时间"
)
private
Date
createdTime
;
@ApiModelProperty
(
value
=
"物流单号"
)
private
String
trackingNumber
;
/** 物流状态 */
@ApiModelProperty
(
value
=
"物流状态"
)
private
String
logisticsStatus
;
@ApiModelProperty
(
value
=
"数量"
)
private
String
number
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyPageVO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
vo
;
import
lombok.Data
;
import
java.util.Date
;
/**
* <p>
* 墙盒申请分页响应结果
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyPageVO
{
/** 自增id */
private
Long
id
;
/** 安装订单号 */
private
String
installationOrderId
;
/** 安装服务商id */
private
String
supplierId
;
/** 申请团队名称 */
private
String
supplierTeam
;
/** 墙盒设备型号(对应物料id) */
private
String
wallboxItemId
;
/** 物料类型 */
private
String
materialType
;
/** 墙盒品牌*/
private
String
wallboxModel
;
/** 墙盒类型*/
private
String
wallboxType
;
/** 区域id */
private
String
regionId
;
private
Date
installReserveTime
;
private
String
outOrderId
;
/** 审核备注 */
private
String
checkRemarks
;
/** 是否紧急:0:否,1:是 */
private
Integer
ifEmergency
;
/** 是否超时:0:未超时,1:已超时 */
private
Long
ifTimeout
;
/** 申请状态:0:已申请,1:已通过,2:已驳回,3:已关闭 */
private
Long
checkStatus
;
/** 创建人 */
private
String
createAccount
;
/** 创建时间 */
private
Date
createdTime
;
/** 更新人 */
private
String
modifyAccount
;
/** 更新时间 */
private
Date
modifyTime
;
/** 审核人 */
private
String
checkAccount
;
/** 审核时间 */
private
Date
checkTime
;
/** 物流状态 */
private
String
logisticsStatus
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/entity/vo/WallboxApplyReqVO.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* <p>
* description
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Data
public
class
WallboxApplyReqVO
{
/** 申请团队名称 */
@ApiModelProperty
(
value
=
"申请团队名称"
,
required
=
true
)
private
String
supplierTeam
;
/** 区域id */
@ApiModelProperty
(
value
=
"区域id"
,
required
=
true
)
private
String
regionId
;
/** 申请状态:0:已申请,1:已通过,2:已驳回,3:已关闭 */
@ApiModelProperty
(
value
=
"申请状态"
,
notes
=
"0:已申请,1:已通过,2:已驳回,3:已关闭"
,
example
=
"1"
,
required
=
true
)
private
Long
checkStatus
;
/** 墙盒设备型号(对应物料id) */
@ApiModelProperty
(
value
=
"墙盒设备型号(对应物料id)"
,
required
=
false
)
private
String
wallboxItemId
;
/** 物流状态0未发货,1已发货 */
@ApiModelProperty
(
value
=
"物流状态0未发货,1已发货"
,
required
=
false
)
private
String
trackingStatus
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/mapper/def/WallboxApplyMapper.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
mapper
.
def
;
import
com.boco.nbd.wios.manage.entity.bo.WallboxApply
;
import
com.boco.nbd.wios.manage.entity.dto.WallboxApplyDetailQueryDTO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyDetailVO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyInstallInfoVO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyInstallListVO
;
import
com.ihidea.core.base.CoreDao
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Update
;
import
java.util.List
;
/**
* <p>
* 墙盒申请Mapper接口
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
public
interface
WallboxApplyMapper
{
/**
* 查询墙盒申请
*
* @param id 墙盒申请主键
* @return 墙盒申请
*/
WallboxApplyInstallInfoVO
selectWallboxApplyById
(
Long
id
);
/**
* 墙盒状态
*/
WallboxApplyDetailVO
selectWallboxDetail
(
WallboxApplyDetailQueryDTO
query
);
/**
* 查询墙盒申请
*
* @param id Order id
* @return 墙盒申请
*/
WallboxApply
selectWallboxApplyByOrderId
(
String
id
);
/**
* 查询墙盒申请列表
*
* @return 墙盒申请集合
*/
List
<
WallboxApply
>
selectWallboxApplyList
(
WallboxApply
WallboxApply
);
List
<
WallboxApplyInstallListVO
>
selectWallboxApplyListFromOrder
(
WallboxApply
WallboxApply
);
/**
* 新增墙盒申请
*
* @param tWallboxApply 墙盒申请
* @return 结果
*/
int
insertWallboxApply
(
WallboxApply
WallboxApply
);
/**
* 修改墙盒申请
*
* @param tWallboxApply 墙盒申请
* @return 结果
*/
int
updateWallboxApply
(
WallboxApply
WallboxApply
);
void
batchUpdateWallboxApply
(
List
<
WallboxApply
>
list
);
/**
* 删除墙盒申请
*
* @param id 墙盒申请主键
* @return 结果
*/
int
deleteWallboxApplyById
(
Long
id
);
/**
* 批量删除墙盒申请
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int
deleteWallboxApplyByIds
(
Long
[]
ids
);
/**
* 通过物料编码更新发货状态
*
* @param trackingStatus
* @param wallboxItemId
* @return
*/
@Update
(
"update t_wallbox_apply set tracking_status=#{trackingStatus} where wallbox_item_id=#{wallboxItemId}"
)
int
updateWallBoxTrackingStatusByMC
(
@Param
(
"trackingStatus"
)
String
trackingStatus
,
@Param
(
"wallboxItemId"
)
String
wallboxItemId
);
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/service/impl/SupplierService.java
查看文件 @
75a647a5
...
@@ -116,6 +116,10 @@ public class SupplierService {
...
@@ -116,6 +116,10 @@ public class SupplierService {
}
}
}
}
public
Supplier
getById
(
Integer
id
){
return
supplierDao
.
selectById
(
id
);
}
public
List
<
SupplierVo
>
getList
(
SupplierBo
condition
)
{
public
List
<
SupplierVo
>
getList
(
SupplierBo
condition
)
{
SessionInfo
sessionInfo
=
ProcessUtil
.
getUserInfo
();
SessionInfo
sessionInfo
=
ProcessUtil
.
getUserInfo
();
if
(
sessionInfo
!=
null
&&
!
StringUtils
.
isEmpty
(
sessionInfo
.
getAttribute
().
get
(
"installSupplierId"
)))
{
if
(
sessionInfo
!=
null
&&
!
StringUtils
.
isEmpty
(
sessionInfo
.
getAttribute
().
get
(
"installSupplierId"
)))
{
...
...
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/manage/service/impl/WallboxApplyService.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
manage
.
service
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.boco.nbd.wios.manage.entity.bo.Order
;
import
com.boco.nbd.wios.manage.entity.bo.OrderInstall
;
import
com.boco.nbd.wios.manage.entity.bo.SupplierStaff
;
import
com.boco.nbd.wios.manage.entity.bo.WallboxApply
;
import
com.boco.nbd.wios.manage.entity.dto.WallboxApplyBatchCheckDTO
;
import
com.boco.nbd.wios.manage.entity.dto.WallboxApplyCheckDTO
;
import
com.boco.nbd.wios.manage.entity.dto.WallboxApplyDetailQueryDTO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyCheckVO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyDetailVO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyInstallInfoVO
;
import
com.boco.nbd.wios.manage.entity.vo.WallboxApplyInstallListVO
;
import
com.boco.nbd.wios.manage.mapper.def.*
;
import
com.ihidea.core.support.exception.ServiceException
;
import
com.ihidea.core.support.session.SessionInfo
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* <p>
* description
* <p>
*
* @author <a href="mail to: ning.chai@foxmail.com" rel="nofollow">chaining</a>
*/
@Service
public
class
WallboxApplyService
{
@Autowired
private
WallboxApplyMapper
wallboxApplyMapper
;
@Autowired
private
OrderDao
orderDao
;
@Autowired
private
OrderInstallDao
orderInstallDao
;
@Autowired
private
TokenService
tokenService
;
@Autowired
private
SupplierDao
supplierDao
;
@Autowired
private
SupplierStaffDao
supplierStaffDao
;
private
final
Integer
CHECK_STATUS_REJECT
=
2
;
/**
* 查询墙盒申请
*
* @param id 墙盒申请主键
* @return 墙盒申请
*/
public
WallboxApplyInstallInfoVO
selectWallboxApplyById
(
Long
id
)
{
return
wallboxApplyMapper
.
selectWallboxApplyById
(
id
);
}
/**
* 墙盒详情(墙盒状态)
*
* @param orderId 订单id
* @return 墙盒申请
*/
public
WallboxApplyDetailVO
selectWallboxDetail
(
String
orderId
)
{
SessionInfo
loginUser
=
tokenService
.
getUser
();
String
userId
=
loginUser
.
getUserId
();
List
<
SupplierStaff
>
supplier
=
supplierStaffDao
.
selectByAccountId
(
Integer
.
valueOf
(
userId
));
WallboxApplyDetailQueryDTO
query
=
new
WallboxApplyDetailQueryDTO
();
query
.
setOrderId
(
orderId
);
query
.
setSupplierId
(
supplier
.
stream
().
findFirst
().
get
().
getSupplierId
().
toString
());
return
wallboxApplyMapper
.
selectWallboxDetail
(
query
);
}
/**
* 查询墙盒申请列表
*
* @param WallboxApply 墙盒申请
* @return 墙盒申请
*/
public
List
<
WallboxApply
>
selectWallboxApplyList
(
WallboxApply
WallboxApply
)
{
return
wallboxApplyMapper
.
selectWallboxApplyList
(
WallboxApply
);
}
/**
* 根据订单表查询墙盒申请列表
*
* @param WallboxApply 墙盒申请
* @return 墙盒申请
*/
public
List
<
WallboxApplyInstallListVO
>
selectWallboxApplyListFromOrder
(
WallboxApply
WallboxApply
)
{
List
<
WallboxApplyInstallListVO
>
list
=
wallboxApplyMapper
.
selectWallboxApplyListFromOrder
(
WallboxApply
);
list
.
stream
().
map
(
l
->{
return
l
;
});
return
list
;
}
public
WallboxApply
calculateTimeRemaining
(
WallboxApply
wallboxApply
)
{
return
wallboxApply
;
}
/**
* 新增墙盒申请
*
* @param req 墙盒申请
* @return 结果
*/
public
int
insertWallboxApply
(
WallboxApply
req
)
{
//判断是否可以新增
//validateApplyExists(req.getOrderId());
WallboxApply
condition
=
new
WallboxApply
();
condition
.
setOrderId
(
req
.
getOrderId
());
condition
.
setCheckStatus
(
1L
);
List
<
WallboxApply
>
retList
=
wallboxApplyMapper
.
selectWallboxApplyList
(
condition
);
if
(
CollectionUtils
.
isNotEmpty
(
retList
)){
throw
new
ServiceException
(
"存在已审核通过的安装单,无法重复申请"
);
}
condition
.
setSupplierId
(
req
.
getSupplierId
());
List
<
WallboxApply
>
retList2
=
wallboxApplyMapper
.
selectWallboxApplyList
(
condition
);
if
(
CollectionUtils
.
isNotEmpty
(
retList2
)){
throw
new
ServiceException
(
"该订单已申请"
);
}
//补全相关信息
Order
order
=
orderDao
.
selectById
(
req
.
getOrderId
());
req
.
setRegionId
(
order
.
getRegionId
());
String
wallboxModel
=
order
.
getWallboxModel
();
if
(
StrUtil
.
isBlank
(
wallboxModel
))
{
throw
new
ServiceException
(
"订单数据异常,缺失墙盒信息,请联系系统管理员"
);
}
req
.
setWallboxItemId
(
order
.
getWallboxModel
());
req
.
setWallboxModel
(
order
.
getWallboxModel
()
==
null
?
""
:
order
.
getWallboxModel
());
req
.
setOutOrderId
(
order
.
getOutOrderId
());
req
.
setInstallReserveTime
(
order
.
getInstallReserveTime
());
req
.
setAddress
(
order
.
getAddress
());
req
.
setTrackingNumber
(
order
.
getShipno
());
req
.
setInstallProcess
(
Integer
.
toUnsignedLong
(
order
.
getStatus
()));
req
.
setInstallStatus
(
Integer
.
toString
(
order
.
getStatus
()));
req
.
setOutOrderId
(
order
.
getOutOrderId
());
return
wallboxApplyMapper
.
insertWallboxApply
(
req
);
}
/**
* 新增墙盒申请
*
* @param orderId 订单号
* @return 结果
*/
public
int
insertWallboxApply
(
int
orderId
)
{
//判断订单状态
// orderInstallDao.selectByOrderId()
return
0
;
}
/**
* 修改墙盒申请
*
* @return 结果
*/
public
int
updateWallboxApply
(
WallboxApply
wallboxApply
)
{
WallboxApply
record
=
wallboxApplyMapper
.
selectWallboxApplyByOrderId
(
wallboxApply
.
getOutOrderId
());
// if (!CHECK_STATUS_REJECT.equals(record.getCheckStatus())) {
// throw new ServiceException("非驳回状态订单无法修改信息!");
// }
wallboxApply
.
setCheckTime
(
new
Date
());
return
wallboxApplyMapper
.
updateWallboxApply
(
wallboxApply
);
}
/**
* 审核
* @param req
* @return
*/
public
int
checkWallboxApply
(
WallboxApplyCheckVO
req
){
WallboxApply
cond
=
new
WallboxApply
();
cond
.
setOrderId
(
req
.
getOrderId
());
List
<
WallboxApply
>
list
=
wallboxApplyMapper
.
selectWallboxApplyList
(
cond
);
List
<
WallboxApply
>
filteredList
=
list
.
stream
()
.
filter
(
l
->
l
.
getCheckStatus
()
==
2
)
.
collect
(
Collectors
.
toList
());
if
(!
filteredList
.
isEmpty
())
{
throw
new
ServiceException
(
"同订单已审核"
);
}
WallboxApply
update
=
new
WallboxApply
();
update
.
setId
(
req
.
getId
());
update
.
setOrderId
(
req
.
getOrderId
());
update
.
setCheckStatus
(
req
.
getCheckStatus
());
update
.
setCheckRemarks
(
req
.
getCheckRemarks
());
update
.
setCheckTime
(
new
Date
());
update
.
setCheckAccount
(
tokenService
.
getUser
().
getUserId
());
return
wallboxApplyMapper
.
updateWallboxApply
(
update
);
}
/**
* 批量审核
*/
public
WallboxApplyBatchCheckDTO
checkBatch
(
WallboxApplyBatchCheckDTO
req
)
{
List
<
WallboxApplyCheckDTO
>
checkList
=
req
.
getCheckList
();
List
<
WallboxApply
>
toUpdateList
=
new
ArrayList
<>();
boolean
allowedUpdate
=
true
;
for
(
WallboxApplyCheckDTO
wallboxApply
:
checkList
)
{
WallboxApply
cond
=
new
WallboxApply
();
cond
.
setOrderId
(
wallboxApply
.
getOrderId
());
List
<
WallboxApply
>
list
=
wallboxApplyMapper
.
selectWallboxApplyList
(
cond
);
List
<
WallboxApply
>
filteredList
=
list
.
stream
()
.
filter
(
l
->
l
.
getCheckStatus
()
==
2
)
.
collect
(
Collectors
.
toList
());
if
(!
filteredList
.
isEmpty
())
{
wallboxApply
.
setDataStatus
(
"0"
);
wallboxApply
.
setErrorMessage
(
"该订单已审核通过"
);
allowedUpdate
=
false
;
}
if
(
allowedUpdate
){
WallboxApply
update
=
new
WallboxApply
();
update
.
setId
(
wallboxApply
.
getId
());
update
.
setCheckStatus
(
req
.
getCheckStatus
());
update
.
setCheckRemarks
(
req
.
getCheckRemarks
());
update
.
setCheckAccount
(
tokenService
.
getUser
().
getUserId
());
toUpdateList
.
add
(
update
);
}
}
if
(
allowedUpdate
){
// 批量更新操作
toUpdateList
.
forEach
(
l
->
wallboxApplyMapper
.
updateWallboxApply
(
l
));
}
return
req
;
}
void
validateApplyExists
(
String
id
)
{
OrderInstall
orderInstall
=
orderInstallDao
.
selectByOrderId
(
id
);
if
(
ObjectUtil
.
isNull
(
orderInstall
))
{
throw
new
ServiceException
(
"不存在安装单号"
);
}
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/boco/nbd/wios/utils/ExcelUtils.java
0 → 100644
查看文件 @
75a647a5
package
com
.
boco
.
nbd
.
wios
.
utils
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.util.List
;
/**
* Excel 工具类
*
*/
public
class
ExcelUtils
{
/**
* 将列表以 Excel 响应给前端
*
* @param response 响应
* @param filename 文件名
* @param sheetName Excel sheet 名
* @param head Excel head 头
* @param data 数据列表哦
* @param <T> 泛型,保证 head 和 data 类型的一致性
* @throws IOException 写入失败的情况
*/
public
static
<
T
>
void
write
(
HttpServletResponse
response
,
String
filename
,
String
sheetName
,
Class
<
T
>
head
,
List
<
T
>
data
)
throws
IOException
{
response
.
addHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
filename
,
"UTF-8"
));
// 输出 Excel
EasyExcel
.
write
(
response
.
getOutputStream
(),
head
)
.
autoCloseStream
(
false
)
// 不要自动关闭,交给 Servlet 自己处理
.
registerWriteHandler
(
new
LongestMatchColumnWidthStyleStrategy
())
// 基于 column 长度,自动适配。最大 255 宽度
.
sheet
(
sheetName
).
doWrite
(
data
);
// 设置 header 和 contentType。写在最后的原因是,避免报错时,响应 contentType 已经被修改了
response
.
setContentType
(
"application/octet-stream;charset=ISO8859-1"
);
}
public
static
<
T
>
List
<
T
>
read
(
MultipartFile
file
,
Class
<
T
>
head
)
throws
IOException
{
return
EasyExcel
.
read
(
file
.
getInputStream
(),
head
,
null
)
.
autoCloseStream
(
false
)
// 不要自动关闭,交给 Servlet 自己处理
.
doReadAllSync
();
}
}
This diff is collapsed.
Click to expand it.
src/main/resources/mybatis/mapper/def/common/WallboxApplyMapper.xml
0 → 100644
查看文件 @
75a647a5
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论