package com.fzzy.igds.app.v1.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.fzzy.common.constant.RespCodeEnum; import com.fzzy.igds.app.v1.constant.PhoneConstant; import com.fzzy.igds.app.v1.data.AuthUser; import com.fzzy.igds.app.v1.data.ParamPatrol; import com.fzzy.igds.app.v1.data.PhoneRequest; import com.fzzy.igds.app.v1.data.PhoneResponse; import com.fzzy.igds.app.v1.service.PhoneService; import com.fzzy.igds.app.v1.util.PhoneRespUtil; import com.fzzy.igds.domain.Patrol; import com.fzzy.igds.domain.PatrolConf; import com.fzzy.igds.domain.PatrolRecord; import com.fzzy.igds.mapper.PatrolConfMapper; import com.fzzy.igds.mapper.PatrolMapper; import com.fzzy.igds.mapper.PatrolRecordMapper; import com.fzzy.igds.service.FileService; import com.fzzy.igds.service.PatrolService; import com.fzzy.igds.utils.ContextUtil; import com.ruoyi.common.config.FrameworkConfig; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @Author: YYC * @Description: 巡检监管-电子巡更打卡 * @DateTime: 2026-1-12 14:43 **/ @Service public class ServiceImpl5106 implements PhoneService { @Resource private PatrolConfMapper patrolConfMapper; @Resource private PatrolMapper patrolMapper; @Resource private PatrolRecordMapper patrolRecordMapper; @Resource private FileService fileService; @Override public String getInterfaceId() { return PhoneConstant.API_PHONE_5106; } @Override public PhoneResponse execute(PhoneRequest req, AuthUser authUser) throws Exception { //转化对象 ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class); if (null == param) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } //参数验证 if (StringUtils.isEmpty(param.getDeptId())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } //参数验证 if (StringUtils.isEmpty(param.getLongitude())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } //参数验证 if (StringUtils.isEmpty(param.getLatitude())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } //参数验证 if (StringUtils.isEmpty(param.getUserName())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!"); } PatrolRecord patrolRecord = new PatrolRecord(); String longitude = param.getLongitude(); String latitude = param.getLatitude(); patrolRecord.setLongitude(longitude.substring(0, (longitude.indexOf(".") + 6))); patrolRecord.setLatitude(latitude.substring(0, (latitude.indexOf(".") + 6))); patrolRecord.setCreateTime(new Date()); patrolRecord.setPatrolId(DateFormatUtils.format(patrolRecord.getCreateTime(), "yyyyMMdd")); patrolRecord.setId(ContextUtil.generateId()); patrolRecord.setCompanyId(authUser.getCompanyId()); patrolRecord.setCreateBy(authUser.getCname()); patrolRecord.setUpdateTime(new Date()); patrolRecord.setUpdateBy(authUser.getCname()); patrolRecord.setUserId(authUser.getUsername()); String path = fileService.getFileSavePath("PATROL") + param.getImgName(); patrolRecord.setImgName(path.replace(FrameworkConfig.getProfile(), "/profile/")); QueryWrapper queryConfWrapper = new QueryWrapper<>(); String format = DateFormatUtils.format(new Date(), "HH:mm:ss"); queryConfWrapper.le("start", format); queryConfWrapper.ge("end", format); queryConfWrapper.eq("company_id", authUser.getCompanyId()); // queryConfWrapper.eq("dept_id", authUser.getDeptId()); List confList = patrolConfMapper.selectList(queryConfWrapper); if (null == confList||confList.isEmpty()) { return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "请填写相关的班次信息!!"); } PatrolConf patrolConf = confList.get(0); patrolRecord.setConfId(patrolConf.getId()); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("id", patrolRecord.getPatrolId()); queryWrapper.eq("user_id",authUser.getUsername()); queryWrapper.eq("conf_id",patrolConf.getId()); List patrolList = patrolMapper.selectList(queryWrapper); if (null == patrolList||patrolList.isEmpty()) { Patrol patrol = new Patrol(); patrol.setId(patrolRecord.getPatrolId()); patrol.setDeptId(authUser.getDeptId()); patrol.setUserId(authUser.getUsername()); patrol.setUserName(authUser.getCname()); patrol.setCompanyId(authUser.getCompanyId()); patrol.setCreateBy(authUser.getCname()); patrol.setCreateTime(new Date()); patrol.setUpdateBy(authUser.getCname()); patrol.setUpdateTime(new Date()); patrol.setDeptId(param.getDeptId()); patrol.setConfId(patrolConf.getId()); patrol.setConfName(patrolConf.getName()); int insert = patrolMapper.insert(patrol); if (insert <= 0) { return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "保存失败!!"); } } int insert = patrolRecordMapper.insert(patrolRecord); if (insert > 0) { return PhoneRespUtil.success(RespCodeEnum.CODE_0000, req); } return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "保存失败!!"); } }