Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ufo
/
ufo-platform
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
Lixiaodi
5 years ago
Commit
74a09ab80efbc8200942ef66fa45242f892256e1
1 parent
a80e89de
资源位定时发布
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
150 additions
and
23 deletions
dal/src/main/java/com/yoho/ufo/dal/ResourcesMapper.java
dal/src/main/resources/META-INF/mybatis/ResourcesMapper.xml
resource/src/main/java/com/yoho/ufo/resource/controller/ResourceController.java
resource/src/main/java/com/yoho/ufo/resource/service/IResourceService.java
resource/src/main/java/com/yoho/ufo/resource/service/impl/ResourceServiceImpl.java
dal/src/main/java/com/yoho/ufo/dal/ResourcesMapper.java
View file @
74a09ab
package
com
.
yoho
.
ufo
.
dal
;
import
com.yoho.ufo.model.resource.Resources
;
import
com.yohobuy.ufo.resource.req.ResourceReqBo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -9,13 +10,17 @@ import java.util.List;
* Created by shengguo.cai on 2018/11/16.
*/
public
interface
ResourcesMapper
{
List
<
Resources
>
selectResourcesByPage
(
@Param
(
"start"
)
int
start
,
@Param
(
"size"
)
int
size
);
List
<
Resources
>
selectResourcesByPage
(
ResourceReqBo
bo
);
Resources
selectById
(
@Param
(
"id"
)
Integer
id
);
Resources
selectDefaultByCode
(
String
code
);
int
insert
(
Resources
record
);
int
updateByPrimaryKeySelective
(
Resources
record
);
int
selectResourcesCount
();
int
selectResourcesCount
(
ResourceReqBo
bo
);
List
<
Resources
>
selectResourcesByCode
(
String
code
);
}
...
...
dal/src/main/resources/META-INF/mybatis/ResourcesMapper.xml
View file @
74a09ab
...
...
@@ -19,14 +19,45 @@
id, name, sort_id, platform_id, code, match_code, create_time, publish_time, status,
lock_person_name, lock_person_id, lock_time
</sql>
<select
id=
"selectResourcesByCode"
resultType=
"com.yoho.ufo.model.resource.Resources"
>
select
<include
refid=
"Base_Column_List"
/>
from resources
where status=1 and code = #{code}
order by publish_time desc
</select>
<select
id=
"selectDefaultByCode"
resultType=
"com.yoho.ufo.model.resource.Resources"
>
select
<include
refid=
"Base_Column_List"
/>
from resources
where status=1 and code = #{code} and publish_time=0
limit 1
</select>
<select
id=
"selectResourcesByPage"
resultType=
"com.yoho.ufo.model.resource.Resources"
>
select
<include
refid=
"Base_Column_List"
/>
from resources
<include
refid=
"pageCondition"
/>
order by id asc
limit #{start},#{size}
</select>
<select
id=
"selectResourcesCount"
resultType=
"java.lang.Integer"
>
select count(1) from resources
<include
refid=
"pageCondition"
/>
</select>
<sql
id=
"pageCondition"
>
where publish_time=0 and status = 1
<if
test=
"name != null"
>
and name like CONCAT('%','#{name}','%' )
</if>
<if
test=
"id != null"
>
and id = #{id}
</if>
<if
test=
"platformId != null"
>
and platform_id = #{platformId}
</if>
<if
test=
"code != null"
>
and code = #{code}
</if>
</sql>
<select
id=
"selectById"
resultType=
"com.yoho.ufo.model.resource.Resources"
>
select
<include
refid=
"Base_Column_List"
/>
from resources
where id=#{id} limit 1
...
...
@@ -71,7 +102,7 @@
</set>
where id = #{id,jdbcType=INTEGER}
</update>
<insert
id=
"insert"
parameterType=
"com.yoho.ufo.model.resource.Resources"
>
<insert
id=
"insert"
parameterType=
"com.yoho.ufo.model.resource.Resources"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into resources (id, name, sort_id,
platform_id, code, match_code,
create_time, publish_time, lock_person_name,
...
...
resource/src/main/java/com/yoho/ufo/resource/controller/ResourceController.java
View file @
74a09ab
...
...
@@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.text.ParseException
;
import
java.util.List
;
/**
...
...
@@ -39,13 +40,13 @@ public class ResourceController {
private
IResourcePoolAndCodeService
resourcePoolAndCodeServiceService
;
@RequestMapping
(
value
=
"/getResources"
)
public
ApiResponse
getResources
(
PageRequestBO
req
)
{
public
ApiResponse
getResources
(
ResourceReqBo
req
)
{
LOGGER
.
info
(
"enter getResources,param is {}"
,
req
);
if
(
req
==
null
){
req
=
new
PageRequestBO
();
req
=
new
ResourceReqBo
();
}
//暂时不查询total,数据量还不是很大
List
<
ResourceGetBo
>
result
=
this
.
resourceService
.
getResources
(
req
);
PageResponseBO
<
ResourceGetBo
>
result
=
this
.
resourceService
.
getResources
(
req
);
return
new
ApiResponse
.
ApiResponseBuilder
().
code
(
200
).
data
(
result
).
build
();
}
...
...
@@ -59,6 +60,32 @@ public class ResourceController {
return
new
ApiResponse
.
ApiResponseBuilder
().
code
(
200
).
data
(
result
).
build
();
}
///////////////////////////////////////////////
@RequestMapping
(
value
=
"/getResourcesByCode"
)
public
ApiResponse
getResourcesByCode
(
String
code
)
{
LOGGER
.
info
(
"enter getResourcesByCode,code is {}"
,
code
);
if
(
StringUtils
.
isBlank
(
code
))
{
return
new
ApiResponse
.
ApiResponseBuilder
().
code
(
500
).
message
(
"code为空"
).
build
();
}
List
<
ResourceGetBo
>
result
=
this
.
resourceService
.
getResourcesByCode
(
code
);
return
new
ApiResponse
.
ApiResponseBuilder
().
code
(
200
).
data
(
result
).
build
();
}
@RequestMapping
(
value
=
"/editOrUpdateResourcesTime"
)
public
ApiResponse
editOrUpdateResourcesTime
(
ResourceReqBo
bo
)
{
LOGGER
.
info
(
"enter editOrUpdateResourcesTime,bo is {}"
,
bo
);
if
(
bo
==
null
)
{
return
new
ApiResponse
.
ApiResponseBuilder
().
code
(
500
).
message
(
"参数为空"
).
build
();
}
int
result
=
0
;
try
{
result
=
this
.
resourceService
.
editOrUpdateResourcesTime
(
bo
);
}
catch
(
ParseException
e
)
{
return
new
ApiResponse
.
ApiResponseBuilder
().
code
(
400
).
message
(
"日期格式有误"
).
data
(
""
).
build
();
}
return
new
ApiResponse
.
ApiResponseBuilder
().
code
(
200
).
data
(
result
).
build
();
}
@RequestMapping
(
value
=
"/editResourceContentData"
)
public
ApiResponse
editResourceContentData
(
ResContentDataModifyBo
param
)
{
LOGGER
.
info
(
"enter editResourceContentData,param is {}"
,
param
);
...
...
resource/src/main/java/com/yoho/ufo/resource/service/IResourceService.java
View file @
74a09ab
package
com
.
yoho
.
ufo
.
resource
.
service
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yoho
.ufo.service.model.PageRequest
BO
;
import
com.yoho
buy.ufo.model.common.PageResponse
BO
;
import
com.yohobuy.ufo.resource.req.ResContentDataModifyBo
;
import
com.yohobuy.ufo.resource.req.ResGoodsPoolEditBo
;
import
com.yohobuy.ufo.resource.req.ResourceReqBo
;
import
com.yohobuy.ufo.resource.resp.ResourceGetBo
;
import
java.text.ParseException
;
import
java.util.List
;
/**
* Created by shengguo.cai on 2018/11/16.
*/
public
interface
IResourceService
{
List
<
ResourceGetBo
>
getResources
(
PageRequestBO
req
);
PageResponseBO
<
ResourceGetBo
>
getResources
(
ResourceReqBo
req
);
JSONObject
getResourceInfo
(
Integer
id
);
List
<
ResourceGetBo
>
getResourcesByCode
(
String
code
);
void
editResourceContentData
(
ResContentDataModifyBo
param
);
void
batchEditResourceGoodsPool
(
List
<
ResGoodsPoolEditBo
>
param
);
...
...
@@ -24,4 +27,6 @@ public interface IResourceService {
void
addOrUpdateResource
(
ResourceReqBo
req
);
void
addOrUpdateResourceDeatil
(
ResourceReqBo
req
);
int
editOrUpdateResourcesTime
(
ResourceReqBo
bo
)
throws
ParseException
;
}
...
...
resource/src/main/java/com/yoho/ufo/resource/service/impl/ResourceServiceImpl.java
View file @
74a09ab
...
...
@@ -16,6 +16,7 @@ import com.yoho.ufo.model.resource.ResourcesContentData;
import
com.yoho.ufo.model.resource.ResourcesGoodsPool
;
import
com.yoho.ufo.resource.service.IResourceService
;
import
com.yoho.ufo.service.model.PageRequestBO
;
import
com.yohobuy.ufo.model.common.PageResponseBO
;
import
com.yoho.ufo.util.CollectionUtil
;
import
com.yoho.ufo.util.DateUtil
;
import
com.yoho.ufo.util.NamedThreadFactory
;
...
...
@@ -32,10 +33,9 @@ import org.springframework.beans.BeanUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ThreadPoolExecutor
;
...
...
@@ -61,24 +61,24 @@ public class ResourceServiceImpl implements IResourceService{
private
ExecutorService
exe
=
Executors
.
newFixedThreadPool
(
1
,
NamedThreadFactory
.
newThreadFactory
(
"ResourceService"
));
@Override
public
List
<
ResourceGetBo
>
getResources
(
PageRequestBO
req
)
{
public
PageResponseBO
<
ResourceGetBo
>
getResources
(
ResourceReqBo
req
)
{
LOGGER
.
info
(
"enter getResources,param is {}"
,
req
);
int
count
=
resourcesMapper
.
selectResourcesCount
();
List
<
Resources
>
resourcesList
=
resourcesMapper
.
selectResourcesByPage
(
req
.
getStart
(),
req
.
getSize
());
if
(
null
==
resourcesList
){
return
null
;
}
int
count
=
resourcesMapper
.
selectResourcesCount
(
req
);
if
(
count
==
0
){
return
new
PageResponseBO
(
count
,
new
ArrayList
(),
req
.
getPage
(),
req
.
getSize
());
}
List
<
Resources
>
resourcesList
=
resourcesMapper
.
selectResourcesByPage
(
req
);
List
<
ResourceGetBo
>
resourceGetBoList
=
new
ArrayList
<>();
for
(
Resources
res
:
resourcesList
){
ResourceGetBo
bo
=
new
ResourceGetBo
(
res
.
getId
(),
res
.
getName
(),
getPlatformName
(
res
.
getPlatformId
()),
res
.
getCode
(),
res
.
getCreateTime
());
bo
.
setSortId
(
res
.
getSortId
());
resourceGetBoList
.
add
(
bo
);
}
return
resourceGetBoList
;
return
new
PageResponseBO
(
count
,
resourceGetBoList
,
req
.
getPage
(),
req
.
getSize
())
;
}
@Override
...
...
@@ -107,7 +107,39 @@ public class ResourceServiceImpl implements IResourceService{
return
result
;
}
@Override
@Override
public
List
<
ResourceGetBo
>
getResourcesByCode
(
String
code
)
{
List
<
Resources
>
resourcesList
=
resourcesMapper
.
selectResourcesByCode
(
code
);
List
<
ResourceGetBo
>
resourceGetBoList
=
new
ArrayList
<>();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
boolean
isFirst
=
true
;
int
now
=
(
int
)
(
System
.
currentTimeMillis
()
/
1000
);
for
(
Resources
res
:
resourcesList
)
{
ResourceGetBo
bo
=
new
ResourceGetBo
(
res
.
getId
(),
res
.
getName
(),
getPlatformName
(
res
.
getPlatformId
()),
res
.
getCode
(),
res
.
getCreateTime
());
bo
.
setPublishTime
(
res
.
getPublishTime
());
if
(
res
.
getPublishTime
()
==
0
)
{
bo
.
setPublishTimeStr
(
""
);
bo
.
setPublishStatusStr
(
"默认"
);
}
else
{
bo
.
setPublishTimeStr
(
sdf
.
format
(
new
Date
(
res
.
getPublishTime
()
*
1000L
)));
if
(
res
.
getPublishTime
()
>
now
)
{
bo
.
setPublishStatusStr
(
"未发布"
);
}
else
{
if
(
isFirst
)
{
bo
.
setPublishStatusStr
(
"进行中"
);
isFirst
=
false
;
}
else
{
bo
.
setPublishStatusStr
(
"已过期"
);
}
}
}
resourceGetBoList
.
add
(
bo
);
}
return
resourceGetBoList
;
}
@Override
public
void
editResourceContentData
(
ResContentDataModifyBo
param
)
{
LOGGER
.
info
(
"enter editResourceContentData param is {}"
,
param
);
param
.
setUpdateTime
(
DateUtil
.
getCurrentTimeSeconds
());
...
...
@@ -182,8 +214,35 @@ public class ResourceServiceImpl implements IResourceService{
}
}
}
@Override
@Override
public
int
editOrUpdateResourcesTime
(
ResourceReqBo
bo
)
throws
ParseException
{
// 保存
if
(
bo
.
getId
()
==
null
)
{
Resources
r
=
resourcesMapper
.
selectDefaultByCode
(
bo
.
getCode
());
if
(
r
==
null
)
{
return
0
;
}
r
.
setId
(
null
);
r
.
setPublishTime
((
int
)
(
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
parse
(
bo
.
getPublishTimeStr
()).
getTime
()
/
1000
));
r
.
setLockPersonId
(
""
);
r
.
setLockPersonName
(
""
);
r
.
setMatchCode
(
""
);
r
.
setLockTime
(
0
);
resourcesMapper
.
insert
(
r
);
return
r
.
getId
();
}
Resources
r
=
new
Resources
();
r
.
setId
(
bo
.
getId
());
if
(
bo
.
getStatus
()
!=
null
&&
bo
.
getStatus
()
==
0
)
{
r
.
setStatus
(
0
);
}
else
{
r
.
setPublishTime
((
int
)
(
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
parse
(
bo
.
getPublishTimeStr
()).
getTime
()
/
1000
));
}
return
resourcesMapper
.
updateByPrimaryKeySelective
(
r
);
}
@Override
public
void
addOrUpdateResourceDeatil
(
ResourceReqBo
req
)
{
if
(
req
.
getId
()
==
null
||
req
.
getId
()
<
1
)
{
throw
new
ServiceException
(
400
,
"资源位id不能为空!"
);
...
...
Please
register
or
login
to post a comment