OrderBillServiceImpl.java 2.9 KB

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