OrderBillServiceImpl.java 3.1 KB

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