ApiService.java 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.pj.api.service;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.pj.api.bo.InOutRecordBO;
  5. import com.pj.project.tb_business.TbBusiness;
  6. import com.pj.project.tb_business.TbBusinessService;
  7. import com.pj.project.tb_business_car.TbBusinessCar;
  8. import com.pj.project.tb_business_car.TbBusinessCarService;
  9. import com.pj.project.tb_costomer.TbCostomer;
  10. import com.pj.project.tb_costomer.TbCostomerService;
  11. import com.pj.project.tb_pass_record.TbPassRecord;
  12. import com.pj.project.tb_pass_record.TbPassRecordService;
  13. import com.pj.utils.cache.RedisUtil;
  14. import com.pj.utils.so.SoMap;
  15. import lombok.extern.slf4j.Slf4j;
  16. import org.springframework.context.annotation.Lazy;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import javax.annotation.Resource;
  20. import java.math.BigDecimal;
  21. import java.util.*;
  22. /**
  23. *
  24. */
  25. @Service
  26. @Transactional(rollbackFor = Exception.class)
  27. @Slf4j
  28. public class ApiService {
  29. @Resource
  30. TbCostomerService tbCostomerService;
  31. @Resource
  32. @Lazy
  33. TbBusinessService tbBusinessService;
  34. @Resource
  35. TbPassRecordService tbPassRecordService;
  36. @Resource
  37. @Lazy
  38. TbBusinessCarService tbBusinessCarService;
  39. public List<InOutRecordBO> getInOutRecord(SoMap so) {
  40. List<TbPassRecord> passRecords = tbPassRecordService.getList(so);
  41. List<InOutRecordBO> recordList = new ArrayList<>();
  42. for (TbPassRecord passRecord : passRecords) {
  43. InOutRecordBO record = new InOutRecordBO();
  44. BeanUtil.copyProperties(passRecord, record);
  45. TbCostomer costomer = tbCostomerService.getById(passRecord.getCustomerId());
  46. record.setCustomerContact(costomer.getPhone()).setDutyPeople(costomer.getDutyPeople());
  47. recordList.add(record);
  48. }
  49. return recordList;
  50. }
  51. public List<TbCostomer> getCustomerList(SoMap so) {
  52. List<TbCostomer> list = tbCostomerService.getList(so);
  53. return list;
  54. }
  55. public void confirmCustomer(Long customerId, String judgeContent) {
  56. TbCostomer costomer = tbCostomerService.getById(customerId);
  57. if (costomer != null && costomer.getJudgeStatus() == 1) {
  58. tbCostomerService.judge(customerId + "", 2, judgeContent);
  59. }
  60. }
  61. public List<TbBusinessCar> searchPartCar(String carNo) {
  62. return tbBusinessCarService.searchPartCar(carNo);
  63. }
  64. public void confirm(List<String> ids) {
  65. tbBusinessService.confirm(ids);
  66. }
  67. public Map<String, Object> getBusinessMoney(String businessId, String state) {
  68. return tbBusinessService.getBusinessMoney(businessId, state);
  69. }
  70. public Map<String, Object> getPartCarByChannel(String channel) {
  71. Map<String, Object> result = new HashMap<>();
  72. String carNo = RedisUtil.get(channel);
  73. if (StrUtil.isEmpty(carNo)) {
  74. return result;
  75. }
  76. TbBusinessCar tbBusinessCar = tbBusinessCarService.findInBuNoOutAndNotPay(carNo);
  77. Date now=new Date();
  78. BigDecimal price = tbBusinessService.calculationPartMoney(tbBusinessCar.getRealInTime(), now, tbBusinessCar.getCarSize());
  79. BigDecimal dif = price.subtract(tbBusinessCar.getMoney());
  80. Map<String, Object> car = new HashMap<>();
  81. car.put("id",tbBusinessCar.getId());
  82. car.put("carNo",tbBusinessCar.getCarNo());
  83. car.put("price",dif);
  84. result.put("total",dif);
  85. result.put("cars",Collections.singleton(car));
  86. return result;
  87. }
  88. }