| | |
| | | package com.ruoyi.sy.service.impl; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | import com.dtflys.forest.annotation.Var; |
| | | import com.ruoyi.common.core.domain.entity.SysConfig; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.sy.domain.ArdSyUser; |
| | | import com.ruoyi.sy.mapper.ArdSyUserMapper; |
| | | import com.ruoyi.sy.mapper.ArdTankWallLockMapper; |
| | | import com.ruoyi.sy.mapper.ArdTankWallLockTemporaryMapper; |
| | | import com.ruoyi.system.mapper.SysConfigMapper; |
| | | import com.ruoyi.utils.forest.SYClient; |
| | | import com.ruoyi.utils.result.Results; |
| | | import org.apache.commons.codec.digest.DigestUtils; |
| | | 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.sy.mapper.ArdTankLockMapper; |
| | | import com.ruoyi.sy.domain.ArdTankLock; |
| | | import com.ruoyi.sy.service.IArdTankLockService; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | /** |
| | | * 电磁锁Service业务层处理 |
| | | * |
| | | * @author ard |
| | | * @date 2024-06-29 |
| | | * @date 2024-07-01 |
| | | */ |
| | | @Service |
| | | public class ArdTankLockServiceImpl implements IArdTankLockService { |
| | | @Autowired |
| | | @Resource |
| | | private ArdTankLockMapper ardTankLockMapper; |
| | | |
| | | @Resource |
| | | private ArdTankWallLockMapper ardTankWallLockMapper; |
| | | |
| | | @Resource |
| | | private ArdTankWallLockTemporaryMapper ardTankWallLockTemporaryMapper; |
| | | |
| | | @Resource |
| | | private ArdSyUserMapper ardSyUserMapper; |
| | | |
| | | @Resource |
| | | private SysConfigMapper sysConfigMapper; |
| | | |
| | | @Resource |
| | | private SYClient sYClient; |
| | | |
| | | /** |
| | | * 查询电磁锁 |
| | |
| | | */ |
| | | @Override |
| | | public int deleteArdTankLockById(String id) { |
| | | return ardTankLockMapper.deleteArdTankLockById(id); |
| | | try{ |
| | | return ardTankLockMapper.deleteArdTankLockById(id); |
| | | } finally { |
| | | ardTankWallLockMapper.deleteArdTankWallLockByLockId(id);//删除永久电子围栏中间表 |
| | | ardTankWallLockTemporaryMapper.deleteArdTankWallLockTemporaryByLockId(id);//删除临时电子围栏中间表 |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Results getAll(String usersId) { |
| | | ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId); |
| | | if(ardSyUser == null){ |
| | | return Results.error("没有挂接三一车辆用户"); |
| | | } |
| | | List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT"); |
| | | String syURL = ""; |
| | | if(syURLResult.size() != 0){ |
| | | syURL = syURLResult.get(0).getConfigValue(); |
| | | }else{ |
| | | return Results.error("三一车辆地址未录入"); |
| | | } |
| | | String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword()); |
| | | Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId()); |
| | | String sessionId = (String) LogInResult.get("sessionId"); |
| | | List<ArdTankLock> ardTankLockList = ardTankLockMapper.getAll(); |
| | | List<Map<String,Object>> result = new ArrayList(); |
| | | for(ArdTankLock ardTankLock : ardTankLockList){ |
| | | Map<String,Object> map = new HashMap(); |
| | | map.put("id",ardTankLock.getId()); |
| | | map.put("lockNum",ardTankLock.getLockNum()); |
| | | map.put("lockName",ardTankLock.getLockName()); |
| | | map.put("imgPositionTop",ardTankLock.getImgPositionTop()); |
| | | map.put("imgPositionLeft",ardTankLock.getImgPositionLeft()); |
| | | map.put("carId",ardTankLock.getCarId()); |
| | | map.put("enable",ardTankLock.getEnable()); |
| | | map.put("restartState",ardTankLock.getRestartState()); |
| | | if(ardTankLock.getOnlineTime() == null){ |
| | | map.put("onlineTime",""); |
| | | }else{ |
| | | map.put("onlineTime",ardTankLock.getOnlineTime()); |
| | | } |
| | | Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, ardTankLock.getCarId(), ardSyUser.getUserId(), sessionId); |
| | | if(((String)syResult.get("rspCode")).equals("1")){ |
| | | Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0); |
| | | map.put("carPlate",carMap.get("carPlate")); |
| | | } |
| | | result.add(map); |
| | | } |
| | | return Results.succeed(result); |
| | | } |
| | | } |