ParkingBetweenMemberServiceImpl.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. package com.charging.chargingparking.service.impl;
  2. import cn.hutool.core.convert.Convert;
  3. import cn.hutool.core.date.DateField;
  4. import cn.hutool.core.date.DateUnit;
  5. import cn.hutool.core.date.DateUtil;
  6. import cn.hutool.core.util.StrUtil;
  7. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  8. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  9. import com.charging.chargingparking.constant.ParkingConstant;
  10. import com.charging.chargingparking.dto.AddParkingMember;
  11. import com.charging.chargingparking.entity.*;
  12. import com.charging.chargingparking.mapper.ParkingBetweenMemberMapper;
  13. import com.charging.chargingparking.mapper.ParkingMemberMapper;
  14. import com.charging.chargingparking.modules.common.dto.Sort;
  15. import com.charging.chargingparking.modules.vo.CarTypeVo;
  16. import com.charging.chargingparking.modules.vo.ParkingEnableVo;
  17. import com.charging.chargingparking.service.*;
  18. import com.github.pagehelper.Page;
  19. import com.github.pagehelper.PageHelper;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import java.util.Date;
  24. import java.util.List;
  25. import java.util.Map;
  26. /**
  27. *
  28. */
  29. @Service
  30. @Transactional
  31. public class ParkingBetweenMemberServiceImpl extends ServiceImpl<ParkingBetweenMemberMapper, ParkingBetweenMember>
  32. implements ParkingBetweenMemberService {
  33. @Autowired
  34. private ParkingMemberLogService parkingMemberLogService;
  35. @Autowired
  36. private ParkingChannelService parkingChannelService;
  37. @Autowired
  38. private ParkingBlacklistService parkingBlacklistService;
  39. @Autowired
  40. private ParkingInfoService parkingInfoService;
  41. @Autowired
  42. private ParkingRecordService parkingRecordService;
  43. @Autowired
  44. private ParkingWhiteService parkingWhiteService;
  45. @Autowired
  46. private ParkingBetweenMemberMapper parkingMemberMapper;
  47. @Autowired
  48. private ParkingMemberMapper parkingMemberOrgMapper;
  49. @Autowired
  50. private ParkingMemberService parkingMemberOrgService;
  51. @Override
  52. public void addParkingMemberWash(ParkingBetweenMember addParkingMember) {
  53. ParkingBetweenMember parkingMember = getById(addParkingMember.getId());
  54. if (parkingMember!=null) {
  55. addParkingMember.setUpdateTime(new Date());
  56. updateById(addParkingMember);
  57. } else {
  58. addParkingMember.setCreateTime(new Date());
  59. save(addParkingMember);
  60. }
  61. }
  62. @Override
  63. public void memberMove(ParkingBetweenMember addParkingMember){
  64. ParkingMember parkingMemberOrg =parkingMemberOrgService.getById(addParkingMember.getParkingMemberId());
  65. if(parkingMemberOrg!=null){
  66. parkingMemberOrgService.cloudDelete(parkingMemberOrg.getId(),parkingMemberOrg.getParkId(),parkingMemberOrg.getMemberCarNum());
  67. }
  68. addParkingMemberWash(addParkingMember);
  69. }
  70. @Override
  71. public void cloudDelete(String memberId, String parkId, String license) {
  72. QueryWrapper<ParkingBetweenMember> parkingMemberQueryWrapper = new QueryWrapper<>();
  73. if (StrUtil.isNotBlank(memberId)) {
  74. parkingMemberQueryWrapper.eq("id", memberId);
  75. parkingMemberQueryWrapper.eq("park_id", parkId);
  76. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  77. } else {
  78. parkingMemberQueryWrapper.eq("park_id", parkId);
  79. parkingMemberQueryWrapper.eq("member_car_num", license);
  80. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  81. parkingMemberQueryWrapper.eq("member_type", 0);
  82. // parkingMemberQueryWrapper.lt("member_end_time", new Date());
  83. }
  84. ParkingBetweenMember parkingMember = getOne(parkingMemberQueryWrapper);
  85. if (parkingMember != null) {
  86. parkingMember.setDelFlag(true);
  87. parkingMember.setCloudDelFlag(true);
  88. parkingMember.setUpdateTime(new Date());
  89. updateById(parkingMember);
  90. removeById(parkingMember);
  91. //保存会员修改日志
  92. ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
  93. parkingMemberLog.setParkingMemberId(parkingMember.getId());
  94. parkingMemberLog.setCreateTime(new Date());
  95. parkingMemberLog.setContent(StrUtil.format("{}区间会员手工删除", parkingMember.getMemberCarNum()));
  96. parkingMemberLogService.save(parkingMemberLog);
  97. }
  98. }
  99. @Override
  100. public void cloudDeleteUpdate(ParkingBetweenMember parkingMemberU) {
  101. QueryWrapper<ParkingBetweenMember> parkingMemberQueryWrapper = new QueryWrapper<>();
  102. if (StrUtil.isNotBlank(parkingMemberU.getId())) {
  103. parkingMemberQueryWrapper.eq("id", parkingMemberU.getId());
  104. parkingMemberQueryWrapper.eq("park_id", parkingMemberU.getParkId());
  105. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  106. } else {
  107. parkingMemberQueryWrapper.eq("park_id", parkingMemberU.getParkId());
  108. parkingMemberQueryWrapper.eq("member_car_num", parkingMemberU.getMemberCarNum());
  109. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  110. parkingMemberQueryWrapper.eq("member_type", 0);
  111. // parkingMemberQueryWrapper.lt("member_end_time", new Date());
  112. }
  113. ParkingBetweenMember parkingMember = getOne(parkingMemberQueryWrapper);
  114. if (parkingMember != null) {
  115. parkingMember.setDelFlag(true);
  116. if(StrUtil.isNotBlank(parkingMemberU.getUpdateBy())){
  117. parkingMember.setUpdateBy(parkingMemberU.getUpdateBy());
  118. }
  119. parkingMember.setCloudDelFlag(true);
  120. parkingMember.setUpdateTime(new Date());
  121. updateById(parkingMember);
  122. removeById(parkingMember);
  123. //保存会员修改日志
  124. ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
  125. parkingMemberLog.setParkingMemberId(parkingMember.getId());
  126. parkingMemberLog.setCreateTime(new Date());
  127. parkingMemberLog.setContent(StrUtil.format("{}区间会员手工删除", parkingMember.getMemberCarNum()));
  128. parkingMemberLogService.save(parkingMemberLog);
  129. }
  130. }
  131. @Override
  132. public void cloudDeleteTemporary(String memberId, String parkId, String license, String reMark) {
  133. QueryWrapper<ParkingBetweenMember> parkingMemberQueryWrapper = new QueryWrapper<>();
  134. if (StrUtil.isNotBlank(memberId)) {
  135. parkingMemberQueryWrapper.eq("id", memberId);
  136. parkingMemberQueryWrapper.eq("park_id", parkId);
  137. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  138. } else {
  139. parkingMemberQueryWrapper.eq("park_id", parkId);
  140. parkingMemberQueryWrapper.eq("member_car_num", license);
  141. parkingMemberQueryWrapper.eq("cloud_del_flag", false);
  142. parkingMemberQueryWrapper.eq("member_type", 0);
  143. // parkingMemberQueryWrapper.lt("member_end_time", new Date());
  144. }
  145. ParkingBetweenMember parkingMember = getOne(parkingMemberQueryWrapper);
  146. if (parkingMember != null) {
  147. parkingMember.setCloudDelFlag(true);
  148. parkingMember.setUpdateTime(new Date());
  149. updateById(parkingMember);
  150. //保存会员修改日志
  151. ParkingMemberLog parkingMemberLog = new ParkingMemberLog();
  152. parkingMemberLog.setParkingMemberId(parkingMember.getId());
  153. parkingMemberLog.setCreateTime(new Date());
  154. parkingMemberLog.setContent(StrUtil.format("{}会员出场,会员自动删除,备注:{}", parkingMember.getMemberCarNum(),reMark));
  155. parkingMemberLogService.save(parkingMemberLog);
  156. parkingWhiteService.deleteWhiteList(parkId, parkingMember.getMemberCarNum());
  157. }
  158. }
  159. @Override
  160. public Page<ParkingBetweenMember> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize, List<Sort> sortList) {
  161. Page<ParkingBetweenMember> page = PageHelper.startPage(pageNumber, pageSize).doSelectPage(() -> {
  162. parkingMemberMapper.search(searchParams, sortList);
  163. });
  164. return page;
  165. }
  166. @Override
  167. public ParkingMember findByCarNum(String carNum) {
  168. //return parkingMemberMapper.findByCarNum(carNum);
  169. return null;
  170. }
  171. @Override
  172. public void addOrUpdateFreeMember(ParkingRecord parkingRecord) {
  173. try {
  174. String inTime = DateUtil.format(parkingRecord.getInParkingTime(), "yyyy-MM-dd");
  175. //拼接时间
  176. String inTimePj1 = inTime + " 00:00:00";
  177. String inTimePj2 = inTime + " 07:00:00";
  178. Date inTimePjDate1 = DateUtil.parse(inTimePj1);
  179. Date inTimePjDate2 = DateUtil.parse(inTimePj2);
  180. if (parkingRecord.getInParkingTime().compareTo(inTimePjDate1) >= 0 && parkingRecord.getInParkingTime().compareTo(inTimePjDate2) < 0) {
  181. }
  182. } catch (Exception ex) {
  183. }
  184. }
  185. }