Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
fill-system
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
廖旭伟
fill-system
Commits
42c0da8f
Commit
42c0da8f
authored
Apr 04, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加皮肤相关
parent
013fec12
Changes
16
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
3031 additions
and
11 deletions
+3031
-11
common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceMsgReqPdu.java
...va/com/mortals/xhx/common/pdu/device/DeviceMsgReqPdu.java
+57
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/skin/SkinBasePdu.java
...ain/java/com/mortals/xhx/common/pdu/skin/SkinBasePdu.java
+66
-0
common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceMessageFeign.java
...ava/com/mortals/xhx/feign/device/IDeviceMessageFeign.java
+57
-0
common-lib/src/main/java/com/mortals/xhx/feign/skin/ISkinBaseFeign.java
.../main/java/com/mortals/xhx/feign/skin/ISkinBaseFeign.java
+100
-0
fill-manager/db/module.sql
fill-manager/db/module.sql
+20
-0
fill-manager/doc/api.md
fill-manager/doc/api.md
+175
-11
fill-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
...a/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
+73
-0
fill-manager/src/main/java/com/mortals/xhx/module/skin/dao/SkinDao.java
...rc/main/java/com/mortals/xhx/module/skin/dao/SkinDao.java
+17
-0
fill-manager/src/main/java/com/mortals/xhx/module/skin/dao/ibatis/SkinDaoImpl.java
...a/com/mortals/xhx/module/skin/dao/ibatis/SkinDaoImpl.java
+20
-0
fill-manager/src/main/java/com/mortals/xhx/module/skin/model/SkinEntity.java
...in/java/com/mortals/xhx/module/skin/model/SkinEntity.java
+234
-0
fill-manager/src/main/java/com/mortals/xhx/module/skin/model/SkinQuery.java
...ain/java/com/mortals/xhx/module/skin/model/SkinQuery.java
+1310
-0
fill-manager/src/main/java/com/mortals/xhx/module/skin/model/vo/SkinVo.java
...ain/java/com/mortals/xhx/module/skin/model/vo/SkinVo.java
+15
-0
fill-manager/src/main/java/com/mortals/xhx/module/skin/service/SkinService.java
...java/com/mortals/xhx/module/skin/service/SkinService.java
+14
-0
fill-manager/src/main/java/com/mortals/xhx/module/skin/service/impl/SkinServiceImpl.java
...mortals/xhx/module/skin/service/impl/SkinServiceImpl.java
+64
-0
fill-manager/src/main/java/com/mortals/xhx/module/skin/web/SkinController.java
.../java/com/mortals/xhx/module/skin/web/SkinController.java
+40
-0
fill-manager/src/main/resources/sqlmap/module/skin/SkinMapper.xml
...ager/src/main/resources/sqlmap/module/skin/SkinMapper.xml
+769
-0
No files found.
common-lib/src/main/java/com/mortals/xhx/common/pdu/device/DeviceMsgReqPdu.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.common.pdu.device
;
import
com.alibaba.fastjson.JSON
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.Date
;
@Data
public
class
DeviceMsgReqPdu
implements
Serializable
{
/**
* 设备编码
*/
private
String
deviceCode
;
private
String
productCode
;
private
Long
siteid
;
/**
* 消息类型
*/
private
String
messageType
;
/**
* 时间戳(毫秒)
*/
private
Long
timestamp
;
/**
* 消息内容
*/
private
String
data
;
public
static
void
main
(
String
[]
args
)
{
ArrayList
<
DeviceMsgReqPdu
>
deq
=
new
ArrayList
<>();
DeviceMsgReqPdu
deviceMsgReq
=
new
DeviceMsgReqPdu
();
deviceMsgReq
.
setDeviceCode
(
"a1"
);
deviceMsgReq
.
setMessageType
(
"heart_beat"
);
deviceMsgReq
.
setData
(
"{xxxx}"
);
deviceMsgReq
.
setTimestamp
(
new
Date
().
getTime
());
deq
.
add
(
deviceMsgReq
);
deviceMsgReq
=
new
DeviceMsgReqPdu
();
deviceMsgReq
.
setDeviceCode
(
"a2"
);
deviceMsgReq
.
setMessageType
(
"heart_beat"
);
deviceMsgReq
.
setData
(
"{bbbbbb}"
);
deviceMsgReq
.
setTimestamp
(
new
Date
().
getTime
());
deq
.
add
(
deviceMsgReq
);
System
.
out
.
println
(
JSON
.
toJSONString
(
deq
));
}
}
common-lib/src/main/java/com/mortals/xhx/common/pdu/skin/SkinBasePdu.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.common.pdu.skin
;
import
com.mortals.framework.model.BaseEntityLong
;
import
lombok.Data
;
/**
* 系统基础皮肤Pdu对象
*
* @author zxfei
* @date 2023-04-03
*/
@Data
public
class
SkinBasePdu
extends
BaseEntityLong
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 所属种类,来源种类
*/
private
Long
categoryId
;
/**
* 产品id
*/
private
Long
productId
;
/**
* 产品名称
*/
private
String
productName
;
/**
* css模板合成后文件地址
*/
private
String
cssFilePath
;
/**
* 排序编号
*/
private
Integer
sortNum
;
/**
* 产品皮肤名称,唯一且不为空
*/
private
String
name
;
/**
* 分辨率 (1.1920*1080,2.1080*1920,3.1280*1280)
*/
private
String
imageResolution
;
/**
* 预览图片
*/
private
String
previewImagePath
;
public
void
initAttrValue
(){
this
.
categoryId
=
null
;
this
.
productId
=
null
;
this
.
productName
=
""
;
this
.
cssFilePath
=
""
;
this
.
sortNum
=
null
;
this
.
name
=
""
;
this
.
imageResolution
=
"1"
;
this
.
previewImagePath
=
""
;
}
}
\ No newline at end of file
common-lib/src/main/java/com/mortals/xhx/feign/device/IDeviceMessageFeign.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.feign.device
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.common.pdu.device.DeviceMsgReqPdu
;
import
com.mortals.xhx.feign.IFeign
;
import
feign.hystrix.FallbackFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* 设备 消息 Feign接口
*
* @author zxfei
* @date 2023-02-25
*/
@FeignClient
(
name
=
"device-manager"
,
path
=
"/m"
,
fallbackFactory
=
DeviceFeignFallbackFactory
.
class
)
public
interface
IDeviceMessageFeign
extends
IFeign
{
/**
* 设备消息通知
*
* @param devicePdu
* @return
*/
@PostMapping
(
value
=
"/api/callbackByProduct"
)
Rest
<
String
>
callbackByProduct
(
@RequestBody
DeviceMsgReqPdu
devicePdu
);
}
@Slf4j
@Component
class
DeviceMessageFeignFallbackFactory
implements
FallbackFactory
<
IDeviceMessageFeign
>
{
@Override
public
IDeviceMessageFeign
create
(
Throwable
t
)
{
return
new
IDeviceMessageFeign
()
{
@Override
public
Rest
<
String
>
callbackByProduct
(
DeviceMsgReqPdu
devicePdu
)
{
return
Rest
.
fail
(
"发送消息失败,请稍后再试!"
);
}
};
}
}
common-lib/src/main/java/com/mortals/xhx/feign/skin/ISkinBaseFeign.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.feign.skin
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.skin.SkinBasePdu
;
import
com.mortals.xhx.feign.IFeign
;
import
feign.hystrix.FallbackFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 系统基础皮肤 Feign接口
* @author zxfei
* @date 2023-04-03
*/
@FeignClient
(
name
=
"base-manager"
,
path
=
"/base"
,
fallbackFactory
=
SkinBaseFeignFallbackFactory
.
class
)
public
interface
ISkinBaseFeign
extends
IFeign
{
/**
* 查看系统基础皮肤列表
*
* @param skinBasePdu
* @return
*/
@PostMapping
(
value
=
"/skin/base/list"
)
Rest
<
RespData
<
List
<
SkinBasePdu
>>>
list
(
@RequestBody
SkinBasePdu
skinBasePdu
);
/**
* 查看系统基础皮肤
*
* @param id
* @return
*/
@GetMapping
(
value
=
"/skin/base/info"
)
Rest
<
SkinBasePdu
>
info
(
@RequestParam
(
value
=
"id"
)
Long
id
);
/**
* 删除系统基础皮肤
*
* @param ids
* @return
*/
@GetMapping
(
value
=
"/skin/base/delete"
)
Rest
<
Void
>
delete
(
Long
[]
ids
,
@RequestHeader
(
"Authorization"
)
String
authorization
);
/**
* 系统基础皮肤保存更新
*
* @param skinBasePdu
* @return
*/
@PostMapping
(
value
=
"/skin/base/save"
)
Rest
<
RespData
<
SkinBasePdu
>>
save
(
@RequestBody
SkinBasePdu
skinBasePdu
,
@RequestHeader
(
"Authorization"
)
String
authorization
);
}
@Slf4j
@Component
class
SkinBaseFeignFallbackFactory
implements
FallbackFactory
<
ISkinBaseFeign
>
{
@Override
public
ISkinBaseFeign
create
(
Throwable
t
)
{
return
new
ISkinBaseFeign
()
{
@Override
public
Rest
<
RespData
<
List
<
SkinBasePdu
>>>
list
(
SkinBasePdu
skinBasePdu
)
{
return
Rest
.
fail
(
"暂时无法获取系统基础皮肤列表,请稍后再试!"
);
}
@Override
public
Rest
<
SkinBasePdu
>
info
(
Long
id
)
{
return
Rest
.
fail
(
"暂时无法获取系统基础皮肤详细,请稍后再试!"
);
}
@Override
public
Rest
<
Void
>
delete
(
Long
[]
ids
,
String
authorization
)
{
return
Rest
.
fail
(
"暂时无法删除系统基础皮肤,请稍后再试!"
);
}
@Override
public
Rest
<
RespData
<
SkinBasePdu
>>
save
(
SkinBasePdu
skinBasePdu
,
String
authorization
)
{
return
Rest
.
fail
(
"暂时无法保存系统基础皮肤,请稍后再试!"
);
}
};
}
}
fill-manager/db/module.sql
View file @
42c0da8f
...
...
@@ -303,6 +303,26 @@ CREATE TABLE mortals_xhx_device_matter_datum(
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'设备事项申请材料业务'
;
DROP
TABLE
IF
EXISTS
`mortals_sys_skin`
;
CREATE
TABLE
`mortals_sys_skin`
(
`id`
bigint
(
20
)
NOT
NULL
AUTO_INCREMENT
COMMENT
'序号,主键,自增长'
,
`categoryId`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'所属种类,来源种类'
,
`productId`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'产品id'
,
`productName`
varchar
(
256
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
COMMENT
'产品名称'
,
`cssFilePath`
varchar
(
256
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
DEFAULT
NULL
COMMENT
'css模板合成后文件地址'
,
`name`
varchar
(
256
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
COMMENT
'产品皮肤名称,唯一且不为空'
,
`imageResolution`
varchar
(
256
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
COMMENT
'分辨率 (1.1920*1080,2.1080*1920,3.1280*1280)'
,
`previewImagePath`
varchar
(
256
)
CHARACTER
SET
utf8
COLLATE
utf8_general_ci
NOT
NULL
COMMENT
'预览图片'
,
`sortNum`
int
(
9
)
DEFAULT
NULL
COMMENT
'排序编号'
,
`used`
tinyint
(
2
)
DEFAULT
'0'
COMMENT
'是否使用'
,
`createTime`
datetime
DEFAULT
NULL
COMMENT
'创建时间'
,
`createUserId`
bigint
(
20
)
DEFAULT
NULL
COMMENT
'创建用户'
,
`updateTime`
datetime
DEFAULT
NULL
COMMENT
'修改时间'
,
PRIMARY
KEY
(
`id`
)
USING
BTREE
,
KEY
`productId`
(
`productId`
)
USING
BTREE
,
KEY
`categoryId`
(
`categoryId`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'皮肤'
;
...
...
fill-manager/doc/api.md
View file @
42c0da8f
...
...
@@ -1960,15 +1960,179 @@ data|object|数据对象
}
```
## 皮肤
## 字典附录
### source
字典参数key|字典参数值|其它
:---|:---|:---
0|政务网|-
1|自定义|-
### isRecommend
字典参数key|字典参数值|其它
:---|:---|:---
0|未推荐|-
1|推荐|-
### 查询皮肤列表
**请求URL:**
skin/list
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
查询皮肤
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
page|Integer|否|当前页
size|Integer|否|每页条数,值为-1,查询所有记录
userd|Integer|否|是否使用
**请求样例:**
```
{
"page":1,
"size":10,
"used":1
}
```
**响应参数:**
| 参数名称 | 参数类型 | 描述 |
|:-----------------------------|:--------|:------------------------------------------|
| code | Integer | 结果码(-1.失败,1.成功) |
| msg | String | 消息 |
| data | object | 数据对象 |
|
 
per_page | Integer | 每页条数 |
|
 
total | Integer | 总条数 |
|
 
last_page | Integer | 总页数 |
|
 
current_page | Integer | 当前页 |
|
 
data | array | 结果集列表 |数组
|
  
id | Long | 序号,主键,自增长 |
|
  
categoryId | Long | 所属种类,来源种类 |
|
  
productId | Long | 产品id |
|
  
productName | String | 产品名称 |
|
  
cssFilePath | String | css模板合成后文件地址 |
|
  
name | String | 产品皮肤名称,唯一且不为空 |
|
  
imageResolution | String | 分辨率 (1.1920
*1080,2.1080*
1920,3.1280
*
1280) |
|
  
previewImagePath | String | 预览图片 |
|
  
sortNum | Integer | 排序编号 |
|
  
used | Integer | 是否使用 |
|
  
createTime | Date | 创建时间 |
|
  
createUserId | Long | 创建用户 |
|
  
updateTime | Date | 修改时间 |
| dict | object | 字典对象 |
|
 
imageResolution | object | 字典属性对象,详见附录 |
**响应消息样例:**
```
{
"code":1,
"data":{
}
}
```
### 查看皮肤
**请求URL:**
skin/info
**请求方式:**
GET
**内容类型:**
application/json;charset=utf-8
**简要描述:**
查看皮肤,返回实例详细信息
**请求参数:**
参数名称|类型|必填|描述
:---|:---|:---|:------
id|Long|是|ID
**请求样例:**
```
http://localhost/skin/info?id=549
```
**响应参数:**
| 参数名称 | 参数类型 | 描述 |
|:-----------------------|:--------|:------------------------------------------|
| code | Integer | 结果码(-1.失败,1.成功) |
| msg | String | 消息 |
| data | object | 数据对象 |
|
 
id | Long | 序号,主键,自增长 |
|
 
categoryId | Long | 所属种类,来源种类 |
|
 
productId | Long | 产品id |
|
 
productName | String | 产品名称 |
|
 
cssFilePath | String | css模板合成后文件地址 |
|
 
name | String | 产品皮肤名称,唯一且不为空 |
|
 
imageResolution | String | 分辨率 (1.1920
*1080,2.1080*
1920,3.1280
*
1280) |
|
 
previewImagePath | String | 预览图片 |
|
 
sortNum | Integer | 排序编号 |
|
 
used | Integer | 是否使用 |
|
 
createTime | Date | 创建时间 |
|
 
createUserId | Long | 创建用户 |
|
 
updateTime | Date | 修改时间 |
| dict | object | 字典对象 |
|
 
imageResolution | object | 字典属性对象,详见附录 |
**响应消息样例:**
```
{
"code": 1,
"data": {
"id":8838,
"categoryId":483,
"productId":3204,
"productName":"cknp6t",
"cssFilePath":"ajehtm",
"name":"z8305x",
"imageResolution":"ud4cyj",
"previewImagePath":"d9yes7",
"sortNum":2831,
"used":4791,
"createTime":"2023-04-03",
"createUserId":4247,
"updateTime":"2023-04-03"
}
}
```
### 使用皮肤
**请求URL:**
skin/save
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
使用皮肤
**请求参数:**
| 参数名称 | 类型 | 必填 | 描述 |
|:-------|:--------|:----|:--------------|
| id | Long | 是 | 皮肤id |
| siteId | Long | 是 | 站点id |
| used | Integer | 是 | 是否使用(0.否,1.是) |
**请求样例:**
```
{
"id":1,
"siteId":1,
"used":1,
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
**响应消息样例:**
```
{
"msg":"模块成功",
"code":1,
"data":{}
}
}
```
fill-manager/src/main/java/com/mortals/xhx/daemon/task/SyncSiteDeviceTaskImpl.java
View file @
42c0da8f
...
...
@@ -9,12 +9,17 @@ import com.mortals.xhx.common.code.YesNoEnum;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.device.DevicePdu
;
import
com.mortals.xhx.common.pdu.site.SitePdu
;
import
com.mortals.xhx.common.pdu.skin.SkinBasePdu
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.feign.device.IDeviceFeign
;
import
com.mortals.xhx.feign.site.ISiteFeign
;
import
com.mortals.xhx.feign.skin.ISkinBaseFeign
;
import
com.mortals.xhx.module.device.model.DeviceEntity
;
import
com.mortals.xhx.module.device.model.DeviceQuery
;
import
com.mortals.xhx.module.device.service.DeviceService
;
import
com.mortals.xhx.module.skin.model.SkinEntity
;
import
com.mortals.xhx.module.skin.model.SkinQuery
;
import
com.mortals.xhx.module.skin.service.SkinService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -39,10 +44,22 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService {
private
IDeviceFeign
deviceFeign
;
@Autowired
private
DeviceService
deviceService
;
@Autowired
private
SkinService
skinService
;
@Autowired
private
ISkinBaseFeign
skinBaseFeign
;
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
log
.
info
(
"开始同步设备列表!"
);
syncDevice
();
log
.
info
(
"开始同步皮肤列表!"
);
syncSkin
();
log
.
info
(
"结束同步皮肤列表!"
);
}
private
void
syncDevice
()
{
SitePdu
sitePdu
=
new
SitePdu
();
sitePdu
.
setId
(
1L
);
Rest
<
List
<
SitePdu
>>
siteRest
=
siteFeign
.
getFlatSitesBySiteId
(
sitePdu
);
...
...
@@ -109,6 +126,62 @@ public class SyncSiteDeviceTaskImpl implements ITaskExcuteService {
}
}
private
void
syncSkin
()
{
SkinBasePdu
skinBasePdu
=
new
SkinBasePdu
();
skinBasePdu
.
setProductName
(
"填单机"
);
skinBasePdu
.
setSize
(-
1
);
Rest
<
RespData
<
List
<
SkinBasePdu
>>>
skinBaseRest
=
skinBaseFeign
.
list
(
skinBasePdu
);
if
(
skinBaseRest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
List
<
SkinBasePdu
>
skinBasePduList
=
skinBaseRest
.
getData
().
getData
();
log
.
info
(
"填单机皮肤总数量:{}"
,
skinBasePduList
.
size
());
if
(!
ObjectUtils
.
isEmpty
(
skinBasePduList
))
{
List
<
SkinEntity
>
newSkinList
=
skinBasePduList
.
stream
().
map
(
newSkin
->
{
SkinEntity
skinEntity
=
new
SkinEntity
();
skinEntity
.
initAttrValue
();
BeanUtils
.
copyProperties
(
newSkin
,
skinEntity
,
BeanUtil
.
getNullPropertyNames
(
newSkin
));
return
skinEntity
;
}).
collect
(
Collectors
.
toList
());
List
<
SkinEntity
>
oldSkinList
=
skinService
.
find
(
new
SkinQuery
());
Map
<
Long
,
SkinEntity
>
oldSkinMap
=
oldSkinList
.
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
(),
y
->
y
,
(
o
,
n
)
->
n
));
List
<
SkinEntity
>
updateSkinLsit
=
newSkinList
.
stream
().
map
(
item
->
{
if
(
oldSkinMap
.
containsKey
(
item
.
getId
()))
{
item
.
setUpdateTime
(
new
Date
());
return
item
;
}
return
null
;
}).
filter
(
f
->
f
!=
null
).
collect
(
Collectors
.
toList
());
List
<
SkinEntity
>
saveSkinList
=
newSkinList
.
stream
().
map
(
item
->
{
if
(!
oldSkinMap
.
containsKey
(
item
.
getId
()))
{
item
.
setCreateUserId
(
1L
);
item
.
setCreateUserName
(
"系统管理员"
);
item
.
setCreateTime
(
new
Date
());
return
item
;
}
return
null
;
}).
filter
(
f
->
f
!=
null
).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
updateSkinLsit
))
{
log
.
info
(
"皮肤更新,size:{}"
,
updateSkinLsit
.
size
());
skinService
.
update
(
updateSkinLsit
);
}
if
(!
ObjectUtils
.
isEmpty
(
saveSkinList
))
{
log
.
info
(
"皮肤新增,size:{}"
,
saveSkinList
.
size
());
skinService
.
save
(
saveSkinList
);
}
}
}
}
@Override
public
void
stopTask
(
ITask
task
)
throws
AppException
{
...
...
fill-manager/src/main/java/com/mortals/xhx/module/skin/dao/SkinDao.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.module.skin.dao
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.xhx.module.skin.model.SkinEntity
;
/**
* 皮肤Dao
* 皮肤 DAO接口
*
* @author zxfei
* @date 2023-04-03
*/
public
interface
SkinDao
extends
ICRUDDao
<
SkinEntity
,
Long
>{
}
fill-manager/src/main/java/com/mortals/xhx/module/skin/dao/ibatis/SkinDaoImpl.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.module.skin.dao.ibatis
;
import
com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis
;
import
com.mortals.xhx.module.skin.dao.SkinDao
;
import
com.mortals.xhx.module.skin.model.SkinEntity
;
import
org.springframework.stereotype.Repository
;
/**
* 皮肤DaoImpl DAO接口
*
* @author zxfei
* @date 2023-04-03
*/
@Repository
(
"skinDao"
)
public
class
SkinDaoImpl
extends
BaseCRUDDaoMybatis
<
SkinEntity
,
Long
>
implements
SkinDao
{
}
fill-manager/src/main/java/com/mortals/xhx/module/skin/model/SkinEntity.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.module.skin.model
;
import
com.mortals.xhx.module.skin.model.vo.SkinVo
;
/**
* 皮肤实体对象
*
* @author zxfei
* @date 2023-04-03
*/
public
class
SkinEntity
extends
SkinVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 所属种类,来源种类
*/
private
Long
categoryId
;
/**
* 产品id
*/
private
Long
productId
;
/**
* 产品名称
*/
private
String
productName
;
/**
* css模板合成后文件地址
*/
private
String
cssFilePath
;
/**
* 产品皮肤名称,唯一且不为空
*/
private
String
name
;
/**
* 分辨率 (1.1920*1080,2.1080*1920,3.1280*1280)
*/
private
String
imageResolution
;
/**
* 预览图片
*/
private
String
previewImagePath
;
/**
* 排序编号
*/
private
Integer
sortNum
;
/**
* 是否使用
*/
private
Integer
used
;
public
SkinEntity
(){}
/**
* 获取 所属种类,来源种类
* @return Long
*/
public
Long
getCategoryId
(){
return
categoryId
;
}
/**
* 设置 所属种类,来源种类
* @param categoryId
*/
public
void
setCategoryId
(
Long
categoryId
){
this
.
categoryId
=
categoryId
;
}
/**
* 获取 产品id
* @return Long
*/
public
Long
getProductId
(){
return
productId
;
}
/**
* 设置 产品id
* @param productId
*/
public
void
setProductId
(
Long
productId
){
this
.
productId
=
productId
;
}
/**
* 获取 产品名称
* @return String
*/
public
String
getProductName
(){
return
productName
;
}
/**
* 设置 产品名称
* @param productName
*/
public
void
setProductName
(
String
productName
){
this
.
productName
=
productName
;
}
/**
* 获取 css模板合成后文件地址
* @return String
*/
public
String
getCssFilePath
(){
return
cssFilePath
;
}
/**
* 设置 css模板合成后文件地址
* @param cssFilePath
*/
public
void
setCssFilePath
(
String
cssFilePath
){
this
.
cssFilePath
=
cssFilePath
;
}
/**
* 获取 产品皮肤名称,唯一且不为空
* @return String
*/
public
String
getName
(){
return
name
;
}
/**
* 设置 产品皮肤名称,唯一且不为空
* @param name
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
}
/**
* 获取 分辨率 (1.1920*1080,2.1080*1920,3.1280*1280)
* @return String
*/
public
String
getImageResolution
(){
return
imageResolution
;
}
/**
* 设置 分辨率 (1.1920*1080,2.1080*1920,3.1280*1280)
* @param imageResolution
*/
public
void
setImageResolution
(
String
imageResolution
){
this
.
imageResolution
=
imageResolution
;
}
/**
* 获取 预览图片
* @return String
*/
public
String
getPreviewImagePath
(){
return
previewImagePath
;
}
/**
* 设置 预览图片
* @param previewImagePath
*/
public
void
setPreviewImagePath
(
String
previewImagePath
){
this
.
previewImagePath
=
previewImagePath
;
}
/**
* 获取 排序编号
* @return Integer
*/
public
Integer
getSortNum
(){
return
sortNum
;
}
/**
* 设置 排序编号
* @param sortNum
*/
public
void
setSortNum
(
Integer
sortNum
){
this
.
sortNum
=
sortNum
;
}
/**
* 获取 是否使用
* @return Integer
*/
public
Integer
getUsed
(){
return
used
;
}
/**
* 设置 是否使用
* @param used
*/
public
void
setUsed
(
Integer
used
){
this
.
used
=
used
;
}
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
SkinEntity
)
{
SkinEntity
tmp
=
(
SkinEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
}
}
return
false
;
}
public
String
toString
(){
StringBuilder
sb
=
new
StringBuilder
(
""
);
sb
.
append
(
",categoryId:"
).
append
(
getCategoryId
());
sb
.
append
(
",productId:"
).
append
(
getProductId
());
sb
.
append
(
",productName:"
).
append
(
getProductName
());
sb
.
append
(
",cssFilePath:"
).
append
(
getCssFilePath
());
sb
.
append
(
",name:"
).
append
(
getName
());
sb
.
append
(
",imageResolution:"
).
append
(
getImageResolution
());
sb
.
append
(
",previewImagePath:"
).
append
(
getPreviewImagePath
());
sb
.
append
(
",sortNum:"
).
append
(
getSortNum
());
sb
.
append
(
",used:"
).
append
(
getUsed
());
return
sb
.
toString
();
}
public
void
initAttrValue
(){
this
.
categoryId
=
null
;
this
.
productId
=
null
;
this
.
productName
=
null
;
this
.
cssFilePath
=
null
;
this
.
name
=
null
;
this
.
imageResolution
=
null
;
this
.
previewImagePath
=
null
;
this
.
sortNum
=
null
;
this
.
used
=
0
;
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/module/skin/model/SkinQuery.java
0 → 100644
View file @
42c0da8f
This diff is collapsed.
Click to expand it.
fill-manager/src/main/java/com/mortals/xhx/module/skin/model/vo/SkinVo.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.module.skin.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
lombok.Data
;
/**
* 皮肤视图对象
*
* @author zxfei
* @date 2023-04-03
*/
@Data
public
class
SkinVo
extends
BaseEntityLong
{
private
Long
siteId
;
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/module/skin/service/SkinService.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.module.skin.service
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.skin.model.SkinEntity
;
/**
* SkinService
*
* 皮肤 service接口
*
* @author zxfei
* @date 2023-04-03
*/
public
interface
SkinService
extends
ICRUDService
<
SkinEntity
,
Long
>{
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/module/skin/service/impl/SkinServiceImpl.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.module.skin.service.impl
;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.pdu.device.DeviceMsgReqPdu
;
import
com.mortals.xhx.feign.device.IDeviceMessageFeign
;
import
com.mortals.xhx.module.skin.dao.SkinDao
;
import
com.mortals.xhx.module.skin.model.SkinEntity
;
import
com.mortals.xhx.module.skin.service.SkinService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
/**
* SkinService
* 皮肤 service实现
*
* @author zxfei
* @date 2023-04-03
*/
@Service
(
"skinService"
)
@Slf4j
public
class
SkinServiceImpl
extends
AbstractCRUDServiceImpl
<
SkinDao
,
SkinEntity
,
Long
>
implements
SkinService
{
@Autowired
private
IDeviceMessageFeign
deviceMessageFeign
;
@Override
protected
void
updateBefore
(
SkinEntity
entity
,
Context
context
)
throws
AppException
{
super
.
updateBefore
(
entity
,
context
);
if
(
YesNoEnum
.
YES
.
getValue
()==
entity
.
getUsed
()){
//修改非当前皮肤都未未使用
SkinEntity
skinEntity
=
new
SkinEntity
();
skinEntity
.
setUsed
(
YesNoEnum
.
NO
.
getValue
());
SkinEntity
condition
=
new
SkinEntity
();
condition
.
setUsed
(
YesNoEnum
.
YES
.
getValue
());
this
.
updateBatch
(
skinEntity
,
condition
,
context
);
}
}
@Override
protected
void
updateAfter
(
SkinEntity
entity
,
Context
context
)
throws
AppException
{
super
.
updateAfter
(
entity
,
context
);
//推送皮肤更新消息
DeviceMsgReqPdu
deviceMsgReqPdu
=
new
DeviceMsgReqPdu
();
deviceMsgReqPdu
.
setSiteid
(
entity
.
getSiteId
());
deviceMsgReqPdu
.
setProductCode
(
"ybj"
);
deviceMsgReqPdu
.
setMessageType
(
"edition"
);
deviceMsgReqPdu
.
setData
(
"W10="
);
deviceMsgReqPdu
.
setTimestamp
(
System
.
currentTimeMillis
());
Rest
<
String
>
rest
=
deviceMessageFeign
.
callbackByProduct
(
deviceMsgReqPdu
);
log
.
info
(
"send device message==>{}"
,
JSON
.
toJSONString
(
rest
));
}
}
\ No newline at end of file
fill-manager/src/main/java/com/mortals/xhx/module/skin/web/SkinController.java
0 → 100644
View file @
42c0da8f
package
com.mortals.xhx.module.skin.web
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.skin.model.SkinEntity
;
import
com.mortals.xhx.module.skin.service.SkinService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Map
;
/**
*
* 皮肤
*
* @author zxfei
* @date 2023-04-03
*/
@RestController
@RequestMapping
(
"skin"
)
public
class
SkinController
extends
BaseCRUDJsonBodyMappingController
<
SkinService
,
SkinEntity
,
Long
>
{
@Autowired
private
ParamService
paramService
;
public
SkinController
(){
super
.
setModuleDesc
(
"皮肤"
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"imageResolution"
,
paramService
.
getParamBySecondOrganize
(
"Skin"
,
"imageResolution"
));
this
.
addDict
(
model
,
"used"
,
paramService
.
getParamBySecondOrganize
(
"Skin"
,
"used"
));
super
.
init
(
model
,
context
);
}
}
\ No newline at end of file
fill-manager/src/main/resources/sqlmap/module/skin/SkinMapper.xml
0 → 100644
View file @
42c0da8f
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment