forked from kidgrow-microservices-platform

zhaoxiaohao
2020-11-04 8ea75b6f027f18f6daf229e43928f78b49740f79
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package com.kidgrow.oprationcenter.service.impl;
 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.constant.CommonConstant;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.common.service.impl.SuperServiceImpl;
import com.kidgrow.oprationcenter.mapper.PayManagerMapper;
import com.kidgrow.oprationcenter.model.PayManager;
import com.kidgrow.oprationcenter.model.ProductOrder;
import com.kidgrow.oprationcenter.model.ProductOrderDetail;
import com.kidgrow.oprationcenter.service.IPayManagerService;
import com.kidgrow.oprationcenter.service.IProductOrderDetailService;
import com.kidgrow.oprationcenter.service.IProductOrderService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 * @Description: <br>
 * @Project: 运营中心<br>
 * @CreateDate: Created in 2020-09-21 14:16:18 <br>
 * @Author: <a href="411269194@kidgrow.com">houruijun</a>
 * @version 1.0
 */
@Slf4j
@Service
public class PayManagerServiceImpl extends SuperServiceImpl<PayManagerMapper, PayManager> implements IPayManagerService {
 
    @Autowired
    private IProductOrderService productOrderService;
    @Autowired
    private IProductOrderDetailService productOrderDetailService;
    /**
     * 列表
     * @param params
     * @return
     */
    @Override
    public PageResult<PayManager> findList(Map<String, Object> params){
        Page<PayManager> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
        List<PayManager> list  =  baseMapper.findList(page, params);
        return PageResult.<PayManager>builder().data(list).code(0).count(page.getTotal()).build();
    }
 
    /**
   * 根据PayManager对象当做查询条件进行查询
   * @param payManager
   * @return PayManager
   */
    @Override
    public PayManager findByObject(PayManager payManager){
        return baseMapper.findByObject(payManager);
    }
    /**
     * 查看科室的单次支付功能  如果返回空 则视为未开通
     * @param hospitalId
     * @param departmentId
     * @return PayManager
     */
    @Override
    public PayManager findByObject(Long hospitalId,Long departmentId){
        PayManager payManager = new PayManager();
        ProductOrderDetail productOrderDetail= getProductDetail(hospitalId,departmentId);
        if (productOrderDetail != null) {
            payManager.setDepartmentId(departmentId);
            payManager.setHospitalId(hospitalId);
            payManager.setIsDel(false);
            payManager.setEnabled(true);
            PayManager payManagerModel = baseMapper.findByObject(payManager);
            return payManagerModel;
        }
        else
        {
            return payManager;
        }
    }
    /**
     * 获取科室下的一个业务的套餐数据
     * @param hospitalId
     * @param departmentId
     * @return
     */
    @Override
    public ProductOrderDetail getProductDetail(Long hospitalId, Long departmentId)
    {
        ProductOrder productOrder=new ProductOrder();
        productOrder.setHospitalId(hospitalId);
        productOrder.setDepartmentId(departmentId);
        productOrder.setEnabled(true);
        productOrder.setIsDel(false);
        ProductOrder productOrderModel=productOrderService.findByObject(productOrder);
        if (productOrderModel != null) {
            ProductOrderDetail productOrderDetail =new ProductOrderDetail();
            productOrderDetail.setProId(CommonConstant.PAY_USER_PRODUCT_ID);
            productOrderDetail.setOrderId(productOrderModel.getId());
            productOrderDetail.setEnabled(true);
            productOrderDetail.setIsDel(false);
            ProductOrderDetail modelDetail=productOrderDetailService.findByObject(productOrderDetail);
            return modelDetail;
        }
        return null;
    }
    /**
     * 保存单次支付功能数据
     * @param payManager
     * @param sysUser
     * @return
     */
    @Override
    public Boolean saveproductOrder(PayManager payManager, SysUser sysUser)
    {
        Map<String, Object> params = new HashMap<>();
        params.put("hospitalId", payManager.getHospitalId());
        params.put("departmentId", payManager.getDepartmentId());
        params.put("hospitalName", payManager.getHospitalName());
        params.put("departmentName", payManager.getDepartmentName());
        params.put("proId", CommonConstant.PAY_USER_PRODUCT_ID);
        boolean isResult = productOrderService.saveProductDetail(params, sysUser);
        return isResult;
    }
}