jialh
昨天 dd6687b118561100e1677e88a9c2f5842a54c531
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
129
130
131
132
133
134
135
136
137
138
139
140
package com.java110.store.smo.impl;
 
 
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.contract.*;
import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.po.contract.ContractPo;
import com.java110.store.dao.IContractServiceDao;
import com.java110.utils.util.BeanConvertUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.List;
import java.util.Map;
 
/**
 * @ClassName FloorInnerServiceSMOImpl
 * @Description 合同管理内部服务实现类
 * @Author wuxw
 * @Date 2019/4/24 9:20
 * @Version 1.0
 * add by wuxw 2019/4/24
 **/
@RestController
public class ContractInnerServiceSMOImpl extends BaseServiceSMO implements IContractInnerServiceSMO {
 
    @Autowired
    private IContractServiceDao contractServiceDaoImpl;
 
 
    @Override
    public int saveContract(@RequestBody ContractPo contractPo) {
        int saveFlag = 1;
        contractServiceDaoImpl.saveContractInfo(BeanConvertUtil.beanCovertMap(contractPo));
        return saveFlag;
    }
 
    @Override
    public int saveContract(@RequestBody ContractDto contractPo) {
        int saveFlag = 1;
        contractServiceDaoImpl.saveContractInfo(BeanConvertUtil.beanCovertMap(contractPo));
        return saveFlag;
    }
 
 
    @Override
    public int updateContract(@RequestBody ContractPo contractPo) {
        int saveFlag = 1;
        contractServiceDaoImpl.updateContractInfo(BeanConvertUtil.beanCovertMap(contractPo));
        return saveFlag;
    }
 
    public int updateContract(@RequestBody ContractDto contractPo) {
        int saveFlag = 1;
 
        // ===================== 1. 先更新主合同(你原来的代码) =====================
        Map<String, Object> mainMap = BeanConvertUtil.beanCovertMap(contractPo);
        contractServiceDaoImpl.updateContractInfo(mainMap);
 
        // ===================== 2. 更新/插入 广告信息子表 =====================
        AdContractInfoDto adContractInfo = contractPo.getAdContractInfo();
        if (adContractInfo != null) {
            adContractInfo.setContractId(contractPo.getContractId());
            Map<String, Object> adMap = BeanConvertUtil.beanCovertMap(adContractInfo);
            // 这里调用你DAO的 新增或更新方法(不存在则insert,存在则update)
            contractServiceDaoImpl.saveOrUpdateAdContractInfo(adMap);
        }
 
        // ===================== 3. 更新/插入 合同金额明细子表 =====================
        ContractAmountDetailDto amountDetail = contractPo.getContractAmountDetail();
        if (amountDetail != null) {
            amountDetail.setContractId(contractPo.getContractId());
            Map<String, Object> detailMap = BeanConvertUtil.beanCovertMap(amountDetail);
            contractServiceDaoImpl.saveOrUpdateContractAmountDetail(detailMap);
        }
 
        // ===================== 4. 更新/插入 合同管理分成子表 =====================
        ContractManagementShareDto managementShare = contractPo.getContractManagementShare();
        if (managementShare != null) {
            managementShare.setContractId(contractPo.getContractId());
            Map<String, Object> shareMap = BeanConvertUtil.beanCovertMap(managementShare);
            contractServiceDaoImpl.saveOrUpdateContractManagementShare(shareMap);
        }
 
        // ===================== 5. 更新/插入 合同缴费状态子表 =====================
        ContractPaymentStatusDto paymentStatus = contractPo.getContractPaymentStatus();
        if (paymentStatus != null) {
            paymentStatus.setContractId(contractPo.getContractId());
            Map<String, Object> payMap = BeanConvertUtil.beanCovertMap(paymentStatus);
            contractServiceDaoImpl.saveOrUpdateContractPaymentStatus(payMap);
        }
 
        return saveFlag;
    }
 
    @Override
    public int deleteContract(@RequestBody ContractPo contractPo) {
        int saveFlag = 1;
        contractPo.setStatusCd("1");
        contractServiceDaoImpl.updateContractInfo(BeanConvertUtil.beanCovertMap(contractPo));
        return saveFlag;
    }
 
    @Override
    public List<ContractDto> queryContracts(@RequestBody ContractDto contractDto) {
 
        //校验是否传了 分页信息
 
        int page = contractDto.getPage();
 
        if (page != PageDto.DEFAULT_PAGE) {
            contractDto.setPage((page - 1) * contractDto.getRow());
        }
 
        List<ContractDto> contracts = BeanConvertUtil.covertBeanList(contractServiceDaoImpl.getContractInfo(BeanConvertUtil.beanCovertMap(contractDto)), ContractDto.class);
 
        return contracts;
    }
 
 
    @Override
    public int queryContractsCount(@RequestBody ContractDto contractDto) {
        return contractServiceDaoImpl.queryContractsCount(BeanConvertUtil.beanCovertMap(contractDto));
    }
 
    @Override
    public List<Map> queryContractsByOwnerIds(@RequestBody Map info) {
        return contractServiceDaoImpl.queryContractsByOwnerIds(info);
    }
 
    public IContractServiceDao getContractServiceDaoImpl() {
        return contractServiceDaoImpl;
    }
 
    public void setContractServiceDaoImpl(IContractServiceDao contractServiceDaoImpl) {
        this.contractServiceDaoImpl = contractServiceDaoImpl;
    }
}