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<ArdTankLockPassword> 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<String, Object> getLockPasswordByLockId(Map<String,Object> para) {
|
String lockId = (String) para.get("lockId");
|
|
//分页属性
|
Integer pageNum = (Integer) para.get("pageNum");
|
Integer pageSize = (Integer) para.get("pageSize");
|
|
PageHelper.startPage(pageNum, pageSize);//分页
|
Map<String,Object> resultMap = new HashMap();
|
List<ArdTankLockPassword> resultList = ardTankLockPasswordMapper.getLockPasswordByLockId(lockId);
|
Long total = ardTankLockPasswordMapper.selectLockPasswordTotalBylockId(lockId);
|
resultMap.put("list",resultList);
|
resultMap.put("total",total);
|
return resultMap;
|
}
|
|
@Override
|
public Map<String, Object> getLockPasswordByCarId(String userId, Map<String, Object> para) {
|
ArdSyUser ardSyUser = ardSyUserMapper.userById(userId);
|
if(ardSyUser == null){
|
return new HashMap();
|
}
|
List<SysConfig> 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<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId());
|
String sessionId = (String) LogInResult.get("sessionId");
|
|
String carId = (String) para.get("carId");
|
String carPlate = "";
|
Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId);
|
if(((String)syResult.get("rspCode")).equals("1")){
|
Map<String,Object> carMap = ((List<Map<String,Object>>)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<String,Object> resultMap = new HashMap();
|
List<Map<String,Object>> resultList = ardTankLockPasswordMapper.getLockPasswordByCarId(carId);
|
for(Map<String,Object> map : resultList){
|
map.put("carPlate",carPlate);
|
}
|
|
Long total = ardTankLockPasswordMapper.selectLockPasswordTotalByCarId(carId);
|
resultMap.put("list",resultList);
|
resultMap.put("total",total);
|
return resultMap;
|
}
|
}
|