package com.steerinfo.dil.controller; import com.steerinfo.dil.aspect.LogAspect; import com.steerinfo.dil.feign.SSOFeign; import com.steerinfo.dil.mapper.BackgroundProcessingMapper; import com.steerinfo.dil.mapper.DilAppCidMapper; import com.steerinfo.dil.mapper.OmstruckOrderMapper; import com.steerinfo.dil.mapper.UniversalMapper; import com.steerinfo.dil.model.DilAppCid; import com.steerinfo.dil.model.OmstruckOrder; import com.steerinfo.dil.service.impl.BackgroundProcessingServiceImpl; import com.steerinfo.dil.util.BaseRESTfulController; import com.steerinfo.dil.util.DataChange; import com.steerinfo.framework.controller.RESTfulResult; import io.swagger.annotations.ApiOperation; import oracle.jdbc.proxy.annotation.Post; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import com.steerinfo.dil.util.SSOUtil; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.*; /* * 后台处理程序 */ @RestController @RequestMapping("${api.version}/bp") public class BackgroundProcessingController extends BaseRESTfulController { @Autowired private BackgroundProcessingMapper backgroundProcessingMapper; @Resource SSOUtil ssoUtil; @Resource DilAppCidMapper dilAppCidMapper; static final Logger log = Logger.getLogger(BackgroundProcessingController.class); @ApiOperation("登录接口") @PostMapping("bpLogin") public Map bpLogin(@RequestParam String loginName, @RequestParam String password, @RequestParam String app_code, @RequestParam(required = false) String urlFlag) { Map resMap = ssoUtil.individualLogin(loginName, password, app_code); if ("succeed".equals(resMap.get("status"))) { Map dataMap = (Map) resMap.get("data"); Map userInfo = (Map) dataMap.get("user"); String userId = userInfo.get("userId").toString(); List> mapList = (List>) userInfo.get("sysRoles"); // 根据用户名去查询该用户绑定的公司及下属公司;7.2改为只查本单位因前端会报错 List> companyList = backgroundProcessingMapper.getCurrentCompanyList(loginName); if (companyList != null && companyList.size() > 0) { } else { Map stringMap = new HashMap<>(); stringMap.put("companyId", -1); companyList.add(stringMap); //resMap.put("status","failed"); //resMap.put("message","账号未与单位关联,联系管理人员"); //resMap.put("resultMessage","账号未与单位关联,联系管理人员"); //resMap.put("code","500"); //return resMap; } //遍历角色,查看是否有业务单位权限 for (Map map : mapList) { //如果角色包含业务单位 if ("businessCompany".equals(map.get("roleCode"))) { List> businessCompanyList = backgroundProcessingMapper.getCompanyList(userId); if (businessCompanyList != null) { companyList.addAll(businessCompanyList); } break; } else { continue; } } //去重 HashSet objects = new HashSet<>(); for(Map map : companyList) { objects.add(map.get("companyId")); } List> companyList1 = new ArrayList<>(); for(Object set : objects) { Map objectObjectHashMap = new HashMap<>(); objectObjectHashMap.put("companyId",set); companyList1.add(objectObjectHashMap); } Map rootCompanyMap = backgroundProcessingMapper.getCompanyRootMap(loginName); //根据companyList查询名字相同的 userInfo.put("dilCompanyList", companyList1); if (rootCompanyMap != null && rootCompanyMap.get("isListed") != null) { userInfo.put("rootCompanyMap", rootCompanyMap); } if (urlFlag != null && urlFlag != "" && rootCompanyMap != null && !urlFlag.equals(rootCompanyMap.get("isListed"))) { resMap.put("status", "failed"); resMap.put("message", "账号未在该平台注册,请检查账号"); resMap.put("resultMessage", "账号未在该平台注册,请检查账号"); resMap.put("code", "500"); return resMap; } //查询车牌及排班司机id Map capacityMap = backgroundProcessingMapper.getCapacityMap(loginName); if (capacityMap != null) { dataMap.putAll(capacityMap); } //查询登录账号人员id Map personnelMap = backgroundProcessingMapper.getPersonnelMap(loginName); if (personnelMap != null) { dataMap.putAll(personnelMap); } //注册cid System.out.println(dataMap); } return resMap; } @ApiOperation("更新cid") @PostMapping("/insertAppCid") public RESTfulResult insertAppCid(@RequestBody DilAppCid dilAppCid) { try { Map searchMap = new HashMap<>(); searchMap.put("cid", dilAppCid.getCid()); searchMap.put("userCode", dilAppCid.getUserCode()); List mapList = dilAppCidMapper.selectByParameters(searchMap); if (mapList != null && mapList.size() > 0 && mapList.get(0) != null) { mapList.get(0).setUpdateTime(new Date()); dilAppCidMapper.updateByPrimaryKeySelective(mapList.get(0)); return success(); } dilAppCid.setPrimaryId(dilAppCidMapper.nextId()); dilAppCid.setInsertTime(new Date()); dilAppCid.setUpdateTime(new Date()); dilAppCid.setDeleted(0); dilAppCidMapper.insertSelective(dilAppCid); } catch (Exception e) { e.printStackTrace(); } return success("更新成功"); } @ApiOperation("重置密码") @PostMapping("/resetPwd") public RESTfulResult resetPwd(@RequestBody Map map) { try { if (map.get("ssoId") == null || map.get("ssoId").equals("")) { throw new Exception("用户账号不存在,请先联系管理员注册!"); } return success(ssoUtil.resetPwd(map.get("ssoId").toString(), map.get("ssoCode").toString())); } catch (Exception e) { e.printStackTrace(); return failed(map, e.getMessage()); } } @ApiOperation("解锁用户") @PostMapping("/unlockUser") public RESTfulResult unlockUser(@RequestBody Map map) { try { if (map.get("ssoId") == null || map.get("ssoId").equals("")) { throw new Exception("用户账号不存在,请先联系管理员注册!"); } return success(ssoUtil.unlockUser(map.get("ssoId").toString(), map.get("ssoCode").toString())); } catch (Exception e) { e.printStackTrace(); return failed(map, e.getMessage()); } } @ApiOperation("修改运输订单状态") @PostMapping("/submitOrderStatus") public RESTfulResult submitOrderStatus(@RequestBody Map map) { int i = backgroundProcessingMapper.submitOrderStatus(map); return success(); } }