FleetDriverMsgServiceImpl.java 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. package com.ruoyi.basicData.service.impl;
  2. import com.ruoyi.basicData.domain.FleetDriverMsg;
  3. import com.ruoyi.basicData.mapper.FleetDriverMsgMapper;
  4. import com.ruoyi.basicData.service.IFleetDriverMsgService;
  5. import com.ruoyi.common.core.domain.AjaxResult;
  6. import com.ruoyi.common.core.domain.entity.SysUser;
  7. import com.ruoyi.common.utils.DateUtils;
  8. import com.ruoyi.common.utils.SecurityUtils;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.system.domain.SysUserPost;
  11. import com.ruoyi.system.domain.SysUserRole;
  12. import com.ruoyi.system.mapper.SysUserMapper;
  13. import com.ruoyi.system.mapper.SysUserPostMapper;
  14. import com.ruoyi.system.mapper.SysUserRoleMapper;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.transaction.annotation.Transactional;
  18. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  19. import java.util.ArrayList;
  20. import java.util.Date;
  21. import java.util.List;
  22. import java.util.Map;
  23. /**
  24. * 【司机】Service业务层处理
  25. *
  26. * @author ruoyi
  27. * @date 2021-03-04
  28. */
  29. @Service
  30. public class FleetDriverMsgServiceImpl implements IFleetDriverMsgService
  31. {
  32. @Autowired
  33. private FleetDriverMsgMapper fleetDriverMsgMapper;
  34. @Autowired
  35. private SysUserMapper userMapper;
  36. @Autowired
  37. private SysUserPostMapper userPostMapper;
  38. @Autowired
  39. private SysUserRoleMapper userRoleMapper;
  40. /**
  41. * 查询【司机】
  42. *
  43. * @param id 【司机】ID
  44. * @return 【司机】
  45. */
  46. @Override
  47. public FleetDriverMsg selectFleetDriverMsgById(Long id)
  48. {
  49. return fleetDriverMsgMapper.selectFleetDriverMsgById(id);
  50. }
  51. /**
  52. * 查询【司机】列表
  53. *
  54. * @param fleetDriverMsg 【司机】
  55. * @return 【司机】
  56. */
  57. @Override
  58. public List<FleetDriverMsg> selectFleetDriverMsgList(FleetDriverMsg fleetDriverMsg)
  59. {
  60. return fleetDriverMsgMapper.selectFleetDriverMsgList(fleetDriverMsg);
  61. }
  62. @Override
  63. public List<Map<String, Object>> selectFleetDriverMsgListMap(FleetDriverMsg fleetDriverMsg) {
  64. return fleetDriverMsgMapper.selectFleetDriverMsgListMap(fleetDriverMsg);
  65. }
  66. /**
  67. * 新增【司机】
  68. *
  69. * @param fleetDriverMsg 【司机】
  70. * @return 结果
  71. */
  72. @Override
  73. @Transactional
  74. public AjaxResult insertFleetDriverMsg(FleetDriverMsg fleetDriverMsg)
  75. {
  76. // 检验必填
  77. if(StringUtils.isNull(fleetDriverMsg.getFleetCompanyId()) ||
  78. StringUtils.isNull(fleetDriverMsg.getName()) ||
  79. StringUtils.isNull(fleetDriverMsg.getIdcarNum()) ||
  80. StringUtils.isNull(fleetDriverMsg.getTel()) ){
  81. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  82. return AjaxResult.error("请填写必输项");
  83. }
  84. if(null!=fleetDriverMsg.getId() && !fleetDriverMsg.getId().equals("")){
  85. fleetDriverMsg.setUpdateBy(SecurityUtils.getUsername());
  86. fleetDriverMsg.setUpdateTime(new Date());
  87. fleetDriverMsgMapper.updateFleetDriverMsg(fleetDriverMsg);
  88. return AjaxResult.success();
  89. }else {
  90. // 添加用户表
  91. SysUser sysUser = new SysUser();
  92. sysUser.setUserName(fleetDriverMsg.getTel());
  93. sysUser.setNickName(fleetDriverMsg.getName());
  94. sysUser.setPhonenumber(fleetDriverMsg.getTel());
  95. //sysUser.setEmail(fleetDriverMsg.get);
  96. sysUser.setUserType("11");
  97. sysUser.setPassword(SecurityUtils.encryptPassword(fleetDriverMsg.getTel()));
  98. sysUser.setDeptId(120L); // 当前给定、后期修改
  99. Long [] rolr = {110L}; // 当前给定、后期修改
  100. sysUser.setRoleIds(rolr);
  101. // 查询是否有用户提前关注公众号
  102. SysUser user = userMapper.selectUserByTel(fleetDriverMsg.getTel());
  103. if (StringUtils.isNotNull(user)) {
  104. // 该用户提前关注公众号了
  105. sysUser.setOpenId(user.getOpenId());
  106. if (StringUtils.isNotNull(user.getSessionKey())) {
  107. sysUser.setSessionKey(user.getSessionKey());
  108. }
  109. userMapper.deleteUserById(user.getUserId());
  110. }
  111. // 新增用户信息
  112. int rows = userMapper.insertUser(sysUser);
  113. if(rows <= 0 ){
  114. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  115. return AjaxResult.error("请填写必输项");
  116. }
  117. // 新增用户岗位关联
  118. insertUserPost(sysUser);
  119. // 新增用户与角色管理
  120. insertUserRole(sysUser);
  121. fleetDriverMsg.setCreateBy(SecurityUtils.getUsername());
  122. fleetDriverMsg.setCreatTime(new Date());
  123. fleetDriverMsgMapper.insertFleetDriverMsg(fleetDriverMsg);
  124. return AjaxResult.success();
  125. }
  126. }
  127. /**
  128. * 修改【司机】
  129. *
  130. * @param fleetDriverMsg 【司机】
  131. * @return 结果
  132. */
  133. @Override
  134. public int updateFleetDriverMsg(FleetDriverMsg fleetDriverMsg)
  135. {
  136. fleetDriverMsg.setUpdateTime(DateUtils.getNowDate());
  137. return fleetDriverMsgMapper.updateFleetDriverMsg(fleetDriverMsg);
  138. }
  139. /**
  140. * 批量删除【司机】
  141. *
  142. * @param ids 需要删除的【司机】ID
  143. * @return 结果
  144. */
  145. @Override
  146. public int deleteFleetDriverMsgByIds(Long[] ids)
  147. {
  148. return fleetDriverMsgMapper.deleteFleetDriverMsgByIds(ids);
  149. }
  150. /**
  151. * 删除【司机】信息
  152. *
  153. * @param id 【司机】ID
  154. * @return 结果
  155. */
  156. @Override
  157. public int deleteFleetDriverMsgById(Long id)
  158. {
  159. return fleetDriverMsgMapper.deleteFleetDriverMsgById(id);
  160. }
  161. /**
  162. * 新增用户岗位信息
  163. *
  164. * @param user 用户对象
  165. */
  166. public void insertUserPost(SysUser user) {
  167. Long[] posts = user.getPostIds();
  168. if (StringUtils.isNotNull(posts)) {
  169. // 新增用户与岗位管理
  170. List<SysUserPost> list = new ArrayList<SysUserPost>();
  171. for (Long postId : posts) {
  172. SysUserPost up = new SysUserPost();
  173. up.setUserId(user.getUserId());
  174. up.setPostId(postId);
  175. list.add(up);
  176. }
  177. if (list.size() > 0) {
  178. userPostMapper.batchUserPost(list);
  179. }
  180. }
  181. }
  182. /**
  183. * 新增用户角色信息
  184. *
  185. * @param user 用户对象
  186. */
  187. public void insertUserRole(SysUser user) {
  188. Long[] roles = user.getRoleIds();
  189. if (StringUtils.isNotNull(roles)) {
  190. // 新增用户与角色管理
  191. List<SysUserRole> list = new ArrayList<SysUserRole>();
  192. for (Long roleId : roles) {
  193. SysUserRole ur = new SysUserRole();
  194. ur.setUserId(user.getUserId());
  195. ur.setRoleId(roleId);
  196. list.add(ur);
  197. }
  198. if (list.size() > 0) {
  199. userRoleMapper.batchUserRole(list);
  200. }
  201. }
  202. }
  203. }