|
@@ -1,9 +1,19 @@
|
|
|
package jit.xms.core.services.terminal.infos.service
|
|
|
|
|
|
+import gaf3.core.data.PageParam
|
|
|
+import gaf3.core.data.PagedData
|
|
|
+import gaf3.core.jpa.extension.findAll
|
|
|
+import gaf3.core.util.DataBeanHelper
|
|
|
import jit.xms.core.services.terminal.infos.dao.XmsTerminalDao
|
|
|
+import jit.xms.core.services.terminal.infos.domain.TerminalInfoForm
|
|
|
import jit.xms.core.services.terminal.infos.entity.XmsTerminalInfo
|
|
|
+import jit.xms.core.util.XmsError
|
|
|
import org.springframework.beans.factory.annotation.Autowired
|
|
|
+import org.springframework.data.domain.Sort
|
|
|
import org.springframework.stereotype.Service
|
|
|
+import org.springframework.util.Assert
|
|
|
+import java.util.*
|
|
|
+import javax.transaction.Transactional
|
|
|
|
|
|
@Service
|
|
|
class XmsTerminalService {
|
|
@@ -17,4 +27,73 @@ class XmsTerminalService {
|
|
|
fun findTerminalByCode(code: String): XmsTerminalInfo? {
|
|
|
return xmsTerminalDao.findByCode(code).firstOrNull()
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 按条件查询列表(分页)
|
|
|
+ * @param filter 条件(对象里面的属性)
|
|
|
+ * @param paging 查询分页参数:
|
|
|
+ * - skip 从多少开始
|
|
|
+ * - limit 分页多少条
|
|
|
+ * - exact 是否为精确查询,默认为True
|
|
|
+ * - sort.direction 排序方向:asc、desc
|
|
|
+ * - sort.property 排序字段(允许多个)
|
|
|
+ * @return 成功返回通过条件筛选用户列表
|
|
|
+ */
|
|
|
+ fun find(filter: XmsTerminalInfo, paging: PageParam): PagedData<XmsTerminalInfo> {
|
|
|
+ val paging1 = paging.sortBy(Sort.Direction.ASC, "createdAt", "terminalId")
|
|
|
+ val paged = xmsTerminalDao.findAll(filter, paging1)
|
|
|
+ val rs = paged.content
|
|
|
+ return PagedData(rs, paged.totalElements.toInt())
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 新增终端数据
|
|
|
+ * @param form 表单提交参数
|
|
|
+ * @return 成功返回用户信息
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ fun create(form: TerminalInfoForm): XmsTerminalInfo {
|
|
|
+ Assert.hasText(form.name, "终端名称不能为空")
|
|
|
+ Assert.hasText(form.code, "终端编码不能为空")
|
|
|
+ if (xmsTerminalDao.existsByCode(form.code!!))
|
|
|
+ throw XmsError(XmsError.USER_INFO_EXISTED, "终端编码已存在")
|
|
|
+ // 保存终端信息
|
|
|
+ var entity = XmsTerminalInfo()
|
|
|
+ DataBeanHelper.Bean2Obj(form, entity)
|
|
|
+ entity.terminalId = UUID.randomUUID().toString()
|
|
|
+ entity = xmsTerminalDao.save(entity)
|
|
|
+ return entity
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改终端数据
|
|
|
+ * @param id id
|
|
|
+ * @param form 表单提交参数
|
|
|
+ * @return 成功返回用户信息
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ fun update(id: String, form: TerminalInfoForm): XmsTerminalInfo {
|
|
|
+ Assert.hasText(form.name, "终端名称不能为空")
|
|
|
+ Assert.hasText(form.code, "终端编码不能为空")
|
|
|
+ if (xmsTerminalDao.existsByCodeAndTerminalIdNotIn(form.code!!, listOf(id)))
|
|
|
+ throw XmsError(XmsError.USER_INFO_EXISTED, "终端编码已存在")
|
|
|
+ // 保存终端信息
|
|
|
+ var entity = XmsTerminalInfo()
|
|
|
+ DataBeanHelper.Bean2Obj(form, entity)
|
|
|
+ entity.terminalId = id
|
|
|
+ entity = xmsTerminalDao.save(entity)
|
|
|
+ return entity
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除终端数据
|
|
|
+ * @param id id 根据id删除条目
|
|
|
+ * @return 成功返回 0
|
|
|
+ */
|
|
|
+ @Transactional
|
|
|
+ fun delete(id: String) {
|
|
|
+ if (!xmsTerminalDao.existsById(id))
|
|
|
+ throw XmsError(XmsError.USER_INFO_NOT_EXISTED, "终端不存在")
|
|
|
+ xmsTerminalDao.deleteById(id)
|
|
|
+ }
|
|
|
}
|