package com.ruoyi.sy.service.impl; import java.util.*; import com.github.pagehelper.PageHelper; import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.sy.domain.ArdSyUser; import com.ruoyi.sy.mapper.ArdSyUserMapper; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.utils.forest.SYClient; import org.apache.commons.codec.digest.DigestUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.sy.mapper.ArdTankLockPasswordMapper; import com.ruoyi.sy.domain.ArdTankLockPassword; import com.ruoyi.sy.service.IArdTankLockPasswordService; import javax.annotation.Resource; /** * 罐车锁密码Service业务层处理 * * @author ard * @date 2024-07-27 */ @Service public class ArdTankLockPasswordServiceImpl implements IArdTankLockPasswordService { @Resource private ArdTankLockPasswordMapper ardTankLockPasswordMapper; @Resource private ArdSyUserMapper ardSyUserMapper; @Resource private SysConfigMapper sysConfigMapper; @Resource private SYClient sYClient; /** * 查询罐车锁密码 * * @param id 罐车锁密码主键 * @return 罐车锁密码 */ @Override public ArdTankLockPassword selectArdTankLockPasswordById(String id) { return ardTankLockPasswordMapper.selectArdTankLockPasswordById(id); } /** * 查询罐车锁密码列表 * * @param ardTankLockPassword 罐车锁密码 * @return 罐车锁密码 */ @Override public List selectArdTankLockPasswordList(ArdTankLockPassword ardTankLockPassword) { return ardTankLockPasswordMapper.selectArdTankLockPasswordList(ardTankLockPassword); } /** * 新增罐车锁密码 * * @param ardTankLockPassword 罐车锁密码 * @return 结果 */ @Override public int insertArdTankLockPassword(ArdTankLockPassword ardTankLockPassword) { ardTankLockPassword.setId(IdUtils.simpleUUID()); ardTankLockPassword.setCreateTime(DateUtils.getNowDate()); return ardTankLockPasswordMapper.insertArdTankLockPassword(ardTankLockPassword); } /** * 修改罐车锁密码 * * @param ardTankLockPassword 罐车锁密码 * @return 结果 */ @Override public int updateArdTankLockPassword(ArdTankLockPassword ardTankLockPassword) { return ardTankLockPasswordMapper.updateArdTankLockPassword(ardTankLockPassword); } /** * 批量删除罐车锁密码 * * @param ids 需要删除的罐车锁密码主键 * @return 结果 */ @Override public int deleteArdTankLockPasswordByIds(String[] ids) { return ardTankLockPasswordMapper.deleteArdTankLockPasswordByIds(ids); } /** * 删除罐车锁密码信息 * * @param id 罐车锁密码主键 * @return 结果 */ @Override public int deleteArdTankLockPasswordById(String id) { return ardTankLockPasswordMapper.deleteArdTankLockPasswordById(id); } @Override public int updateArdTankLockPasswordByLockNum(String lockNum, String password, String useTime) { int result = ardTankLockPasswordMapper.updateArdTankLockPasswordByLockNum(lockNum,password,useTime); return result; } @Override public Map getLockPasswordByLockId(Map para) { String lockId = (String) para.get("lockId"); //分页属性 Integer pageNum = (Integer) para.get("pageNum"); Integer pageSize = (Integer) para.get("pageSize"); PageHelper.startPage(pageNum, pageSize);//分页 Map resultMap = new HashMap(); List resultList = ardTankLockPasswordMapper.getLockPasswordByLockId(lockId); Long total = ardTankLockPasswordMapper.selectLockPasswordTotalBylockId(lockId); resultMap.put("list",resultList); resultMap.put("total",total); return resultMap; } @Override public Map getLockPasswordByCarId(String userId, Map para) { ArdSyUser ardSyUser = ardSyUserMapper.userById(userId); if(ardSyUser == null){ return new HashMap(); } List syURLResult = sysConfigMapper.selectByType("syCarPT"); String syURL = ""; if(syURLResult.size() != 0){ syURL = syURLResult.get(0).getConfigValue(); }else{ return new HashMap(); } String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword()); Map LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId()); String sessionId = (String) LogInResult.get("sessionId"); String carId = (String) para.get("carId"); String carPlate = ""; Map syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId); if(((String)syResult.get("rspCode")).equals("1")){ Map carMap = ((List>)syResult.get("list")).get(0); carPlate = (String) carMap.get("carPlate"); } //分页属性 Integer pageNum = (Integer) para.get("pageNum"); Integer pageSize = (Integer) para.get("pageSize"); PageHelper.startPage(pageNum, pageSize);//分页 Map resultMap = new HashMap(); List> resultList = ardTankLockPasswordMapper.getLockPasswordByCarId(carId); for(Map map : resultList){ map.put("carPlate",carPlate); } Long total = ardTankLockPasswordMapper.selectLockPasswordTotalByCarId(carId); resultMap.put("list",resultList); resultMap.put("total",total); return resultMap; } }