Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JeeSpringCloud
Commits
44ab1569
Commit
44ab1569
authored
Nov 20, 2018
by
Sun
Browse files
no commit message
parent
f0b37245
Changes
55
Hide whitespace changes
Inline
Side-by-side
JeeSpringCloud/jeespring-webDubboProvider/DubboProvider说明.txt
0 → 100644
View file @
44ab1569
使用dubbo功能时,才进行配置。
1.开启dubbo provider和consumer注解
服务层
开启注解:@com.alibaba.dubbo.config.annotation.Service(interfaceClass = IXXXXService.class,version = "1.0.0", timeout = 60000)
控制层
开启注解:@Reference(version = "1.0.0")
2.启动zookeeper
3.启动dubbo provider(JeeSpring-webDubboProvider)
4.启动dubbo consumer(JeeSpring-web)
5.使用com.jeespring.modules.server模块测试。
正式使用时,建议增加dubbo-Api模块,包含服务接口和实体类,供provider和consumer调用。
JeeSpringCloud/jeespring-webDubboProvider/pom.xml
0 → 100644
View file @
44ab1569
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.jeespring
</groupId>
<artifactId>
jeespring-webDubboProvider
</artifactId>
<name>
jeespring-webDubboProvider
</name>
<description>
jeespring-webDubboProvider
</description>
<version>
3.0.0
</version>
<packaging>
war
</packaging>
<parent>
<groupId>
com.jeespring
</groupId>
<artifactId>
jeespring
</artifactId>
<version>
1.0.0
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>
com.jeespring
</groupId>
<artifactId>
jeespring-cms
</artifactId>
<version>
1.0.0
</version>
</dependency>
<dependency>
<groupId>
com.jeespring
</groupId>
<artifactId>
jeespring-company
</artifactId>
<version>
1.0.0
</version>
</dependency>
<dependency>
<groupId>
com.jeespring
</groupId>
<artifactId>
jeespring-framework
</artifactId>
<version>
1.0.0
</version>
</dependency>
<!--dependency>
<groupId>com.jeespring</groupId>
<artifactId>jeespring-mq</artifactId>
<version>1.0.0</version>
</dependency-->
<dependency>
<groupId>
com.ckfinder
</groupId>
<artifactId>
apache-ant-zip
</artifactId>
<version>
2.3
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/webapp/WEB-INF/lib/apache-ant-zip-2.3.jar
</systemPath>
</dependency>
<dependency>
<groupId>
com.ckfinder
</groupId>
<artifactId>
ckfinder
</artifactId>
<version>
2.3
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/webapp/WEB-INF/lib/ckfinder-2.3.jar
</systemPath>
</dependency>
<dependency>
<groupId>
com.ckfinder
</groupId>
<artifactId>
ckfinderplugin-fileeditor
</artifactId>
<version>
2.3
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/webapp/WEB-INF/lib/ckfinderplugin-fileeditor-2.3.jar
</systemPath>
</dependency>
<dependency>
<groupId>
com.ckfinder
</groupId>
<artifactId>
ckfinderplugin-imageresize
</artifactId>
<version>
2.3
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/webapp/WEB-INF/lib/ckfinderplugin-imageresize-2.3.jar
</systemPath>
</dependency>
<dependency>
<groupId>
com.swetake
</groupId>
<artifactId>
qrcode
</artifactId>
<version>
1.5
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/webapp/WEB-INF/lib/QRCode-1.5.jar
</systemPath>
</dependency>
<dependency>
<groupId>
bitwalker
</groupId>
<artifactId>
UserAgentUtils
</artifactId>
<version>
1.13
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/src/main/webapp/WEB-INF/lib/UserAgentUtils-1.13.jar
</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<!--plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<packagingExcludes></packagingExcludes>
<warSourceExcludes></warSourceExcludes>
<webappDirectory>${project.build.directory}/${project.artifactId}</webappDirectory>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin-->
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<excludeArtifactIds>
slf4j-log4j12
</excludeArtifactIds>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/JeeSpringDriver.java
0 → 100644
View file @
44ab1569
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved.
*/
package
com
;
import
com.jeespring.common.websocket.WebSockertFilter
;
import
com.jeespring.modules.sys.service.SystemService
;
import
org.apache.catalina.connector.Connector
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.boot.context.embedded.EmbeddedServletContainerFactory
;
import
org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory
;
import
org.springframework.boot.web.servlet.ServletComponentScan
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
/**
* jeespring
* springboot的启动类
* * * @author 黄炳桂 516821420@qq.com
* Created on 2017/1/8 16:20
*
* @EnableAutoConfiguration(exclude = {
* org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class,
* org.activiti.spring.boot.SecurityAutoConfiguration.class,
* })
* 使用lazyInit缩短Spring Boot启动时间//, lazyInit = true
*/
@EnableCaching
@SpringBootApplication
@ServletComponentScan
(
basePackages
=
{
"com.jeespring"
,
"com.company"
,
"cn.xxx"
})
@ComponentScan
(
basePackages
=
{
"com.jeespring"
,
"com.company"
,
"cn.xxx"
})
@MapperScan
(
basePackages
={
"com.jeespring.modules.**.dao"
,
"com.company.project.modules.*.dao"
,
"cn.xxx.xxx.modules.*.dao"
})
@EnableScheduling
@ComponentScan
@EnableAutoConfiguration
@Configuration
//部署开发异常处理在线文档:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/wikis
//开发文档:https://gitee.com/JeeHuangBingGui/jeeSpringCloud/attach_files (JeeSpringCloud中级培训文档.docx)
public
class
JeeSpringDriver
{
@Value
(
"${http.port}"
)
private
Integer
port
;
public
static
void
main
(
String
[]
args
)
{
//Spring boot run
new
SpringApplicationBuilder
(
JeeSpringDriver
.
class
).
web
(
true
).
run
(
args
);
SystemService
.
printKeyLoadMessage
();
//IM WebSocker
WebSockertFilter
w
=
new
WebSockertFilter
();
w
.
startWebsocketChatServer
();
JeeSpringRunPrint
.
runPrint
();
}
@Bean
public
EmbeddedServletContainerFactory
servletContainer
()
{
TomcatEmbeddedServletContainerFactory
tomcat
=
new
TomcatEmbeddedServletContainerFactory
();
// 添加http
tomcat
.
addAdditionalTomcatConnectors
(
createStandardConnector
());
return
tomcat
;
}
/**
* 配置http
* @return Connector
*/
private
Connector
createStandardConnector
()
{
Connector
connector
=
new
Connector
(
"org.apache.coyote.http11.Http11NioProtocol"
);
connector
.
setPort
(
port
);
return
connector
;
}
}
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/JeeSpringRunPrint.java
0 → 100644
View file @
44ab1569
package
com
;
public
class
JeeSpringRunPrint
{
public
static
void
runPrint
(){
printGods
();
printAnimalsGods
();
printLadyGods
();
printPoetries
();
}
private
static
void
printGods
()
{
System
.
out
.
println
(
"--------------- 佛祖保佑 神兽护体 女神助攻 流量冲天 ---------------\n"
+
" _ooOoo_ \n"
+
" o8888888o \n"
+
" 88\" . \"88 \n"
+
" (| ^_^ |) \n"
+
" O\\ = /O \n"
+
" ____/`---'\\____ \n"
+
" .' \\\\| |// `. \n"
+
" / \\||| : |||// \\ \n"
+
" / _||||| -:- |||||- \\ \n"
+
" | | \\\\\\ - /// | | \n"
+
" | \\_| ''\\---/'' | | \n"
+
" \\ .-\\__ `-` ___/-. / \n"
+
" ___`. .' /--.--\\ `. . ___ \n"
+
" .\"\" '< `.___\\_<|>_/___.' >'\"\". \n"
+
" | | : `- \\`.;`\\ _ /`;.`/ - ` : | | \n"
+
" \\ \\ `-. \\_ __\\ /__ _/ .-` / / \n"
+
" ========`-.____`-.___\\_____/___.-`____.-'======== \n"
+
" `=---=' \n"
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ \n"
+
" 佛祖保佑 永不宕机 永无BUG 流量冲天 \n"
+
""
);
}
private
static
void
printAnimalsGods
(){
System
.
out
.
println
(
"\n"
+
" ┏┓ ┏┓+ + \n"
+
" ┏┛┻━━━━━━━┛┻┓ + + \n"
+
" ┃ ┃ \n"
+
" ┃ ━ ┃ ++ + + + \n"
+
" █████━█████ ┃+ \n"
+
" ┃ ┃ + \n"
+
" ┃ ┻ ┃ \n"
+
" ┃ ┃ + + \n"
+
" ┗━━┓ ┏━━━━┛ \n"
+
" ┃ ┃ \n"
+
" ┃ ┃ + + + + \n"
+
" ┃ ┃ \n"
+
" ┃ ┃ + 神兽护体,流量冲天 \n"
+
" ┃ ┃ 永不宕机,代码无bug \n"
+
" ┃ ┃ + \n"
+
" ┃ ┗━━━━━┓ + + \n"
+
" ┃ ┣┓ \n"
+
" ┃ ┏┛ \n"
+
" ┗┓┓┏━━━┳┓┏┛ + + + + \n"
+
" ┃┫┫ ┃┫┫ \n"
+
" ┗┻┛ ┗┻┛+ + + + \n"
+
""
);
System
.
out
.
println
(
"\n"
+
" ┏┓ ┏┓ \n"
+
" ┏┛┻━━━━━━┛┻┓ \n"
+
" ┃ ┃ \n"
+
" ┃ ━ ┃ \n"
+
" ┃ ┳┛ ┗┳ ┃ \n"
+
" ┃ ┃ \n"
+
" ┃ ┻ ┃ \n"
+
" ┃ ┃ \n"
+
" ┗━┓ ┏━━━┛ \n"
+
" ┃ ┃ 神兽护体 流量冲天 \n"
+
" ┃ ┃ 永不宕机 代码无BUG! \n"
+
" ┃ ┗━━━━━━━━━┓ \n"
+
" ┃ ┣┓ \n"
+
" ┃ ┏┛ \n"
+
" ┗━┓ ┓ ┏━━━┳ ┓ ┏━┛ \n"
+
" ┃ ┫ ┫ ┃ ┫ ┫ \n"
+
" ┗━┻━┛ ┗━┻━┛ \n"
+
""
);
}
private
static
void
printLadyGods
(){
System
.
out
.
println
(
"\n"
+
" .::::. \n"
+
" .::::::::. \n"
+
" ::::::::::: \n"
+
" ..:::::::::::' \n"
+
" '::::::::::::' \n"
+
" .:::::::::: \n"
+
" '::::::::::::::.. 女神助攻,流量冲天 \n"
+
" ..::::::::::::. 永不宕机,代码无bug \n"
+
" ``:::::::::::::::: \n"
+
" ::::``:::::::::' .:::. \n"
+
" ::::' ':::::' .::::::::. \n"
+
" .::::' :::: .:::::::'::::. \n"
+
" .:::' ::::: .:::::::::' ':::::. \n"
+
" .::' :::::.:::::::::' ':::::. \n"
+
" .::' ::::::::::::::' ``::::. \n"
+
" ...::: ::::::::::::' ``::. \n"
+
" ```` ':. ':::::::::' ::::.. \n"
+
" '.:::::' ':'````.. \n"
+
""
);
}
private
static
void
printPoetries
()
{
System
.
out
.
println
(
"\n"
+
" 唐伯虎:\n"
+
" 桃花庵歌 \n"
+
" 桃花坞里桃花庵,桃花庵下桃花仙; \n"
+
" 桃花仙人种桃树,又摘桃花卖酒钱。 \n"
+
" 酒醒只在花前坐,酒醉还来花下眠; \n"
+
" 半醒半醉日复日,花落花开年复年。 \n"
+
" 但愿老死花酒间,不愿鞠躬车马前; \n"
+
" 车尘马足富者趣,酒盏花枝贫者缘。 \n"
+
" 若将富贵比贫贱,一在平地一在天; \n"
+
" 若将贫贱比车马,他得驱驰我得闲。 \n"
+
" 别人笑我太疯癫,我笑他人看不穿; \n"
+
" 不见五陵豪杰墓,无花无酒锄作田。 \n"
+
""
);
System
.
out
.
println
(
"\n"
+
" 曹操:\n"
+
" 短歌行 \n"
+
" 对酒当歌,人生几何?譬如朝露,去日苦多。 \n"
+
" 概当以慷,忧思难忘。何以解忧?唯有杜康。 \n"
+
" 青青子衿,悠悠我心。但为君故,沈吟至今。 \n"
+
" 呦呦鹿鸣,食野之苹。我有嘉宾,鼓瑟吹笙。 \n"
+
" 明明如月,何时可掇?忧从中来,不可断绝。 \n"
+
" 越陌度阡,枉用相存。契阔谈咽,心念旧恩。 \n"
+
" 月明星稀,乌鹊南飞。绕树三匝,何枝可依。 \n"
+
" 山不厌高,海不厌深,周公吐哺,天下归心。 \n"
+
""
);
System
.
out
.
println
(
"\n"
+
" 关羽: \n"
+
" 咏关公 \n"
+
" 桃园结义薄云天,偃月青龙刀刃寒。 \n"
+
" 一骑绝尘走千里,五关斩将震坤乾。 \n"
+
" 忠心报国为梁栋,肝胆护兄铸铁肩。 \n"
+
" 一去麦城无复返,英魂庙里化青烟。 \n"
+
""
);
System
.
out
.
println
(
"\n"
+
" 程序员: \n"
+
" 程序开发行 \n"
+
" 写字楼里写字间,写字间里程序员; \n"
+
" 程序人员做开发,又拿程序换活钱。 \n"
+
" 上班只在网上坐,下班还来网下眠; \n"
+
" 奔驰宝马贵者趣,公交自行程序员。 \n"
+
" 不见满街漂亮妹,哪个归得程序员; \n"
+
" 别人笑我忒疯癫,我笑他人看不穿。 \n"
+
" 年复一年代码圈,精益求精产品圈; \n"
+
" 至情之人同成长,缔造和谐至情间。 \n"
+
" 千锤百炼飞冲天,辉煌有为戏人间; \n"
+
" 谈笑风生社会圈,享天福天下归心。 \n"
+
" JeeSpring官方QQ群:328910546 \n"
+
" JeeSpring官方QQ群(VIP):558699173 \n"
+
" JeeSpring官方架构群:464865153 \n"
+
" JeeSpring是官方分布式微服务集群开源框架,使用前端HTML或后端模板引擎+mvvm+spring mvc+spring boot+spring cloud、mybatis、alibaba dubbo 分布式、\n"
+
" 微服务、集群、工作流、代码生成(前端界面、底层代码、dubbo、微服务的生成)等核心技术。\n"
+
" 开源中国 https://gitee.com/JeeHuangBingGui/jeeSpringCloud\n"
+
""
);
}
}
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/JeeSpringServlet.java
0 → 100644
View file @
44ab1569
/**
* Copyright © 2012-2016 <a href="https://gitee.com/JeeHuangBingGui/JeeSpring">JeeSpring</a> All rights reserved.
*/
package
com
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.boot.web.support.SpringBootServletInitializer
;
/**
* Web程序启动类
*
* @author 黄炳桂 516821420@qq.com
* @date 2017-05-21 9:43
*/
public
class
JeeSpringServlet
extends
SpringBootServletInitializer
{
@Override
protected
SpringApplicationBuilder
configure
(
SpringApplicationBuilder
builder
)
{
return
builder
.
sources
(
JeeSpringDriver
.
class
);
}
}
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/company/project/modules/ylttrip/dao/TfTicketDao.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.company.project.modules.ylttrip.dao
;
import
com.jeespring.common.persistence.InterfaceBaseDao
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.company.project.modules.ylttrip.entity.TfTicket
;
/**
* 订单DAO接口
* @author JeeSpring
* @version 2018-11-07
*/
@Mapper
public
interface
TfTicketDao
extends
InterfaceBaseDao
<
TfTicket
>
{
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/company/project/modules/ylttrip/entity/TfTicket.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.company.project.modules.ylttrip.entity
;
import
org.hibernate.validator.constraints.Length
;
import
com.jeespring.modules.sys.entity.User
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.jeespring.common.persistence.AbstractBaseEntity
;
import
com.jeespring.common.utils.excel.annotation.ExcelField
;
import
com.jeespring.modules.sys.utils.DictUtils
;
/**
* 订单Entity
* @author JeeSpring
* @version 2018-11-07
*/
public
class
TfTicket
extends
AbstractBaseEntity
<
TfTicket
>
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
ticketNo
;
// 订单编号
private
String
goodsNo
;
// 商品编号
private
String
goodsItemId
;
// 种类编号
private
String
goodsItemName
;
// 种类名称
private
Long
goodsNum
;
// 商品数量
private
Double
sumGoodsNum
;
// sum商品数量
private
Double
price
;
// 商品单价
private
Double
sumPrice
;
// sum商品单价
private
Double
salePrice
;
// 订单金额
private
Double
sumSalePrice
;
// sum订单金额
private
com
.
jeespring
.
modules
.
sys
.
entity
.
User
user
;
// 下单人
private
java
.
util
.
Date
orderDate
;
// 下单时间
private
String
state
;
// 订单状态
private
String
stateLabel
;
// 订单状态Label
private
String
statePicture
;
// 订单状态Picture
private
java
.
util
.
Date
stateDate
;
// 状态时间
private
String
custName
;
// 客户姓名
private
String
linkPhone
;
// 联系电话
private
String
address
;
// 收货地址
private
Long
payType
;
// 付款方式
private
String
payTypeLabel
;
// 付款方式Label
private
String
payTypePicture
;
// 付款方式Picture
private
String
logistId
;
// 物流编号
private
String
logistComp
;
// 物流公司
private
String
checkinCode
;
// 入园号
private
String
reserveId
;
// 票务系统订单号
private
String
remark
;
// 订单备注
private
java
.
util
.
Date
beginOrderDate
;
// 开始 下单时间
private
java
.
util
.
Date
endOrderDate
;
// 结束 下单时间
private
java
.
util
.
Date
beginStateDate
;
// 开始 状态时间
private
java
.
util
.
Date
endStateDate
;
// 结束 状态时间
public
TfTicket
()
{
super
();
}
public
TfTicket
(
String
id
){
super
(
id
);
}
@Length
(
min
=
1
,
max
=
25
,
message
=
"订单编号长度必须介于 1 和 25 之间"
)
@ExcelField
(
title
=
"订单编号"
,
align
=
2
,
sort
=
1
)
public
String
getTicketNo
()
{
return
ticketNo
;
}
public
void
setTicketNo
(
String
ticketNo
)
{
this
.
ticketNo
=
ticketNo
;
}
@Length
(
min
=
0
,
max
=
25
,
message
=
"商品编号长度必须介于 0 和 25 之间"
)
@ExcelField
(
title
=
"商品编号"
,
align
=
2
,
sort
=
2
)
public
String
getGoodsNo
()
{
return
goodsNo
;
}
public
void
setGoodsNo
(
String
goodsNo
)
{
this
.
goodsNo
=
goodsNo
;
}
@Length
(
min
=
0
,
max
=
255
,
message
=
"种类编号长度必须介于 0 和 255 之间"
)
@ExcelField
(
title
=
"种类编号"
,
align
=
2
,
sort
=
3
)
public
String
getGoodsItemId
()
{
return
goodsItemId
;
}
public
void
setGoodsItemId
(
String
goodsItemId
)
{
this
.
goodsItemId
=
goodsItemId
;
}
@Length
(
min
=
0
,
max
=
255
,
message
=
"种类名称长度必须介于 0 和 255 之间"
)
@ExcelField
(
title
=
"种类名称"
,
align
=
2
,
sort
=
4
)
public
String
getGoodsItemName
()
{
return
goodsItemName
;
}
public
void
setGoodsItemName
(
String
goodsItemName
)
{
this
.
goodsItemName
=
goodsItemName
;
}
@ExcelField
(
title
=
"商品数量"
,
align
=
2
,
sort
=
5
)
public
Long
getGoodsNum
()
{
return
goodsNum
;
}
public
void
setGoodsNum
(
Long
goodsNum
)
{
this
.
goodsNum
=
goodsNum
;
}
public
Double
getSumGoodsNum
()
{
return
sumGoodsNum
;
}
public
void
setSumGoodsNum
(
Double
goodsNum
)
{
this
.
sumGoodsNum
=
goodsNum
;
}
@ExcelField
(
title
=
"商品单价"
,
align
=
2
,
sort
=
6
)
public
Double
getPrice
()
{
return
price
;
}
public
void
setPrice
(
Double
price
)
{
this
.
price
=
price
;
}
public
Double
getSumPrice
()
{
return
sumPrice
;
}
public
void
setSumPrice
(
Double
price
)
{
this
.
sumPrice
=
price
;
}
@ExcelField
(
title
=
"订单金额"
,
align
=
2
,
sort
=
7
)
public
Double
getSalePrice
()
{
return
salePrice
;
}
public
void
setSalePrice
(
Double
salePrice
)
{
this
.
salePrice
=
salePrice
;
}
public
Double
getSumSalePrice
()
{
return
sumSalePrice
;
}
public
void
setSumSalePrice
(
Double
salePrice
)
{
this
.
sumSalePrice
=
salePrice
;
}
@ExcelField
(
title
=
"下单人"
,
fieldType
=
User
.
class
,
value
=
"user.name"
,
align
=
2
,
sort
=
8
)
public
User
getUser
()
{
return
user
;
}
public
void
setUser
(
User
user
)
{
this
.
user
=
user
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ExcelField
(
title
=
"下单时间"
,
align
=
2
,
sort
=
9
)
public
Date
getOrderDate
()
{
return
orderDate
;
}
public
void
setOrderDate
(
Date
orderDate
)
{
this
.
orderDate
=
orderDate
;
}
@Length
(
min
=
0
,
max
=
2
,
message
=
"订单状态长度必须介于 0 和 2 之间"
)
@ExcelField
(
title
=
"订单状态"
,
dictType
=
"STATE"
,
align
=
2
,
sort
=
10
)
public
String
getState
()
{
return
state
;
}
public
void
setState
(
String
state
)
{
this
.
state
=
state
;
}
public
String
getStateLabel
()
{
return
DictUtils
.
getDictLabel
(
state
,
"STATE"
,
""
);
}
public
String
getStatePicture
()
{
return
DictUtils
.
getDictPicture
(
state
,
"STATE"
,
""
);
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@ExcelField
(
title
=
"状态时间"
,
align
=
2
,
sort
=
11
)
public
Date
getStateDate
()
{
return
stateDate
;
}
public
void
setStateDate
(
Date
stateDate
)
{
this
.
stateDate
=
stateDate
;
}
@Length
(
min
=
0
,
max
=
50
,
message
=
"客户姓名长度必须介于 0 和 50 之间"
)
@ExcelField
(
title
=
"客户姓名"
,
align
=
2
,
sort
=
12
)
public
String
getCustName
()
{
return
custName
;
}
public
void
setCustName
(
String
custName
)
{
this
.
custName
=
custName
;
}
@Length
(
min
=
0
,
max
=
50
,
message
=
"联系电话长度必须介于 0 和 50 之间"
)
@ExcelField
(
title
=
"联系电话"
,
align
=
2
,
sort
=
13
)
public
String
getLinkPhone
()
{
return
linkPhone
;
}
public
void
setLinkPhone
(
String
linkPhone
)
{
this
.
linkPhone
=
linkPhone
;
}
@Length
(
min
=
0
,
max
=
500
,
message
=
"收货地址长度必须介于 0 和 500 之间"
)
@ExcelField
(
title
=
"收货地址"
,
align
=
2
,
sort
=
14
)
public
String
getAddress
()
{
return
address
;
}
public
void
setAddress
(
String
address
)
{
this
.
address
=
address
;
}
@ExcelField
(
title
=
"付款方式"
,
dictType
=
"PAY_TYPE"
,
align
=
2
,
sort
=
15
)
public
Long
getPayType
()
{
return
payType
;
}
public
void
setPayType
(
Long
payType
)
{
this
.
payType
=
payType
;
}
public
String
getPayTypeLabel
()
{
return
DictUtils
.
getDictLabel
(
payType
,
"PAY_TYPE"
,
""
);
}
public
String
getPayTypePicture
()
{
return
DictUtils
.
getDictPicture
(
payType
,
"PAY_TYPE"
,
""
);
}
@Length
(
min
=
0
,
max
=
25
,
message
=
"物流编号长度必须介于 0 和 25 之间"
)
@ExcelField
(
title
=
"物流编号"
,
align
=
2
,
sort
=
16
)
public
String
getLogistId
()
{
return
logistId
;
}
public
void
setLogistId
(
String
logistId
)
{
this
.
logistId
=
logistId
;
}
@Length
(
min
=
0
,
max
=
200
,
message
=
"物流公司长度必须介于 0 和 200 之间"
)
@ExcelField
(
title
=
"物流公司"
,
align
=
2
,
sort
=
17
)
public
String
getLogistComp
()
{
return
logistComp
;
}
public
void
setLogistComp
(
String
logistComp
)
{
this
.
logistComp
=
logistComp
;
}
@Length
(
min
=
0
,
max
=
255
,
message
=
"入园号长度必须介于 0 和 255 之间"
)
@ExcelField
(
title
=
"入园号"
,
align
=
2
,
sort
=
18
)
public
String
getCheckinCode
()
{
return
checkinCode
;
}
public
void
setCheckinCode
(
String
checkinCode
)
{
this
.
checkinCode
=
checkinCode
;
}
@Length
(
min
=
0
,
max
=
30
,
message
=
"票务系统订单号长度必须介于 0 和 30 之间"
)
@ExcelField
(
title
=
"票务系统订单号"
,
align
=
2
,
sort
=
20
)
public
String
getReserveId
()
{
return
reserveId
;
}
public
void
setReserveId
(
String
reserveId
)
{
this
.
reserveId
=
reserveId
;
}
@Length
(
min
=
0
,
max
=
500
,
message
=
"订单备注长度必须介于 0 和 500 之间"
)
@ExcelField
(
title
=
"订单备注"
,
align
=
2
,
sort
=
21
)
public
String
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
Date
getBeginOrderDate
()
{
return
beginOrderDate
;
}
public
void
setBeginOrderDate
(
Date
beginOrderDate
)
{
this
.
beginOrderDate
=
beginOrderDate
;
}
public
Date
getEndOrderDate
()
{
return
endOrderDate
;
}
public
void
setEndOrderDate
(
Date
endOrderDate
)
{
this
.
endOrderDate
=
endOrderDate
;
}
public
Date
getBeginStateDate
()
{
return
beginStateDate
;
}
public
void
setBeginStateDate
(
Date
beginStateDate
)
{
this
.
beginStateDate
=
beginStateDate
;
}
public
Date
getEndStateDate
()
{
return
endStateDate
;
}
public
void
setEndStateDate
(
Date
endStateDate
)
{
this
.
endStateDate
=
endStateDate
;
}
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/company/project/modules/ylttrip/rest/TfTicketRestController.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.company.project.modules.ylttrip.rest
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.shiro.authz.annotation.Logical
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
com.google.common.collect.Lists
;
import
com.jeespring.common.utils.DateUtils
;
import
com.jeespring.common.config.Global
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.utils.excel.ExportExcel
;
import
com.jeespring.common.utils.excel.ImportExcel
;
import
com.company.project.modules.ylttrip.entity.TfTicket
;
import
com.company.project.modules.ylttrip.service.ITfTicketService
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.jeespring.common.web.Result
;
import
com.jeespring.common.web.ResultFactory
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
/**
* 订单Controller
* @author JeeSpring
* @version 2018-11-07
*/
@RestController
@RequestMapping
(
value
=
"/rest/ylttrip/tfTicket"
)
@Api
(
value
=
"订单接口"
,
description
=
"订单接口"
)
public
class
TfTicketRestController
extends
AbstractBaseController
{
//调用dubbo服务器是,要去Reference注解,注解Autowired
//@Reference(version = "1.0.0")
@Autowired
private
ITfTicketService
tfTicketService
;
/**
* 订单信息
*/
@RequestMapping
(
value
=
{
"get"
},
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"订单信息(Content-Type为text/html)"
,
notes
=
"订单信息(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"订单id"
,
required
=
false
,
dataType
=
"String"
,
paramType
=
"query"
)
public
Result
getRequestParam
(
@RequestParam
(
required
=
false
)
String
id
)
{
return
get
(
id
);
}
@RequestMapping
(
value
=
{
"get/json"
},
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"订单信息(Content-Type为application/json)"
,
notes
=
"订单信息(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"订单id"
,
required
=
false
,
dataType
=
"String"
,
paramType
=
"body"
)
public
Result
getRequestBody
(
@RequestBody
(
required
=
false
)
String
id
)
{
return
get
(
id
);
}
private
Result
get
(
String
id
)
{
TfTicket
entity
=
null
;
if
(
StringUtils
.
isNotBlank
(
id
)){
entity
=
tfTicketService
.
getCache
(
id
);
//entity = tfTicketService.get(id);
}
if
(
entity
==
null
){
entity
=
new
TfTicket
();
}
Result
result
=
ResultFactory
.
getSuccessResult
();
result
.
setResultObject
(
entity
);
return
result
;
}
/**
* 订单列表(不包含页信息)
*/
//RequiresPermissions("ylttrip:tfTicket:findList")
@RequestMapping
(
value
=
{
"findList"
},
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"订单列表(不包含页信息)(Content-Type为text/html)"
,
notes
=
"订单列表(不包含页信息)(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"query"
)
public
Result
findListRequestParam
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
return
findList
(
tfTicket
,
model
);
}
@RequestMapping
(
value
=
{
"findList/json"
},
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"订单列表(不包含页信息)(Content-Type为application/json)"
,
notes
=
"订单列表(不包含页信息)(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"body"
)
public
Result
findListRequestBody
(
@RequestBody
TfTicket
tfTicket
,
Model
model
)
{
return
findList
(
tfTicket
,
model
);
}
private
Result
findList
(
TfTicket
tfTicket
,
Model
model
)
{
List
<
TfTicket
>
list
=
tfTicketService
.
findListCache
(
tfTicket
);
//List<TfTicket> list = tfTicketService.findList(tfTicket);
Result
result
=
ResultFactory
.
getSuccessResult
();
result
.
setResultObject
(
list
);
return
result
;
}
/**
* 订单列表(包含页信息)
*/
//RequiresPermissions("ylttrip:tfTicket:list")
@RequestMapping
(
value
=
{
"list"
},
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"订单列表(包含页信息)(Content-Type为text/html)"
,
notes
=
"订单列表(包含页信息)(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"query"
)
public
Result
listRequestParam
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
return
list
(
tfTicket
,
model
);
}
@RequestMapping
(
value
=
{
"list/json"
},
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"订单列表(包含页信息)(Content-Type为application/json)"
,
notes
=
"订单列表(包含页信息)(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"body"
)
public
Result
listRequestBody
(
@RequestBody
TfTicket
tfTicket
,
Model
model
)
{
return
list
(
tfTicket
,
model
);
}
private
Result
list
(
TfTicket
tfTicket
,
Model
model
)
{
Page
<
TfTicket
>
page
=
tfTicketService
.
findPageCache
(
new
Page
<
TfTicket
>(
tfTicket
.
getPageNo
(),
tfTicket
.
getPageSize
(),
tfTicket
.
getOrderBy
()),
tfTicket
);
//Page<TfTicket> page = tfTicketService.findPage(new Page<TfTicket>(tfTicket.getPageNo(),tfTicket.getPageSize(),tfTicket.getOrderBy()), tfTicket);
Result
result
=
ResultFactory
.
getSuccessResult
();
result
.
setResultObject
(
page
);
return
result
;
}
/**
* 订单获取列表第一条记录
*/
//RequiresPermissions("ylttrip:tfTicket:listFrist")
@RequestMapping
(
value
=
{
"listFrist"
},
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"订单获取列表第一条记录(Content-Type为text/html)"
,
notes
=
"订单获取列表第一条记录(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"query"
)
public
Result
listFristRequestParam
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
return
listFrist
(
tfTicket
,
model
);
}
@RequestMapping
(
value
=
{
"listFrist/json"
},
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"订单获取列表第一条记录(Content-Type为application/json)"
,
notes
=
"订单获取列表第一条记录(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"body"
)
public
Result
listFristRequestBody
(
@RequestBody
TfTicket
tfTicket
,
Model
model
)
{
return
listFrist
(
tfTicket
,
model
);
}
private
Result
listFrist
(
TfTicket
tfTicket
,
Model
model
)
{
Page
<
TfTicket
>
page
=
tfTicketService
.
findPageCache
(
new
Page
<
TfTicket
>(
tfTicket
.
getPageNo
(),
tfTicket
.
getPageSize
(),
tfTicket
.
getOrderBy
()),
tfTicket
);
//Page<TfTicket> page = tfTicketService.findPage(new Page<TfTicket>(tfTicket.getPageNo(),tfTicket.getPageSize(),tfTicket.getOrderBy()), tfTicket);
Result
result
=
ResultFactory
.
getSuccessResult
();
if
(
page
.
getList
().
size
()>
0
){
result
.
setResultObject
(
page
.
getList
().
get
(
0
));
}
else
{
result
=
ResultFactory
.
getErrorResult
(
"没有记录!"
);
}
return
result
;
}
/**
* 保存订单
*/
//RequiresPermissions(value={"ylttrip:tfTicket:add","ylttrip:tfTicket:edit"},logical=Logical.OR)
@RequestMapping
(
value
=
"save"
,
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"保存订单(Content-Type为text/html)"
,
notes
=
"保存订单(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"query"
)
public
Result
saveRequestParam
(
TfTicket
tfTicket
,
Model
model
,
RedirectAttributes
redirectAttributes
)
{
return
save
(
tfTicket
,
model
,
redirectAttributes
);
}
@RequestMapping
(
value
=
"save/json"
,
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"保存订单(Content-Type为application/json)"
,
notes
=
"保存订单(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"body"
)
public
Result
saveRequestBody
(
@RequestBody
TfTicket
tfTicket
,
Model
model
,
RedirectAttributes
redirectAttributes
)
{
return
save
(
tfTicket
,
model
,
redirectAttributes
);
}
private
Result
save
(
TfTicket
tfTicket
,
Model
model
,
RedirectAttributes
redirectAttributes
)
{
if
(!
beanValidator
(
model
,
tfTicket
)){
Result
result
=
ResultFactory
.
getErrorResult
(
"数据验证失败"
);
}
tfTicketService
.
save
(
tfTicket
);
Result
result
=
ResultFactory
.
getSuccessResult
(
"保存订单成功"
);
return
result
;
}
/**
* 删除订单
*/
//RequiresPermissions("ylttrip:tfTicket:del")
@RequestMapping
(
value
=
"delete"
,
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"删除订单(Content-Type为text/html)"
,
notes
=
"删除订单(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"query"
)
public
Result
deleteRequestParam
(
TfTicket
tfTicket
,
RedirectAttributes
redirectAttributes
)
{
return
delete
(
tfTicket
,
redirectAttributes
);
}
@RequestMapping
(
value
=
"delete/json"
,
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"删除订单(Content-Type为application/json)"
,
notes
=
"删除订单(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"body"
)
public
Result
deleteRequestBody
(
@RequestBody
TfTicket
tfTicket
,
RedirectAttributes
redirectAttributes
)
{
return
delete
(
tfTicket
,
redirectAttributes
);
}
private
Result
delete
(
TfTicket
tfTicket
,
RedirectAttributes
redirectAttributes
)
{
tfTicketService
.
delete
(
tfTicket
);
Result
result
=
ResultFactory
.
getSuccessResult
(
"删除订单成功"
);
return
result
;
}
/**
* 删除订单(逻辑删除,更新del_flag字段为1,在表包含字段del_flag时,可以调用此方法,将数据隐藏)
*/
@RequestMapping
(
value
=
"deleteByLogic"
,
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"逻辑删除订单(Content-Type为text/html)"
,
notes
=
"逻辑删除订单(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"query"
)
public
Result
deleteByLogicRequestParam
(
TfTicket
tfTicket
,
RedirectAttributes
redirectAttributes
)
{
return
deleteByLogic
(
tfTicket
,
redirectAttributes
);
}
/**
* 删除订单(逻辑删除,更新del_flag字段为1,在表包含字段del_flag时,可以调用此方法,将数据隐藏)
*/
@RequestMapping
(
value
=
"deleteByLogic/json"
,
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"逻辑删除订单(Content-Type为application/json)"
,
notes
=
"逻辑删除订单(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"tfTicket"
,
value
=
"订单"
,
dataType
=
"TfTicket"
,
paramType
=
"body"
)
public
Result
deleteByLogicRequestBody
(
@RequestBody
TfTicket
tfTicket
,
RedirectAttributes
redirectAttributes
)
{
return
deleteByLogic
(
tfTicket
,
redirectAttributes
);
}
private
Result
deleteByLogic
(
TfTicket
tfTicket
,
RedirectAttributes
redirectAttributes
)
{
tfTicketService
.
deleteByLogic
(
tfTicket
);
Result
result
=
ResultFactory
.
getSuccessResult
(
"删除订单成功"
);
return
result
;
}
/**
* 批量删除订单
*/
//RequiresPermissions("ylttrip:tfTicket:del")
@RequestMapping
(
value
=
"deleteAll"
,
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"批量删除订单(Content-Type为text/html)"
,
notes
=
"批量删除订单(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"订单ids,用,隔开"
,
required
=
false
,
dataType
=
"String"
,
paramType
=
"query"
)
public
Result
deleteAllRequestParam
(
String
ids
,
RedirectAttributes
redirectAttributes
)
{
return
deleteAll
(
ids
,
redirectAttributes
);
}
@RequestMapping
(
value
=
"deleteAll/json"
,
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"批量删除订单(Content-Type为application/json)"
,
notes
=
"批量删除订单(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"订单ids,用,隔开"
,
required
=
false
,
dataType
=
"String"
,
paramType
=
"body"
)
public
Result
deleteAllRequestBody
(
@RequestBody
String
ids
,
RedirectAttributes
redirectAttributes
)
{
return
deleteAll
(
ids
,
redirectAttributes
);
}
private
Result
deleteAll
(
String
ids
,
RedirectAttributes
redirectAttributes
)
{
String
idArray
[]
=
ids
.
split
(
","
);
for
(
String
id
:
idArray
){
tfTicketService
.
delete
(
tfTicketService
.
get
(
id
));
}
Result
result
=
ResultFactory
.
getSuccessResult
(
"删除订单成功"
);
return
result
;
}
/**
* 批量删除订单(逻辑删除,更新del_flag字段为1,在表包含字段del_flag时,可以调用此方法,将数据隐藏)
*/
@RequestMapping
(
value
=
"deleteAllByLogic"
,
method
={
RequestMethod
.
POST
,
RequestMethod
.
GET
})
@ApiOperation
(
value
=
"逻辑批量删除订单(Content-Type为text/html)"
,
notes
=
"逻辑批量删除订单(Content-Type为text/html)"
)
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"订单ids,用,隔开"
,
required
=
false
,
dataType
=
"String"
,
paramType
=
"query"
)
public
Result
deleteAllByLogicRequestParam
(
String
ids
,
RedirectAttributes
redirectAttributes
)
{
return
deleteAllByLogic
(
ids
,
redirectAttributes
);
}
/**
* 批量删除订单(逻辑删除,更新del_flag字段为1,在表包含字段del_flag时,可以调用此方法,将数据隐藏)
*/
@RequestMapping
(
value
=
"deleteAllByLogic/json"
,
method
={
RequestMethod
.
POST
})
@ApiOperation
(
value
=
"逻辑批量删除订单(Content-Type为application/json)"
,
notes
=
"逻辑批量删除订单(Content-Type为application/json)"
)
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"订单ids,用,隔开"
,
required
=
false
,
dataType
=
"String"
,
paramType
=
"body"
)
public
Result
deleteAllByLogicRequestBody
(
@RequestBody
String
ids
,
RedirectAttributes
redirectAttributes
)
{
return
deleteAllByLogic
(
ids
,
redirectAttributes
);
}
private
Result
deleteAllByLogic
(
String
ids
,
RedirectAttributes
redirectAttributes
)
{
String
idArray
[]
=
ids
.
split
(
","
);
for
(
String
id
:
idArray
){
tfTicketService
.
deleteByLogic
(
tfTicketService
.
get
(
id
));
}
Result
result
=
ResultFactory
.
getSuccessResult
(
"删除订单成功"
);
return
result
;
}
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/company/project/modules/ylttrip/service/ITfTicketService.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.company.project.modules.ylttrip.service
;
import
com.jeespring.common.persistence.InterfaceBaseService
;
import
com.jeespring.modules.server.entity.SysServer
;
import
com.company.project.modules.ylttrip.entity.TfTicket
;
/**
* I订单Service
* @author JeeSpring
* @version 2018-11-07
*/
public
interface
ITfTicketService
extends
InterfaceBaseService
<
TfTicket
>
{
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/company/project/modules/ylttrip/service/TfTicketService.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.company.project.modules.ylttrip.service
;
import
java.util.List
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.service.AbstractBaseService
;
import
com.company.project.modules.ylttrip.entity.TfTicket
;
import
com.company.project.modules.ylttrip.dao.TfTicketDao
;
import
com.company.project.modules.ylttrip.service.ITfTicketService
;
import
com.alibaba.fastjson.JSON
;
import
com.jeespring.common.redis.RedisUtils
;
import
com.jeespring.common.security.MD5Tools
;
//import com.alibaba.dubbo.config.annotation.Service;
import
com.jeespring.common.config.Global
;
/**
* 订单Service
* @author JeeSpring
* @version 2018-11-07
*/
//启用dubbo服务器时,要去掉下面注解
//com.alibaba.dubbo.config.annotation.Service(interfaceClass = ISysServerService.class,version = "1.0.0", timeout = 60000)
@org
.
springframework
.
stereotype
.
Service
@Transactional
(
readOnly
=
true
)
public
class
TfTicketService
extends
AbstractBaseService
<
TfTicketDao
,
TfTicket
>
implements
ITfTicketService
{
/**
* redis caches
*/
@Autowired
private
RedisUtils
redisUtils
;
public
TfTicket
get
(
String
id
)
{
//获取数据库数据
TfTicket
tfTicket
=
super
.
get
(
id
);
return
tfTicket
;
}
public
TfTicket
getCache
(
String
id
)
{
//获取缓存数据
TfTicket
tfTicket
=(
TfTicket
)
redisUtils
.
get
(
RedisUtils
.
getIdKey
(
TfTicketService
.
class
.
getName
(),
id
));
if
(
tfTicket
!=
null
)
return
tfTicket
;
//获取数据库数据
tfTicket
=
super
.
get
(
id
);
//设置缓存数据
redisUtils
.
set
(
RedisUtils
.
getIdKey
(
TfTicketService
.
class
.
getName
(),
id
),
tfTicket
);
return
tfTicket
;
}
public
List
<
TfTicket
>
total
(
TfTicket
tfTicket
)
{
//获取数据库数据
List
<
TfTicket
>
tfTicketList
=
super
.
total
(
tfTicket
);
return
tfTicketList
;
}
public
List
<
TfTicket
>
totalCache
(
TfTicket
tfTicket
)
{
//获取缓存数据
String
totalKey
=
RedisUtils
.
getTotalKey
(
TfTicketService
.
class
.
getName
(),
JSON
.
toJSONString
(
tfTicket
));
List
<
TfTicket
>
tfTicketList
=(
List
<
TfTicket
>)
redisUtils
.
get
(
totalKey
);
if
(
tfTicketList
!=
null
)
return
tfTicketList
;
//获取数据库数据
tfTicketList
=
super
.
total
(
tfTicket
);
//设置缓存数据
redisUtils
.
set
(
totalKey
,
tfTicketList
);
return
tfTicketList
;
}
public
List
<
TfTicket
>
findList
(
TfTicket
tfTicket
)
{
//获取数据库数据
List
<
TfTicket
>
tfTicketList
=
super
.
findList
(
tfTicket
);
//设置缓存数据
return
tfTicketList
;
}
public
List
<
TfTicket
>
findListCache
(
TfTicket
tfTicket
)
{
//获取缓存数据
String
findListKey
=
RedisUtils
.
getFindListKey
(
TfTicketService
.
class
.
getName
(),
JSON
.
toJSONString
(
tfTicket
));
List
<
TfTicket
>
tfTicketList
=(
List
<
TfTicket
>)
redisUtils
.
get
(
findListKey
);
if
(
tfTicketList
!=
null
)
return
tfTicketList
;
//获取数据库数据
tfTicketList
=
super
.
findList
(
tfTicket
);
//设置缓存数据
redisUtils
.
set
(
findListKey
,
tfTicketList
);
return
tfTicketList
;
}
public
TfTicket
findListFirst
(
TfTicket
tfTicket
)
{;
//获取数据库数据
List
<
TfTicket
>
tfTicketList
=
super
.
findList
(
tfTicket
);
if
(
tfTicketList
.
size
()>
0
)
tfTicket
=
tfTicketList
.
get
(
0
);
return
tfTicket
;
}
public
TfTicket
findListFirstCache
(
TfTicket
tfTicket
)
{
//获取缓存数据
String
findListFirstKey
=
RedisUtils
.
getFindListFirstKey
(
TfTicketService
.
class
.
getName
(),
JSON
.
toJSONString
(
tfTicket
));
TfTicket
tfTicketRedis
=(
TfTicket
)
redisUtils
.
get
(
findListFirstKey
);
if
(
tfTicketRedis
!=
null
)
return
tfTicketRedis
;
//获取数据库数据
List
<
TfTicket
>
tfTicketList
=
super
.
findList
(
tfTicket
);
if
(
tfTicketList
.
size
()>
0
)
tfTicket
=
tfTicketList
.
get
(
0
);
else
tfTicket
=
new
TfTicket
();
//设置缓存数据
redisUtils
.
set
(
findListFirstKey
,
tfTicket
);
return
tfTicket
;
}
public
Page
<
TfTicket
>
findPage
(
Page
<
TfTicket
>
page
,
TfTicket
tfTicket
)
{
//获取数据库数据
Page
<
TfTicket
>
pageReuslt
=
super
.
findPage
(
page
,
tfTicket
);
return
pageReuslt
;
}
public
Page
<
TfTicket
>
findPageCache
(
Page
<
TfTicket
>
page
,
TfTicket
tfTicket
)
{
//获取缓存数据
String
findPageKey
=
RedisUtils
.
getFindPageKey
(
TfTicketService
.
class
.
getName
(),
JSON
.
toJSONString
(
page
)+
JSON
.
toJSONString
(
tfTicket
));
Page
<
TfTicket
>
pageReuslt
=(
Page
<
TfTicket
>)
redisUtils
.
get
(
findPageKey
);
if
(
pageReuslt
!=
null
)
return
pageReuslt
;
//获取数据库数据
pageReuslt
=
super
.
findPage
(
page
,
tfTicket
);
//设置缓存数据
redisUtils
.
set
(
findPageKey
,
pageReuslt
);
return
pageReuslt
;
}
@Transactional
(
readOnly
=
false
)
public
void
save
(
TfTicket
tfTicket
)
{
//保存数据库记录
super
.
save
(
tfTicket
);
//设置清除缓存数据
redisUtils
.
remove
(
RedisUtils
.
getIdKey
(
TfTicketService
.
class
.
getName
(),
tfTicket
.
getId
()));
//清除列表和页面缓存数据
redisUtils
.
removePattern
(
RedisUtils
.
getFindListKeyPattern
(
TfTicketService
.
class
.
getName
()));
redisUtils
.
removePattern
(
RedisUtils
.
getFinPageKeyPattern
(
TfTicketService
.
class
.
getName
()));
}
@Transactional
(
readOnly
=
false
)
public
void
delete
(
TfTicket
tfTicket
)
{
//清除记录缓存数据
redisUtils
.
remove
(
RedisUtils
.
getIdKey
(
TfTicketService
.
class
.
getName
(),
tfTicket
.
getId
()));
//删除数据库记录
super
.
delete
(
tfTicket
);
//清除列表和页面缓存数据
redisUtils
.
removePattern
(
RedisUtils
.
getFindListKeyPattern
(
TfTicketService
.
class
.
getName
()));
redisUtils
.
removePattern
(
RedisUtils
.
getFinPageKeyPattern
(
TfTicketService
.
class
.
getName
()));
}
@Transactional
(
readOnly
=
false
)
public
void
deleteByLogic
(
TfTicket
tfTicket
)
{
//清除记录缓存数据
redisUtils
.
remove
(
RedisUtils
.
getIdKey
(
TfTicketService
.
class
.
getName
(),
tfTicket
.
getId
()));
//逻辑删除数据库记录
super
.
deleteByLogic
(
tfTicket
);
//清除列表和页面缓存数据
redisUtils
.
removePattern
(
RedisUtils
.
getFindListKeyPattern
(
TfTicketService
.
class
.
getName
()));
redisUtils
.
removePattern
(
RedisUtils
.
getFinPageKeyPattern
(
TfTicketService
.
class
.
getName
()));
}
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/company/project/modules/ylttrip/web/TfTicketController.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.company.project.modules.ylttrip.web
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.shiro.authz.annotation.Logical
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
com.google.common.collect.Lists
;
import
com.jeespring.common.utils.DateUtils
;
import
com.jeespring.common.config.Global
;
import
com.jeespring.common.persistence.Page
;
import
com.jeespring.common.web.AbstractBaseController
;
import
com.jeespring.common.utils.StringUtils
;
import
com.jeespring.common.utils.excel.ExportExcel
;
import
com.jeespring.common.utils.excel.ImportExcel
;
import
com.company.project.modules.ylttrip.entity.TfTicket
;
import
com.company.project.modules.ylttrip.service.TfTicketService
;
import
com.company.project.modules.ylttrip.service.ITfTicketService
;
import
com.alibaba.dubbo.config.annotation.Reference
;
/**
* 订单Controller
* @author JeeSpring
* @version 2018-11-07
*/
@Controller
@RequestMapping
(
value
=
"${adminPath}/ylttrip/tfTicket"
)
public
class
TfTicketController
extends
AbstractBaseController
{
//调用dubbo服务器是,要去Reference注解,注解Autowired
//@Reference(version = "1.0.0")
@Autowired
private
ITfTicketService
tfTicketService
;
@ModelAttribute
public
TfTicket
get
(
@RequestParam
(
required
=
false
)
String
id
)
{
TfTicket
entity
=
null
;
if
(
StringUtils
.
isNotBlank
(
id
)){
entity
=
tfTicketService
.
getCache
(
id
);
//entity = tfTicketService.get(id);
}
if
(
entity
==
null
){
entity
=
new
TfTicket
();
}
return
entity
;
}
/**
* 订单统计页面
*/
@RequiresPermissions
(
"ylttrip:tfTicket:total"
)
@RequestMapping
(
value
=
{
"total"
})
public
String
totalView
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
total
(
tfTicket
,
request
,
response
,
model
);
return
"modules/ylttrip/tfTicketTotal"
;
}
private
void
total
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
if
(
StringUtils
.
isEmpty
(
tfTicket
.
getTotalType
())){
tfTicket
.
setTotalType
(
"%Y-%m-%d"
);
}
//X轴的数据
List
<
String
>
xAxisData
=
new
ArrayList
<
String
>();
//Y轴的数据
Map
<
String
,
List
<
Double
>>
yAxisData
=
new
HashMap
<
String
,
List
<
Double
>>();
List
<
Double
>
countList
=
new
ArrayList
<
Double
>();
List
<
Double
>
sumList
=
new
ArrayList
<
Double
>();
List
<
Double
>
sumGoodsNumList
=
new
ArrayList
<
Double
>();
List
<
Double
>
sumPriceList
=
new
ArrayList
<
Double
>();
List
<
Double
>
sumSalePriceList
=
new
ArrayList
<
Double
>();
if
(
tfTicket
.
getOrderBy
()==
""
){
tfTicket
.
setOrderBy
(
"totalDate"
);
}
List
<
TfTicket
>
list
=
tfTicketService
.
totalCache
(
tfTicket
);
//List<TfTicket> list = tfTicketService.total(tfTicket);
model
.
addAttribute
(
"list"
,
list
);
for
(
TfTicket
tfTicketItem:
list
){
//x轴数据
xAxisData
.
add
(
tfTicketItem
.
getTotalDate
());
countList
.
add
(
Double
.
valueOf
(
tfTicketItem
.
getTotalCount
()));
if
(
tfTicketItem
.
getSumGoodsNum
()!=
null
)
sumGoodsNumList
.
add
(
Double
.
valueOf
(
tfTicketItem
.
getSumGoodsNum
()));
else
tfTicketItem
.
setSumGoodsNum
(
0
D
);
if
(
tfTicketItem
.
getSumPrice
()!=
null
)
sumPriceList
.
add
(
Double
.
valueOf
(
tfTicketItem
.
getSumPrice
()));
else
tfTicketItem
.
setSumPrice
(
0
D
);
if
(
tfTicketItem
.
getSumSalePrice
()!=
null
)
sumSalePriceList
.
add
(
Double
.
valueOf
(
tfTicketItem
.
getSumSalePrice
()));
else
tfTicketItem
.
setSumSalePrice
(
0
D
);
}
yAxisData
.
put
(
"数量"
,
countList
);
yAxisData
.
put
(
"商品数量"
,
sumGoodsNumList
);
yAxisData
.
put
(
"商品单价"
,
sumPriceList
);
yAxisData
.
put
(
"订单金额"
,
sumSalePriceList
);
request
.
setAttribute
(
"xAxisData"
,
xAxisData
);
request
.
setAttribute
(
"yAxisData"
,
yAxisData
);
model
.
addAttribute
(
"sumTotalCount"
,
list
.
stream
().
mapToInt
(
TfTicket:
:
getTotalCount
).
sum
());
model
.
addAttribute
(
"sumGoodsNum"
,
list
.
stream
().
mapToDouble
(
TfTicket:
:
getSumGoodsNum
).
sum
());
model
.
addAttribute
(
"sumPrice"
,
list
.
stream
().
mapToDouble
(
TfTicket:
:
getSumPrice
).
sum
());
model
.
addAttribute
(
"sumSalePrice"
,
list
.
stream
().
mapToDouble
(
TfTicket:
:
getSumSalePrice
).
sum
());
//饼图数据
Map
<
String
,
Object
>
orientData
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
orientDataSumGoodsNum
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
orientDataSumPrice
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
orientDataSumSalePrice
=
new
HashMap
<
String
,
Object
>();
for
(
TfTicket
tfTicketItem:
list
){
orientData
.
put
(
tfTicketItem
.
getTotalDate
(),
tfTicketItem
.
getTotalCount
());
orientDataSumGoodsNum
.
put
(
tfTicketItem
.
getTotalDate
(),
Double
.
valueOf
(
tfTicketItem
.
getSumGoodsNum
()));
orientDataSumPrice
.
put
(
tfTicketItem
.
getTotalDate
(),
Double
.
valueOf
(
tfTicketItem
.
getSumPrice
()));
orientDataSumSalePrice
.
put
(
tfTicketItem
.
getTotalDate
(),
Double
.
valueOf
(
tfTicketItem
.
getSumSalePrice
()));
}
model
.
addAttribute
(
"orientData"
,
orientData
);
model
.
addAttribute
(
"orientDataSumGoodsNum"
,
orientDataSumGoodsNum
);
model
.
addAttribute
(
"orientDataSumPrice"
,
orientDataSumPrice
);
model
.
addAttribute
(
"orientDataSumSalePrice"
,
orientDataSumSalePrice
);
}
@RequiresPermissions
(
"ylttrip:tfTicket:total"
)
@RequestMapping
(
value
=
{
"totalMap"
})
public
String
totalMap
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
if
(
StringUtils
.
isEmpty
(
tfTicket
.
getTotalType
())){
tfTicket
.
setTotalType
(
"%Y-%m-%d"
);
}
List
<
TfTicket
>
list
=
tfTicketService
.
totalCache
(
tfTicket
);
//List<TfTicket> list = tfTicketService.total(tfTicket);
model
.
addAttribute
(
"sumTotalCount"
,
list
.
stream
().
mapToInt
(
TfTicket:
:
getTotalCount
).
sum
());
model
.
addAttribute
(
"sumGoodsNum"
,
list
.
stream
().
mapToDouble
(
TfTicket:
:
getSumGoodsNum
).
sum
());
model
.
addAttribute
(
"sumPrice"
,
list
.
stream
().
mapToDouble
(
TfTicket:
:
getSumPrice
).
sum
());
model
.
addAttribute
(
"sumSalePrice"
,
list
.
stream
().
mapToDouble
(
TfTicket:
:
getSumSalePrice
).
sum
());
model
.
addAttribute
(
"list"
,
list
);
return
"modules/ylttrip/tfTicketTotalMap"
;
}
/**
* 订单列表页面
*/
@RequiresPermissions
(
"ylttrip:tfTicket:list"
)
@RequestMapping
(
value
=
{
"list"
,
""
})
public
String
list
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
Page
<
TfTicket
>
page
=
tfTicketService
.
findPageCache
(
new
Page
<
TfTicket
>(
request
,
response
),
tfTicket
);
//Page<TfTicket> page = tfTicketService.findPage(new Page<TfTicket>(request, response), tfTicket);
model
.
addAttribute
(
"page"
,
page
);
tfTicket
.
setOrderBy
(
"totalDate"
);
total
(
tfTicket
,
request
,
response
,
model
);
return
"modules/ylttrip/tfTicketList"
;
}
/**
* 订单列表页面
*/
@RequiresPermissions
(
"ylttrip:tfTicket:list"
)
@RequestMapping
(
value
=
{
"listVue"
})
public
String
listVue
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
Page
<
TfTicket
>
page
=
tfTicketService
.
findPageCache
(
new
Page
<
TfTicket
>(
request
,
response
),
tfTicket
);
//Page<TfTicket> page = tfTicketService.findPage(new Page<TfTicket>(request, response), tfTicket);
model
.
addAttribute
(
"page"
,
page
);
return
"modules/ylttrip/tfTicketListVue"
;
}
/**
* 订单列表页面
*/
//RequiresPermissions("ylttrip:tfTicket:select")
@RequestMapping
(
value
=
{
"select"
})
public
String
select
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
Model
model
)
{
Page
<
TfTicket
>
page
=
tfTicketService
.
findPageCache
(
new
Page
<
TfTicket
>(
request
,
response
),
tfTicket
);
//Page<TfTicket> page = tfTicketService.findPage(new Page<TfTicket>(request, response), tfTicket);
model
.
addAttribute
(
"page"
,
page
);
return
"modules/ylttrip/tfTicketSelect"
;
}
/**
* 查看,增加,编辑订单表单页面
*/
@RequiresPermissions
(
value
={
"ylttrip:tfTicket:view"
,
"ylttrip:tfTicket:add"
,
"ylttrip:tfTicket:edit"
},
logical
=
Logical
.
OR
)
@RequestMapping
(
value
=
"form"
)
public
String
form
(
TfTicket
tfTicket
,
Model
model
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
model
.
addAttribute
(
"action"
,
request
.
getParameter
(
"action"
));
model
.
addAttribute
(
"tfTicket"
,
tfTicket
);
if
(
request
.
getParameter
(
"ViewFormType"
)!=
null
&&
request
.
getParameter
(
"ViewFormType"
).
equals
(
"FormTwo"
))
return
"modules/ylttrip/tfTicketFormTwo"
;
return
"modules/ylttrip/tfTicketForm"
;
}
/**
* 保存订单
*/
@RequiresPermissions
(
value
={
"ylttrip:tfTicket:add"
,
"ylttrip:tfTicket:edit"
},
logical
=
Logical
.
OR
)
@RequestMapping
(
value
=
"save"
)
public
String
save
(
TfTicket
tfTicket
,
Model
model
,
RedirectAttributes
redirectAttributes
,
HttpServletRequest
request
,
HttpServletResponse
response
)
{
if
(!
beanValidator
(
model
,
tfTicket
)){
return
form
(
tfTicket
,
model
,
request
,
response
);
}
tfTicketService
.
save
(
tfTicket
);
addMessage
(
redirectAttributes
,
"保存订单成功"
);
return
"redirect:"
+
Global
.
getAdminPath
()+
"/ylttrip/tfTicket/?repage"
;
}
/**
* 删除订单
*/
@RequiresPermissions
(
"ylttrip:tfTicket:del"
)
@RequestMapping
(
value
=
"delete"
)
public
String
delete
(
TfTicket
tfTicket
,
RedirectAttributes
redirectAttributes
)
{
tfTicketService
.
delete
(
tfTicket
);
addMessage
(
redirectAttributes
,
"删除订单成功"
);
return
"redirect:"
+
Global
.
getAdminPath
()+
"/ylttrip/tfTicket/?repage"
;
}
/**
* 删除订单(逻辑删除,更新del_flag字段为1,在表包含字段del_flag时,可以调用此方法,将数据隐藏)
*/
@RequiresPermissions
(
value
={
"ylttrip:tfTicket:del"
,
"ylttrip:tfTicket:delByLogic"
},
logical
=
Logical
.
OR
)
@RequestMapping
(
value
=
"deleteByLogic"
)
public
String
deleteByLogic
(
TfTicket
tfTicket
,
RedirectAttributes
redirectAttributes
)
{
tfTicketService
.
deleteByLogic
(
tfTicket
);
addMessage
(
redirectAttributes
,
"逻辑删除订单成功"
);
return
"redirect:"
+
Global
.
getAdminPath
()+
"/ylttrip/tfTicket/?repage"
;
}
/**
* 批量删除订单
*/
@RequiresPermissions
(
"ylttrip:tfTicket:del"
)
@RequestMapping
(
value
=
"deleteAll"
)
public
String
deleteAll
(
String
ids
,
RedirectAttributes
redirectAttributes
)
{
String
idArray
[]
=
ids
.
split
(
","
);
for
(
String
id
:
idArray
){
tfTicketService
.
delete
(
tfTicketService
.
get
(
id
));
}
addMessage
(
redirectAttributes
,
"删除订单成功"
);
return
"redirect:"
+
Global
.
getAdminPath
()+
"/ylttrip/tfTicket/?repage"
;
}
/**
* 批量删除订单(逻辑删除,更新del_flag字段为1,在表包含字段del_flag时,可以调用此方法,将数据隐藏)
*/
@RequiresPermissions
(
value
={
"ylttrip:tfTicket:del"
,
"ylttrip:tfTicket:delByLogic"
},
logical
=
Logical
.
OR
)
@RequestMapping
(
value
=
"deleteAllByLogic"
)
public
String
deleteAllByLogic
(
String
ids
,
RedirectAttributes
redirectAttributes
)
{
String
idArray
[]
=
ids
.
split
(
","
);
for
(
String
id
:
idArray
){
tfTicketService
.
deleteByLogic
(
tfTicketService
.
get
(
id
));
}
addMessage
(
redirectAttributes
,
"删除订单成功"
);
return
"redirect:"
+
Global
.
getAdminPath
()+
"/ylttrip/tfTicket/?repage"
;
}
/**
* 导出excel文件
*/
@RequiresPermissions
(
"ylttrip:tfTicket:export"
)
@RequestMapping
(
value
=
"export"
,
method
=
RequestMethod
.
POST
)
public
String
exportFile
(
TfTicket
tfTicket
,
HttpServletRequest
request
,
HttpServletResponse
response
,
RedirectAttributes
redirectAttributes
)
{
try
{
String
fileName
=
"订单"
+
DateUtils
.
getDate
(
"yyyyMMddHHmmss"
)+
".xlsx"
;
Page
<
TfTicket
>
page
=
tfTicketService
.
findPage
(
new
Page
<
TfTicket
>(
request
,
response
,
-
1
),
tfTicket
);
new
ExportExcel
(
"订单"
,
TfTicket
.
class
).
setDataList
(
page
.
getList
()).
write
(
response
,
fileName
).
dispose
();
return
null
;
}
catch
(
Exception
e
)
{
addMessage
(
redirectAttributes
,
"导出订单记录失败!失败信息:"
+
e
.
getMessage
());
}
return
"redirect:"
+
Global
.
getAdminPath
()+
"/ylttrip/tfTicket/?repage"
;
}
/**
* 导入Excel数据
*/
@RequiresPermissions
(
"ylttrip:tfTicket:import"
)
@RequestMapping
(
value
=
"import"
,
method
=
RequestMethod
.
POST
)
public
String
importFile
(
MultipartFile
file
,
RedirectAttributes
redirectAttributes
)
{
try
{
int
successNum
=
0
;
ImportExcel
ei
=
new
ImportExcel
(
file
,
1
,
0
);
List
<
TfTicket
>
list
=
ei
.
getDataList
(
TfTicket
.
class
);
for
(
TfTicket
tfTicket
:
list
){
tfTicketService
.
save
(
tfTicket
);
}
successNum
=
list
.
size
();
addMessage
(
redirectAttributes
,
"已成功导入 "
+
successNum
+
" 条订单记录"
);
}
catch
(
Exception
e
)
{
addMessage
(
redirectAttributes
,
"导入订单失败!失败信息:"
+
e
.
getMessage
());
}
return
"redirect:"
+
Global
.
getAdminPath
()+
"/ylttrip/tfTicket/?repage"
;
}
/**
* 下载导入订单数据模板
*/
@RequiresPermissions
(
"ylttrip:tfTicket:import"
)
@RequestMapping
(
value
=
"import/template"
)
public
String
importFileTemplate
(
HttpServletResponse
response
,
RedirectAttributes
redirectAttributes
)
{
try
{
String
fileName
=
"订单数据导入模板.xlsx"
;
List
<
TfTicket
>
list
=
Lists
.
newArrayList
();
new
ExportExcel
(
"订单数据"
,
TfTicket
.
class
,
1
).
setDataList
(
list
).
write
(
response
,
fileName
).
dispose
();
return
null
;
}
catch
(
Exception
e
)
{
addMessage
(
redirectAttributes
,
"导入模板下载失败!失败信息:"
+
e
.
getMessage
());
}
return
"redirect:"
+
Global
.
getAdminPath
()+
"/ylttrip/tfTicket/?repage"
;
}
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/dao/one/FormLeaveDao.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.dao.one
;
import
com.jeespring.common.persistence.InterfaceBaseDao
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.jeespring.modules.test.entity.one.FormLeave
;
/**
* 请假DAO接口
* @author JeeSpring
* @version 2018-10-12
*/
@Mapper
public
interface
FormLeaveDao
extends
InterfaceBaseDao
<
FormLeave
>
{
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/dao/onetomany/TestDataChild2Dao.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.dao.onetomany
;
import
com.jeespring.common.persistence.InterfaceBaseDao
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.jeespring.modules.test.entity.onetomany.TestDataChild2
;
/**
* 订票DAO接口
* @author JeeSpring
* @version 2018-10-12
*/
@Mapper
public
interface
TestDataChild2Dao
extends
InterfaceBaseDao
<
TestDataChild2
>
{
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/dao/onetomany/TestDataChild3Dao.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.dao.onetomany
;
import
com.jeespring.common.persistence.InterfaceBaseDao
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.jeespring.modules.test.entity.onetomany.TestDataChild3
;
/**
* 订票DAO接口
* @author JeeSpring
* @version 2018-10-12
*/
@Mapper
public
interface
TestDataChild3Dao
extends
InterfaceBaseDao
<
TestDataChild3
>
{
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/dao/onetomany/TestDataChildDao.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.dao.onetomany
;
import
com.jeespring.common.persistence.InterfaceBaseDao
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.jeespring.modules.test.entity.onetomany.TestDataChild
;
/**
* 订票DAO接口
* @author JeeSpring
* @version 2018-10-12
*/
@Mapper
public
interface
TestDataChildDao
extends
InterfaceBaseDao
<
TestDataChild
>
{
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/dao/onetomany/TestDataMainDao.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.dao.onetomany
;
import
com.jeespring.common.persistence.InterfaceBaseDao
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.jeespring.modules.test.entity.onetomany.TestDataMain
;
/**
* 订票DAO接口
* @author JeeSpring
* @version 2018-10-12
*/
@Mapper
public
interface
TestDataMainDao
extends
InterfaceBaseDao
<
TestDataMain
>
{
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/dao/tree/TestTreeDao.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.dao.tree
;
import
com.jeespring.common.persistence.TreeDao
;
import
com.jeespring.common.persistence.annotation.MyBatisDao
;
import
org.apache.ibatis.annotations.Mapper
;
import
com.jeespring.modules.test.entity.tree.TestTree
;
/**
* 树DAO接口
* @author JeeSpring
* @version 2018-10-11
*/
@Mapper
public
interface
TestTreeDao
extends
TreeDao
<
TestTree
>
{
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/entity/one/FormLeave.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.entity.one
;
import
com.jeespring.modules.sys.entity.User
;
import
javax.validation.constraints.NotNull
;
import
com.jeespring.modules.sys.entity.Office
;
import
com.jeespring.modules.sys.entity.Area
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.jeespring.common.persistence.AbstractBaseEntity
;
import
com.jeespring.common.utils.excel.annotation.ExcelField
;
import
com.jeespring.modules.sys.utils.DictUtils
;
/**
* 请假Entity
* @author JeeSpring
* @version 2018-10-12
*/
public
class
FormLeave
extends
AbstractBaseEntity
<
FormLeave
>
{
private
static
final
long
serialVersionUID
=
1L
;
private
com
.
jeespring
.
modules
.
sys
.
entity
.
User
user
;
// 员工
private
com
.
jeespring
.
modules
.
sys
.
entity
.
Office
office
;
// 归属部门
private
com
.
jeespring
.
modules
.
sys
.
entity
.
Area
area
;
// 归属区域
private
java
.
util
.
Date
beginDate
;
// 请假开始日期
private
java
.
util
.
Date
endDate
;
// 请假结束日期
public
FormLeave
()
{
super
();
}
public
FormLeave
(
String
id
){
super
(
id
);
}
@NotNull
(
message
=
"员工不能为空"
)
@ExcelField
(
title
=
"员工"
,
fieldType
=
User
.
class
,
value
=
"user.name"
,
align
=
2
,
sort
=
1
)
public
User
getUser
()
{
return
user
;
}
public
void
setUser
(
User
user
)
{
this
.
user
=
user
;
}
@NotNull
(
message
=
"归属部门不能为空"
)
@ExcelField
(
title
=
"归属部门"
,
fieldType
=
Office
.
class
,
value
=
"office.name"
,
align
=
2
,
sort
=
2
)
public
Office
getOffice
()
{
return
office
;
}
public
void
setOffice
(
Office
office
)
{
this
.
office
=
office
;
}
@ExcelField
(
title
=
"归属区域"
,
fieldType
=
Area
.
class
,
value
=
"area.name"
,
align
=
2
,
sort
=
3
)
public
Area
getArea
()
{
return
area
;
}
public
void
setArea
(
Area
area
)
{
this
.
area
=
area
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@NotNull
(
message
=
"请假开始日期不能为空"
)
@ExcelField
(
title
=
"请假开始日期"
,
align
=
2
,
sort
=
4
)
public
Date
getBeginDate
()
{
return
beginDate
;
}
public
void
setBeginDate
(
Date
beginDate
)
{
this
.
beginDate
=
beginDate
;
}
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@NotNull
(
message
=
"请假结束日期不能为空"
)
@ExcelField
(
title
=
"请假结束日期"
,
align
=
2
,
sort
=
5
)
public
Date
getEndDate
()
{
return
endDate
;
}
public
void
setEndDate
(
Date
endDate
)
{
this
.
endDate
=
endDate
;
}
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/entity/onetomany/TestDataChild.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.entity.onetomany
;
import
com.jeespring.modules.sys.entity.Area
;
import
javax.validation.constraints.NotNull
;
import
org.hibernate.validator.constraints.Length
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.jeespring.common.persistence.AbstractBaseEntity
;
import
com.jeespring.common.utils.excel.annotation.ExcelField
;
import
com.jeespring.modules.sys.utils.DictUtils
;
/**
* 订票Entity
* @author JeeSpring
* @version 2018-10-12
*/
public
class
TestDataChild
extends
AbstractBaseEntity
<
TestDataChild
>
{
private
static
final
long
serialVersionUID
=
1L
;
private
com
.
jeespring
.
modules
.
sys
.
entity
.
Area
start
;
// 出发地
private
com
.
jeespring
.
modules
.
sys
.
entity
.
Area
end
;
// 目的地
private
Double
price
;
// 代理价格
private
TestDataMain
testDataMain
;
// 业务主表ID 父类testDataMain.id
public
TestDataChild
()
{
super
();
}
public
TestDataChild
(
String
id
){
super
(
id
);
}
public
TestDataChild
(
TestDataMain
testDataMain
){
this
.
testDataMain
=
testDataMain
;
}
@NotNull
(
message
=
"出发地不能为空"
)
@ExcelField
(
title
=
"出发地"
,
fieldType
=
Area
.
class
,
value
=
"start.name"
,
align
=
2
,
sort
=
1
)
public
Area
getStart
()
{
return
start
;
}
public
void
setStart
(
Area
start
)
{
this
.
start
=
start
;
}
@NotNull
(
message
=
"目的地不能为空"
)
@ExcelField
(
title
=
"目的地"
,
fieldType
=
Area
.
class
,
value
=
"end.name"
,
align
=
2
,
sort
=
2
)
public
Area
getEnd
()
{
return
end
;
}
public
void
setEnd
(
Area
end
)
{
this
.
end
=
end
;
}
@NotNull
(
message
=
"代理价格不能为空"
)
@ExcelField
(
title
=
"代理价格"
,
align
=
2
,
sort
=
3
)
public
Double
getPrice
()
{
return
price
;
}
public
void
setPrice
(
Double
price
)
{
this
.
price
=
price
;
}
@Length
(
min
=
0
,
max
=
64
,
message
=
"业务主表ID长度必须介于 0 和 64 之间"
)
@JsonIgnore
@JSONField
(
serialize
=
false
)
public
TestDataMain
getTestDataMain
()
{
return
testDataMain
;
}
public
void
setTestDataMain
(
TestDataMain
testDataMain
)
{
this
.
testDataMain
=
testDataMain
;
}
}
\ No newline at end of file
JeeSpringCloud/jeespring-webDubboProvider/src/main/java/com/jeespring/modules/test/entity/onetomany/TestDataChild2.java
0 → 100644
View file @
44ab1569
/**
* * Copyright © 2015-2020 <a href="https://gitee.com/JeeHuangBingGui/jeeSpringCloud">JeeSpringCloud</a> All rights reserved..
*/
package
com.jeespring.modules.test.entity.onetomany
;
import
com.jeespring.modules.sys.entity.Area
;
import
javax.validation.constraints.NotNull
;
import
org.hibernate.validator.constraints.Length
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.jeespring.common.persistence.AbstractBaseEntity
;
import
com.jeespring.common.utils.excel.annotation.ExcelField
;
import
com.jeespring.modules.sys.utils.DictUtils
;
/**
* 订票Entity
* @author JeeSpring
* @version 2018-10-12
*/
public
class
TestDataChild2
extends
AbstractBaseEntity
<
TestDataChild2
>
{
private
static
final
long
serialVersionUID
=
1L
;
private
com
.
jeespring
.
modules
.
sys
.
entity
.
Area
start
;
// 出发地
private
com
.
jeespring
.
modules
.
sys
.
entity
.
Area
end
;
// 目的地
private
Double
price
;
// 代理价格
private
TestDataMain
testDataMain
;
// 外键 父类testDataMain.id
public
TestDataChild2
()
{
super
();
}
public
TestDataChild2
(
String
id
){
super
(
id
);
}
public
TestDataChild2
(
TestDataMain
testDataMain
){
this
.
testDataMain
=
testDataMain
;
}
@NotNull
(
message
=
"出发地不能为空"
)
@ExcelField
(
title
=
"出发地"
,
fieldType
=
Area
.
class
,
value
=
"start.name"
,
align
=
2
,
sort
=
1
)
public
Area
getStart
()
{
return
start
;
}
public
void
setStart
(
Area
start
)
{
this
.
start
=
start
;
}
@NotNull
(
message
=
"目的地不能为空"
)
@ExcelField
(
title
=
"目的地"
,
fieldType
=
Area
.
class
,
value
=
"end.name"
,
align
=
2
,
sort
=
2
)
public
Area
getEnd
()
{
return
end
;
}
public
void
setEnd
(
Area
end
)
{
this
.
end
=
end
;
}
@ExcelField
(
title
=
"代理价格"
,
align
=
2
,
sort
=
3
)
public
Double
getPrice
()
{
return
price
;
}
public
void
setPrice
(
Double
price
)
{
this
.
price
=
price
;
}
@Length
(
min
=
1
,
max
=
64
,
message
=
"外键长度必须介于 1 和 64 之间"
)
@JsonIgnore
@JSONField
(
serialize
=
false
)
public
TestDataMain
getTestDataMain
()
{
return
testDataMain
;
}
public
void
setTestDataMain
(
TestDataMain
testDataMain
)
{
this
.
testDataMain
=
testDataMain
;
}
}
\ No newline at end of file
Prev
1
2
3
Next
Write
Preview
Supports
Markdown
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