/*
|
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions are met:
|
*
|
* Redistributions of source code must retain the above copyright notice,
|
* this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* Neither the name of the dreamlu.net developer nor the names of its
|
* contributors may be used to endorse or promote products derived from
|
* this software without specific prior written permission.
|
* Author: Chill 庄骞 (smallchill@163.com)
|
*/
|
package org.springblade.modules.task.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.logging.log4j.util.Strings;
|
import org.springblade.common.cache.SysCache;
|
import org.springblade.common.constant.DictConstant;
|
import org.springblade.common.utils.SpringUtils;
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
import org.springblade.core.secure.utils.AuthUtil;
|
import org.springblade.core.tool.utils.SpringUtil;
|
import org.springblade.modules.grid.service.IGridService;
|
import org.springblade.modules.place.entity.PlaceEntity;
|
import org.springblade.modules.place.service.IPlaceService;
|
import org.springblade.modules.police.service.IPoliceAffairsGridService;
|
import org.springblade.modules.system.service.IRegionService;
|
import org.springblade.modules.task.dto.TaskLabelReportingEventDTO;
|
import org.springblade.modules.task.entity.TaskLabelReportingEventEntity;
|
import org.springblade.modules.task.mapper.TaskLabelReportingEventMapper;
|
import org.springblade.modules.task.service.ITaskLabelReportingEventService;
|
import org.springblade.modules.task.service.ITaskService;
|
import org.springblade.modules.task.vo.TaskLabelReportingEventVO;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* 打金店报事 服务实现类
|
*
|
* @author BladeX
|
* @since 2023-11-06
|
*/
|
@Service
|
public class TaskLabelReportingEventServiceImpl extends ServiceImpl<TaskLabelReportingEventMapper, TaskLabelReportingEventEntity> implements ITaskLabelReportingEventService {
|
|
@Resource
|
@Lazy
|
private ITaskService taskService;
|
|
@Autowired
|
private IPlaceService placeService;
|
|
@Override
|
public IPage<TaskLabelReportingEventVO> selectTaskLabelReportingEventPage(IPage<TaskLabelReportingEventVO> page, TaskLabelReportingEventVO taskLabelReportingEvent) {
|
String roleName = SpringUtils.getRequestParam("roleName");
|
String communityCode = SpringUtils.getRequestParam("communityCode");
|
if (!Strings.isBlank(communityCode)) {
|
// 校验社区编号是否合规
|
if (null != SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
|
taskLabelReportingEvent.setCommunityCode(communityCode);
|
}
|
}
|
List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
|
Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
|
// 网格编号集合
|
List<String> gridCodeList = new ArrayList<>();
|
// 民警角色
|
if (!Strings.isBlank(roleName)) {
|
taskLabelReportingEvent.setRoleName(roleName);
|
if (roleName.equals("mj")) {
|
regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
|
}
|
if (roleName.equals("wgy")) {
|
gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId());
|
}
|
}
|
if (AuthUtil.getUserAccount().equals("18879306957")) {
|
taskLabelReportingEvent.setCommunityCode("361102003027");
|
}
|
return page.setRecords(baseMapper.selectTaskLabelReportingEventPage(page, taskLabelReportingEvent,regionChildCodesList,isAdministrator,gridCodeList));
|
}
|
|
@Override
|
public Boolean saveReportingEven(TaskLabelReportingEventDTO taskLabelReportingEvent) {
|
Long aLong = taskService.saveTask(1, DictConstant.SECOND_HAND_TRANSACTION, 1, "", AuthUtil.getUserId(),
|
taskLabelReportingEvent.getHouseCode(), taskLabelReportingEvent.getReportType(), 1);
|
if (aLong > 0) {
|
// 通过houseCode 获取场所id
|
QueryWrapper<PlaceEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("is_deleted", 0).eq("house_code", taskLabelReportingEvent.getHouseCode());
|
PlaceEntity placeEntity = placeService.getOne(queryWrapper);
|
taskLabelReportingEvent.setPlaceId(placeEntity.getId());
|
taskLabelReportingEvent.setTaskId(aLong);
|
taskLabelReportingEvent.setUserId(AuthUtil.getUserId());
|
taskLabelReportingEvent.setLabelName(DictConstant.SECOND_HAND_TRANSACTION);
|
return baseMapper.insert(taskLabelReportingEvent) > 0;
|
}
|
return false;
|
}
|
|
|
@Override
|
public Boolean updateLabelReporting(TaskLabelReportingEventVO taskLabelReportingEvent) throws Exception {
|
Long aLong = taskService.updateTask(null, null, null, "", AuthUtil.getUserId(),
|
taskLabelReportingEvent.getTaskId(), taskLabelReportingEvent.getStatus());
|
if (aLong > 0) {
|
taskLabelReportingEvent.setConfirmFlag(taskLabelReportingEvent.getStatus().toString());
|
taskLabelReportingEvent.setConfirmUserId(AuthUtil.getUserId());
|
if (null != taskLabelReportingEvent.getStatus()
|
&& taskLabelReportingEvent.getStatus() != 4) {
|
taskLabelReportingEvent.setConfirmFlag(taskLabelReportingEvent.getStatus().toString());
|
taskLabelReportingEvent.setConfirmUserId(AuthUtil.getUserId());
|
taskLabelReportingEvent.setConfirmTime(new Date());
|
}
|
Boolean b = baseMapper.updateById(taskLabelReportingEvent) > 0;
|
if (b) {
|
return b;
|
}
|
throw new Exception("更新失败!");
|
}
|
return false;
|
}
|
|
|
/**
|
* 查询打金店报事
|
*
|
* @param id 打金店报事ID
|
* @return 打金店报事
|
*/
|
@Override
|
public TaskLabelReportingEventDTO selectTaskLabelReportingEventById(Long id) {
|
return this.baseMapper.selectTaskLabelReportingEventById(id);
|
}
|
|
/**
|
* 查询打金店报事列表
|
*
|
* @param taskLabelReportingEventDTO 打金店报事
|
* @return 打金店报事集合
|
*/
|
@Override
|
public List<TaskLabelReportingEventDTO> selectTaskLabelReportingEventList(TaskLabelReportingEventDTO taskLabelReportingEventDTO) {
|
return this.baseMapper.selectTaskLabelReportingEventList(taskLabelReportingEventDTO);
|
}
|
|
}
|