FeeServiceImpl.java 7.0 KB
Newer Older
1 2
package com.hqyj.seven.service.impl;

3 4
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
5
import com.hqyj.seven.dao.EnterDao;
6 7
import com.hqyj.seven.dao.Feedao;
import com.hqyj.seven.pojo.Fee;
8
import com.hqyj.seven.pojo.PageData;
9 10 11 12
import com.hqyj.seven.service.FeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

13
import java.util.HashMap;
14
import java.util.List;
15
import java.util.Map;
16

17 18 19 20
@Service
public class FeeServiceImpl implements FeeService {

    private Feedao feedao;
刘兴 已提交
21

22 23
    private EnterDao enterDao;

刘兴 已提交
24
    @Autowired
25 26 27
    public void setEnterDao(EnterDao enterDao) {
        this.enterDao = enterDao;
    }
28

29

刘兴 已提交
30

31 32 33 34 35
    @Autowired
    public void setFeedao(Feedao feedao) {
        this.feedao = feedao;
    }

36 37 38 39 40 41
    @Override
    //插入数据
    public int insertFee(Fee fee) {
        return feedao.inserintoFee(fee);

    }
刘兴 已提交
42 43

    //查询已经缴费信息表
44 45
    @Override
    public PageData<Fee> queryByDirectPay(int pageNumber, int pageSize) {
刘兴 已提交
46
        PageHelper.startPage(pageNumber, pageSize);
47 48 49 50 51 52 53 54 55 56
        List<Fee> houseList = feedao.queryByDirect("缴费");
        PageInfo<Fee> pageInfo = new PageInfo<>(houseList);
        PageData<Fee> pageData = new PageData<>();
        pageData.setCurrentPage(pageNumber);
        //设置每页数
        pageData.setPageSize(pageSize);
        //设置总页数
        pageData.setTotalPage(pageInfo.getPages());
        //设置总记录数
        pageData.setTotalSize((int) pageInfo.getTotal());
刘兴 已提交
57
        if (pageInfo.isHasNextPage()) {
58 59
            //有下一页 设置下一页页码
            pageData.setNextPage(pageInfo.getNextPage());
刘兴 已提交
60
        } else {
61 62 63
            //没有下一页,设置尾页
            pageData.setNextPage(pageInfo.getPages());
        }
刘兴 已提交
64
        if (pageInfo.isHasPreviousPage()) {
65 66
            //有上一页 设置上一页页码
            pageData.setPreviousPage(pageInfo.getPrePage());
刘兴 已提交
67
        } else {
68 69 70 71 72 73 74 75 76 77 78
            //没有上一页,设置首页
            pageData.setPreviousPage(1);
        }
        //设置房屋信息
        pageData.setList(pageInfo.getList());
        //返回房屋信息
        return pageData;
    }

    @Override
    public PageData<Fee> queryByDirectNoPay(int pageNumber, int pageSize) {
刘兴 已提交
79
        PageHelper.startPage(pageNumber, pageSize);
80 81
        List<Fee> houseList = feedao.queryByDirect("未缴费");
        PageInfo<Fee> pageInfo = new PageInfo<>(houseList);
82 83 84 85 86 87 88 89
        PageData<Fee> pageData = new PageData<>();
        pageData.setCurrentPage(pageNumber);
        //设置每页数
        pageData.setPageSize(pageSize);
        //设置总页数
        pageData.setTotalPage(pageInfo.getPages());
        //设置总记录数
        pageData.setTotalSize((int) pageInfo.getTotal());
刘兴 已提交
90
        if (pageInfo.isHasNextPage()) {
91 92
            //有下一页 设置下一页页码
            pageData.setNextPage(pageInfo.getNextPage());
刘兴 已提交
93
        } else {
94 95 96
            //没有下一页,设置尾页
            pageData.setNextPage(pageInfo.getPages());
        }
刘兴 已提交
97
        if (pageInfo.isHasPreviousPage()) {
98 99
            //有上一页 设置上一页页码
            pageData.setPreviousPage(pageInfo.getPrePage());
刘兴 已提交
100
        } else {
101 102 103 104 105 106 107 108 109 110
            //没有上一页,设置首页
            pageData.setPreviousPage(1);
        }
        //设置房屋信息
        pageData.setList(pageInfo.getList());
        //返回房屋信息
        return pageData;
    }

    @Override
刘兴 已提交
111 112 113
    public PageData<Fee> queryAllId(int pageNumber, int pageSize, int id, String direct) {
        PageHelper.startPage(pageNumber, pageSize);
        List<Fee> houseList = feedao.queryAllId(id, direct);
114
        PageInfo<Fee> pageInfo = new PageInfo<>(houseList);
115 116 117 118 119 120 121 122
        PageData<Fee> pageData = new PageData<>();
        pageData.setCurrentPage(pageNumber);
        //设置每页数
        pageData.setPageSize(pageSize);
        //设置总页数
        pageData.setTotalPage(pageInfo.getPages());
        //设置总记录数
        pageData.setTotalSize((int) pageInfo.getTotal());
刘兴 已提交
123
        if (pageInfo.isHasNextPage()) {
124 125
            //有下一页 设置下一页页码
            pageData.setNextPage(pageInfo.getNextPage());
刘兴 已提交
126
        } else {
127 128 129
            //没有下一页,设置尾页
            pageData.setNextPage(pageInfo.getPages());
        }
刘兴 已提交
130
        if (pageInfo.isHasPreviousPage()) {
131 132
            //有上一页 设置上一页页码
            pageData.setPreviousPage(pageInfo.getPrePage());
刘兴 已提交
133
        } else {
134 135 136 137 138 139 140 141
            //没有上一页,设置首页
            pageData.setPreviousPage(1);
        }
        //设置房屋信息
        pageData.setList(pageInfo.getList());
        //返回房屋信息
        return pageData;
    }
F
完善  
fengjin 已提交
142

143 144 145 146 147
    @Override
    public Fee queryOneByFeeId(int feeId) {
        return feedao.queryOneByFeeId(feeId);
    }

148 149
    @Override
    public double paymentAmount(int feeId) {
刘兴 已提交
150 151
        Fee fee = feedao.queryOneByFeeId(feeId);
        return fee.getMoney();
152
    }
刘兴 已提交
153 154

    //现金支付
155 156
    @Override
    public Map<String, Object> CashPayment(int feeId) {
刘兴 已提交
157 158
        Map<String, Object> result = new HashMap<>();
        Fee fee = feedao.queryOneByFeeId(feeId);
159
        System.out.println(fee);
160
        if (fee != null&&fee.getFee_type().equals("待缴费")) {
刘兴 已提交
161 162 163 164 165 166 167 168 169 170
            double money = fee.getMoney();
            int enterId = fee.getEnterId();
            fee.setFee_type("现金");
            fee.setDirect("缴费");
            feedao.updateFee(fee);
            enterDao.updateByEnterIdToMoney(money, enterId);
            result.put("code", 200);
            result.put("message", "现金支付成功");
        } else {
            result.put("code", -1);
F
fengjin 已提交
171
            result.put("message", "此房间未找到或者不是待缴费状态请先退房试试");
172
        }
刘兴 已提交
173
        return result;
174
    }
175

F
fengjin 已提交
176
    //支付宝支付
177
    public  boolean payByAliPay(int feeId,double total_amount,String  out_trade_no){
F
fengjin 已提交
178
        Fee fee = feedao.queryOneByFeeId(feeId);
179
        if (fee != null&&fee.getFee_type().equals("支付宝支付完成")) {
F
fengjin 已提交
180 181 182 183 184
            double money = fee.getMoney();
            int enterId = fee.getEnterId();
            fee.setFee_type("支付宝");
            fee.setDirect("缴费");
            feedao.updateFee(fee);
185
            enterDao.updateByEnterIdToMoneyTwo(enterId,money,out_trade_no);
刘兴 已提交
186
            return true;
F
fengjin 已提交
187
        }
刘兴 已提交
188
        return false;
F
fengjin 已提交
189
    }
190

191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
    //传入缴费ID、流水号、金额、之前状态、最新状态
    @Override
    public int updateFeeInfoByFeeId(int feeId,String out_trade_no,String Fee_type1,String Fee_type2) {
        Fee fee = feedao.queryOneByFeeId(feeId);
        if (fee != null&&fee.getFee_type().equals(Fee_type1)) {
            fee.setFee_type(Fee_type2);
            double money = fee.getMoney();
            int enterId = fee.getEnterId();
            if (feedao.updateFee(fee) == 1){
                if (enterDao.updateByEnterIdToMoneyTwo( enterId,money,out_trade_no) == 1){
                    return 1;
                }
            }else {
                return 0;
            }
        }
        return 0;
    }

F
完善  
fengjin 已提交
210

211
}