BackgroundProcessingController.java 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.aspect.LogAspect;
  3. import com.steerinfo.dil.feign.SSOFeign;
  4. import com.steerinfo.dil.mapper.BackgroundProcessingMapper;
  5. import com.steerinfo.dil.mapper.DilAppCidMapper;
  6. import com.steerinfo.dil.mapper.OmstruckOrderMapper;
  7. import com.steerinfo.dil.mapper.UniversalMapper;
  8. import com.steerinfo.dil.model.DilAppCid;
  9. import com.steerinfo.dil.model.OmstruckOrder;
  10. import com.steerinfo.dil.service.impl.BackgroundProcessingServiceImpl;
  11. import com.steerinfo.dil.util.BaseRESTfulController;
  12. import com.steerinfo.dil.util.DataChange;
  13. import com.steerinfo.framework.controller.RESTfulResult;
  14. import io.swagger.annotations.ApiOperation;
  15. import oracle.jdbc.proxy.annotation.Post;
  16. import org.apache.log4j.Logger;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.scheduling.annotation.Scheduled;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import org.springframework.web.bind.annotation.*;
  21. import com.steerinfo.dil.util.SSOUtil;
  22. import javax.annotation.Resource;
  23. import java.math.BigDecimal;
  24. import java.util.*;
  25. /*
  26. * 后台处理程序
  27. */
  28. @RestController
  29. @RequestMapping("${api.version}/bp")
  30. public class BackgroundProcessingController extends BaseRESTfulController {
  31. @Autowired
  32. private BackgroundProcessingMapper backgroundProcessingMapper;
  33. @Resource
  34. SSOUtil ssoUtil;
  35. @Resource
  36. DilAppCidMapper dilAppCidMapper;
  37. static final Logger log = Logger.getLogger(BackgroundProcessingController.class);
  38. @ApiOperation("登录接口")
  39. @PostMapping("bpLogin")
  40. public Map<String, Object> bpLogin(@RequestParam String loginName, @RequestParam String password, @RequestParam String app_code, @RequestParam(required = false) String urlFlag) {
  41. Map<String, Object> resMap = ssoUtil.individualLogin(loginName, password, app_code);
  42. if ("succeed".equals(resMap.get("status"))) {
  43. Map<String, Object> dataMap = (Map<String, Object>) resMap.get("data");
  44. Map<String, Object> userInfo = (Map<String, Object>) dataMap.get("user");
  45. String userId = userInfo.get("userId").toString();
  46. List<Map<String, Object>> mapList = (List<Map<String, Object>>) userInfo.get("sysRoles");
  47. // 根据用户名去查询该用户绑定的公司及下属公司;7.2改为只查本单位因前端会报错
  48. List<Map<String, Object>> companyList = backgroundProcessingMapper.getCurrentCompanyList(loginName);
  49. if (companyList != null && companyList.size() > 0) {
  50. } else {
  51. Map<String, Object> stringMap = new HashMap<>();
  52. stringMap.put("companyId", -1);
  53. companyList.add(stringMap);
  54. //resMap.put("status","failed");
  55. //resMap.put("message","账号未与单位关联,联系管理人员");
  56. //resMap.put("resultMessage","账号未与单位关联,联系管理人员");
  57. //resMap.put("code","500");
  58. //return resMap;
  59. }
  60. //遍历角色,查看是否有业务单位权限
  61. for (Map<String, Object> map : mapList) {
  62. //如果角色包含业务单位
  63. if ("businessCompany".equals(map.get("roleCode"))) {
  64. List<Map<String, Object>> businessCompanyList = backgroundProcessingMapper.getCompanyList(userId);
  65. if (businessCompanyList != null) {
  66. companyList.addAll(businessCompanyList);
  67. }
  68. break;
  69. } else {
  70. continue;
  71. }
  72. }
  73. //去重
  74. HashSet<Object> objects = new HashSet<>();
  75. for(Map<String,Object> map : companyList) {
  76. objects.add(map.get("companyId"));
  77. }
  78. List<Map<String,Object>> companyList1 = new ArrayList<>();
  79. for(Object set : objects) {
  80. Map<String, Object> objectObjectHashMap = new HashMap<>();
  81. objectObjectHashMap.put("companyId",set);
  82. companyList1.add(objectObjectHashMap);
  83. }
  84. Map<String, Object> rootCompanyMap = backgroundProcessingMapper.getCompanyRootMap(loginName);
  85. //根据companyList查询名字相同的
  86. userInfo.put("dilCompanyList", companyList1);
  87. if (rootCompanyMap != null && rootCompanyMap.get("isListed") != null) {
  88. userInfo.put("rootCompanyMap", rootCompanyMap);
  89. }
  90. if (urlFlag != null && urlFlag != "" && rootCompanyMap != null && !urlFlag.equals(rootCompanyMap.get("isListed"))) {
  91. resMap.put("status", "failed");
  92. resMap.put("message", "账号未在该平台注册,请检查账号");
  93. resMap.put("resultMessage", "账号未在该平台注册,请检查账号");
  94. resMap.put("code", "500");
  95. return resMap;
  96. }
  97. //查询车牌及排班司机id
  98. Map<String, Object> capacityMap = backgroundProcessingMapper.getCapacityMap(loginName);
  99. if (capacityMap != null) {
  100. dataMap.putAll(capacityMap);
  101. }
  102. //查询登录账号人员id
  103. Map<String, Object> personnelMap = backgroundProcessingMapper.getPersonnelMap(loginName);
  104. if (personnelMap != null) {
  105. dataMap.putAll(personnelMap);
  106. }
  107. //注册cid
  108. System.out.println(dataMap);
  109. }
  110. return resMap;
  111. }
  112. @ApiOperation("更新cid")
  113. @PostMapping("/insertAppCid")
  114. public RESTfulResult insertAppCid(@RequestBody DilAppCid dilAppCid) {
  115. try {
  116. Map<String, Object> searchMap = new HashMap<>();
  117. searchMap.put("cid", dilAppCid.getCid());
  118. searchMap.put("userCode", dilAppCid.getUserCode());
  119. List<DilAppCid> mapList = dilAppCidMapper.selectByParameters(searchMap);
  120. if (mapList != null && mapList.size() > 0 && mapList.get(0) != null) {
  121. mapList.get(0).setUpdateTime(new Date());
  122. dilAppCidMapper.updateByPrimaryKeySelective(mapList.get(0));
  123. return success();
  124. }
  125. dilAppCid.setPrimaryId(dilAppCidMapper.nextId());
  126. dilAppCid.setInsertTime(new Date());
  127. dilAppCid.setUpdateTime(new Date());
  128. dilAppCid.setDeleted(0);
  129. dilAppCidMapper.insertSelective(dilAppCid);
  130. } catch (Exception e) {
  131. e.printStackTrace();
  132. }
  133. return success("更新成功");
  134. }
  135. @ApiOperation("重置密码")
  136. @PostMapping("/resetPwd")
  137. public RESTfulResult resetPwd(@RequestBody Map<String, Object> map) {
  138. try {
  139. if (map.get("ssoId") == null || map.get("ssoId").equals("")) {
  140. throw new Exception("用户账号不存在,请先联系管理员注册!");
  141. }
  142. return success(ssoUtil.resetPwd(map.get("ssoId").toString(), map.get("ssoCode").toString()));
  143. } catch (Exception e) {
  144. e.printStackTrace();
  145. return failed(map, e.getMessage());
  146. }
  147. }
  148. @ApiOperation("解锁用户")
  149. @PostMapping("/unlockUser")
  150. public RESTfulResult unlockUser(@RequestBody Map<String, Object> map) {
  151. try {
  152. if (map.get("ssoId") == null || map.get("ssoId").equals("")) {
  153. throw new Exception("用户账号不存在,请先联系管理员注册!");
  154. }
  155. return success(ssoUtil.unlockUser(map.get("ssoId").toString(), map.get("ssoCode").toString()));
  156. } catch (Exception e) {
  157. e.printStackTrace();
  158. return failed(map, e.getMessage());
  159. }
  160. }
  161. @ApiOperation("修改运输订单状态")
  162. @PostMapping("/submitOrderStatus")
  163. public RESTfulResult submitOrderStatus(@RequestBody Map<String, Object> map) {
  164. int i = backgroundProcessingMapper.submitOrderStatus(map);
  165. return success();
  166. }
  167. }