package com.ruoyi.app.application.service.impl; import java.util.HashMap; import java.util.List; import com.alibaba.fastjson2.JSON; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.uuid.IdUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Map; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.app.application.mapper.ArdAppApplicationMapper; import com.ruoyi.app.application.domain.ArdAppApplication; import com.ruoyi.app.application.service.IArdAppApplicationService; import javax.annotation.Resource; /** * 单兵端申请查看指挥端位置或三一车辆位置Service业务层处理 * * @author ard * @date 2024-01-23 */ @Service public class ArdAppApplicationServiceImpl implements IArdAppApplicationService { @Resource private ArdAppApplicationMapper ardAppApplicationMapper; /** * 查询单兵端申请查看指挥端位置或三一车辆位置 * * @param applicationId 单兵端申请查看指挥端位置或三一车辆位置主键 * @return 单兵端申请查看指挥端位置或三一车辆位置 */ @Override public ArdAppApplication selectArdAppApplicationByApplicationId(String applicationId) { return ardAppApplicationMapper.selectArdAppApplicationByApplicationId(applicationId); } /** * 查询单兵端申请查看指挥端位置或三一车辆位置列表 * * @param ardAppApplication 单兵端申请查看指挥端位置或三一车辆位置 * @return 单兵端申请查看指挥端位置或三一车辆位置 */ @Override public List selectArdAppApplicationList(ArdAppApplication ardAppApplication) { return ardAppApplicationMapper.selectArdAppApplicationList(ardAppApplication); } /** * 新增单兵端申请查看指挥端位置或三一车辆位置 * * @param ardAppApplication 单兵端申请查看指挥端位置或三一车辆位置 * @return 结果 */ @Override public int insertArdAppApplication(ArdAppApplication ardAppApplication) { return ardAppApplicationMapper.insertArdAppApplication(ardAppApplication); } /** * 修改单兵端申请查看指挥端位置或三一车辆位置 * * @param ardAppApplication 单兵端申请查看指挥端位置或三一车辆位置 * @return 结果 */ @Override public int updateArdAppApplication(ArdAppApplication ardAppApplication) { return ardAppApplicationMapper.updateArdAppApplication(ardAppApplication); } /** * 批量删除单兵端申请查看指挥端位置或三一车辆位置 * * @param applicationIds 需要删除的单兵端申请查看指挥端位置或三一车辆位置主键 * @return 结果 */ @Override public int deleteArdAppApplicationByApplicationIds(String[] applicationIds) { return ardAppApplicationMapper.deleteArdAppApplicationByApplicationIds(applicationIds); } /** * 删除单兵端申请查看指挥端位置或三一车辆位置信息 * * @param applicationId 单兵端申请查看指挥端位置或三一车辆位置主键 * @return 结果 */ @Override public int deleteArdAppApplicationByApplicationId(String applicationId) { return ardAppApplicationMapper.deleteArdAppApplicationByApplicationId(applicationId); } @Override public int sendCheckCommandersPosition(String usersId, Map para) { String reason = (String) para.get("reason"); List usersIdList = (List) para.get("usersIdList"); int result = 0; for(String commanderId : usersIdList){ ArdAppApplication ardAppApplication = new ArdAppApplication(); ardAppApplication.setCommanderId(commanderId); ardAppApplication.setSoilderId(usersId); ardAppApplication.setReason(reason); ardAppApplication.setApplicationType("Commander"); ardAppApplication.setBegin(""); ardAppApplication.setState("0"); int resultSingle = ardAppApplicationMapper.updateArdAppApplicationByCommanderIdAndSoilderIdAndType(ardAppApplication); result = result + resultSingle; if(resultSingle == 0){ ardAppApplication.setApplicationId(IdUtils.simpleUUID()); resultSingle = ardAppApplicationMapper.insertArdAppApplication(ardAppApplication); result = result + resultSingle; } } return result; } @Override public int sendCheckSYCarsPosition(String usersId, Map para) { String reason = (String) para.get("reason"); List usersIdList = (List) para.get("usersIdList"); int result = 0; for(String commanderId : usersIdList){ ArdAppApplication ardAppApplication = new ArdAppApplication(); ardAppApplication.setCommanderId(commanderId); ardAppApplication.setSoilderId(usersId); ardAppApplication.setReason(reason); ardAppApplication.setApplicationType("SYCar"); ardAppApplication.setBegin(""); ardAppApplication.setState("0"); int resultSingle = ardAppApplicationMapper.updateArdAppApplicationByCommanderIdAndSoilderIdAndType(ardAppApplication); result = result + resultSingle; if(resultSingle == 0){ ardAppApplication.setApplicationId(IdUtils.simpleUUID()); resultSingle = ardAppApplicationMapper.insertArdAppApplication(ardAppApplication); result = result + resultSingle; } } return result; } @Override public Map>> getCheckPosition(String usersId) { Map>> result = new HashMap(); //查看指挥端位置申请 List> ardAppApplicationList = ardAppApplicationMapper.selectArdAppApplicationByCommanderId(usersId); List> resultCommanderPosition = new ArrayList(); for(Map map : ardAppApplicationList){ if(((String)map.get("applicationType")).equals("Commander")){ resultCommanderPosition.add(map); } } //查看车辆位置申请 List> resultSYCarsPosition = new ArrayList(); for(Map map : ardAppApplicationList){ if(((String)map.get("applicationType")).equals("SYCar")){ resultSYCarsPosition.add(map); } } result.put("commander",resultCommanderPosition); result.put("SYCars",resultSYCarsPosition); return result; } }