OrderBillServiceImpl.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package com.goafanti.order.service.impl;
  2. import com.goafanti.admin.service.DepartmentService;
  3. import com.goafanti.common.constant.AFTConstants;
  4. import com.goafanti.common.dao.AdminMapper;
  5. import com.goafanti.common.dao.TOrderBillNewMapper;
  6. import com.goafanti.common.dao.TOrderNewMapper;
  7. import com.goafanti.common.model.TOrderBillNew;
  8. import com.goafanti.common.model.TOrderNew;
  9. import com.goafanti.core.mybatis.BaseMybatisDao;
  10. import com.goafanti.core.mybatis.page.Pagination;
  11. import com.goafanti.core.shiro.token.TokenManager;
  12. import com.goafanti.order.enums.LiquidationNewState;
  13. import com.goafanti.order.service.OrderBillService;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.beans.factory.annotation.Value;
  16. import org.springframework.stereotype.Service;
  17. import java.util.*;
  18. @Service
  19. public class OrderBillServiceImpl extends BaseMybatisDao<TOrderBillNewMapper> implements OrderBillService {
  20. @Autowired
  21. private TOrderBillNewMapper billNewMapper;
  22. @Autowired
  23. private TOrderNewMapper tOrderNewMapper;
  24. @Autowired
  25. private AdminMapper adminMapper;
  26. @Value(value = "${upload.path}")
  27. private String uploadPath = null;
  28. @Autowired
  29. private DepartmentService departmentService;
  30. @SuppressWarnings("unchecked")
  31. @Override
  32. public Pagination<TOrderBillNew> myBillList(TOrderBillNew billNew,
  33. Integer pageNo, Integer pageSize) {
  34. Map<String, Object> params = new HashMap<String, Object>();
  35. List<String>fids= new ArrayList<>();
  36. if (TokenManager.hasRole(AFTConstants.FINANCE)) {
  37. fids.add(TokenManager.getAdminId());
  38. }else if (TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)) {
  39. fids=adminMapper.selectBySuperId(TokenManager.getAdminId());
  40. }
  41. params.put("fids", fids);
  42. params.put("b", billNew);
  43. if (billNew.getDeps()!=null){
  44. params.put("deps", departmentService.parseArray(billNew.getDeps()));
  45. }
  46. return (Pagination<TOrderBillNew>)findPage("myBillList", "myBillCount", params, pageNo, pageSize);
  47. }
  48. @Override
  49. public int deleteMyBill(String billNo) {
  50. TOrderBillNew tbn=billNewMapper.selectByPrimaryKey(billNo);
  51. TOrderNew o=tOrderNewMapper.queryById(tbn.getOrderNo());
  52. TOrderNew o2=new TOrderNew();
  53. o2.setOrderNo(o.getOrderNo());
  54. o2.setSettlementAmount(o.getSettlementAmount().subtract(tbn.getTransactionAmount()));
  55. if(o2.getSettlementAmount().compareTo(o.getFirstAmount())== -1) {
  56. o2.setLiquidationStatus(LiquidationNewState.WAIT_PAY_FIRST_BALANCE.getCode());
  57. }else if(o2.getSettlementAmount().compareTo(o.getFirstAmount())> -1&&
  58. o2.getSettlementAmount().compareTo(o.getTotalAmount())== -1) {
  59. o2.setLiquidationStatus(LiquidationNewState.WAIT_PAY_LAST_BALANCE.getCode());
  60. }else if(o2.getSettlementAmount().compareTo(o.getTotalAmount())== 0) {
  61. o2.setLiquidationStatus(LiquidationNewState.ALREADY_PAY.getCode());
  62. }
  63. tOrderNewMapper.update(o2);
  64. TOrderBillNew ntbn=new TOrderBillNew();
  65. ntbn.setBillNo(tbn.getBillNo());
  66. ntbn.setDeleteSign((byte)1);
  67. ntbn.setDeleteTime(new Date());
  68. billNewMapper.updateByPrimaryKeySelective(ntbn);
  69. return 1;
  70. }
  71. }