| | |
| | | package com.flightfeather.grid.service.impl |
| | | |
| | | import com.flightfeather.grid.config.exception.BizException |
| | | import com.flightfeather.grid.constant.ConstantHttp |
| | | import com.flightfeather.grid.domain.ds1.entity.ClueTask |
| | | import com.flightfeather.grid.domain.ds1.mapper.ClueInternalMapper |
| | | import com.flightfeather.grid.domain.ds1.mapper.ClueTaskMapper |
| | | import com.flightfeather.grid.service.ClueTaskService |
| | | import com.flightfeather.grid.vo.ClueInternalTaskVo |
| | | import com.flightfeather.grid.vo.ClueTaskOptions |
| | | import com.flightfeather.grid.vo.ClueTaskSummaryVo |
| | | import com.flightfeather.grid.vo.DataHead |
| | | import com.flightfeather.grid.web.responsePack |
| | | import com.github.pagehelper.PageHelper |
| | | import org.springframework.stereotype.Service |
| | | import org.springframework.transaction.annotation.Transactional |
| | | import tk.mybatis.mapper.entity.Example |
| | | import java.util.* |
| | | |
| | | /** |
| | |
| | | * @author feiyu02 |
| | | */ |
| | | @Service |
| | | class ClueTaskServiceImpl(private val clueTaskMapper: ClueTaskMapper) : ClueTaskService { |
| | | class ClueTaskServiceImpl( |
| | | private val clueTaskMapper: ClueTaskMapper, |
| | | private val clueInternalMapper: ClueInternalMapper, |
| | | ) : ClueTaskService { |
| | | |
| | | @Transactional |
| | | override fun createInternalClueTask(clueInternalTaskVo: ClueInternalTaskVo): Int { |
| | | clueInternalTaskVo.clueInternal?.cReleaseTime = Date() |
| | | clueInternalTaskVo.clueInternal?.cCreateTime = Date() |
| | | clueInternalTaskVo.clueInternal?.cUploaded = false |
| | | clueInternalMapper.insert(clueInternalTaskVo.clueInternal) |
| | | |
| | | // |
| | | clueInternalTaskVo.clueTask?.clueId = clueInternalTaskVo.clueInternal?.cId |
| | | if (clueInternalTaskVo.clueTask?.guid == null) { |
| | | clueInternalTaskVo.clueTask?.guid = UUID.randomUUID().toString() |
| | | } |
| | | if (clueInternalTaskVo.clueTask?.hasUav == null) { |
| | | clueInternalTaskVo.clueTask?.hasUav = false |
| | | } |
| | | clueInternalTaskVo.clueTask?.createTime = Date() |
| | | clueInternalTaskVo.clueTask?.updateTime = Date() |
| | | clueInternalTaskVo.clueTask?.internalTask = true |
| | | clueInternalTaskVo.clueTask?.finished = false |
| | | return clueTaskMapper.insert(clueInternalTaskVo.clueTask) |
| | | } |
| | | |
| | | override fun createClueTask(clueTask: ClueTask): Int { |
| | | if (clueTask.guid == null) { |
| | |
| | | } |
| | | clueTask.createTime = Date() |
| | | clueTask.updateTime = Date() |
| | | clueTask.internalTask = false |
| | | clueTask.finished = false |
| | | return clueTaskMapper.insert(clueTask) |
| | | } |
| | | |
| | |
| | | override fun getClueTask(clueTask: ClueTask): List<ClueTask?> { |
| | | return clueTaskMapper.select(clueTask) |
| | | } |
| | | |
| | | override fun searchClueTask(options: ClueTaskOptions, page: Int?, perPage: Int?): Pair<DataHead, List<ClueTask?>> { |
| | | val p = PageHelper.startPage<ClueTask>( |
| | | page ?: ConstantHttp.DEFAULT_PAGE_NUM, |
| | | perPage ?: ConstantHttp.DEFAULT_PAGE_SIZE |
| | | ) |
| | | clueTaskMapper.selectByExample(Example(ClueTask::class.java).apply { |
| | | createCriteria().apply { |
| | | andEqualTo("internalTask", options.internal) |
| | | andGreaterThanOrEqualTo("taskTime", options.startTime) |
| | | andLessThanOrEqualTo("taskTime", options.endTime) |
| | | andEqualTo("provinceCode", options.provinceCode) |
| | | andEqualTo("provinceName", options.provinceName) |
| | | andEqualTo("cityCode", options.cityCode) |
| | | andEqualTo("cityName", options.cityName) |
| | | andEqualTo("districtCode", options.districtCode) |
| | | andEqualTo("districtName", options.districtName) |
| | | andEqualTo("townCode", options.townCode) |
| | | andEqualTo("townName", options.townName) |
| | | andEqualTo("finished", options.finished) |
| | | } |
| | | orderBy(options.sortBy ?: "taskTime").apply { if (options.sort == "desc") desc() else asc() } |
| | | }) |
| | | |
| | | return responsePack(p) |
| | | } |
| | | |
| | | override fun deleteClueTask(clueTask: ClueTask): Int { |
| | | clueTask.guid ?: throw BizException("删除线索任务失败,缺少任务主键guid") |
| | | return clueTaskMapper.delete(clueTask) |
| | | } |
| | | |
| | | override fun getClueTaskSummary(options: ClueTaskOptions): ClueTaskSummaryVo { |
| | | return clueTaskMapper.selectSummaryCount(options) |
| | | } |
| | | |
| | | override fun finishClueTask(clueTaskId: String): Int { |
| | | return clueTaskMapper.updateByPrimaryKeySelective(ClueTask().apply { |
| | | guid = clueTaskId |
| | | finished = true |
| | | }) |
| | | } |
| | | } |