package com.izouma.awesomeadmin.service.impl; import java.util.*; import com.izouma.awesomeadmin.dao.PayCodeStockMapper; import com.izouma.awesomeadmin.dto.Result; import com.izouma.awesomeadmin.model.PayCodeStock; import com.izouma.awesomeadmin.util.MbappUtil; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.izouma.awesomeadmin.constant.AppConstant; import com.izouma.awesomeadmin.dto.Page; import com.izouma.awesomeadmin.model.PayCodeOrder; import com.izouma.awesomeadmin.service.PayCodeOrderService; import com.izouma.awesomeadmin.dao.PayCodeOrderMapper; /** * service接口实现类 */ @Service public class PayCodeOrderServiceImpl implements PayCodeOrderService { /*generatedStart*/ private static Logger logger = Logger.getLogger(PayCodeOrderServiceImpl.class); @Autowired private PayCodeOrderMapper payCodeOrderMapper; /*generatedEnd*/ /*generatedStart*/ @Autowired private PayCodeStockMapper payCodeStockMapper; @Override public List getPayCodeOrderList(PayCodeOrder record) { logger.info("getPayCodeOrderList"); try { return payCodeOrderMapper.queryAllPayCodeOrder(record); } catch (Exception e) { logger.error("getPayCodeOrderList", e); } return null; } @Override public List getPayCodeOrderByPage(Page page, PayCodeOrder record) { logger.info("getPayCodeOrderByPage"); try { Map parameter = new HashMap(); parameter.put("record", record); parameter.put(AppConstant.PAGE, page); return payCodeOrderMapper.queryPayCodeOrderByPage(parameter); } catch (Exception e) { logger.error("getPayCodeOrderByPage", e); } return null; } @Override public PayCodeOrder getPayCodeOrderById(String id) { logger.info("getPayCodeOrderyId"); try { return payCodeOrderMapper.selectByPrimaryKey(Integer.valueOf(id)); } catch (Exception e) { logger.error("getPayCodeOrderById", e); } return null; } @Override public PayCodeOrder getPayCodeOrder(PayCodeOrder record) { logger.info("getPayCodeOrder"); try { return payCodeOrderMapper.queryPayCodeOrder(record); } catch (Exception e) { logger.error("getPayCodeOrder", e); } return null; } @Override public boolean createPayCodeOrder(PayCodeOrder record) { logger.info("createPayCodeOrder"); try { int updates = payCodeOrderMapper.insertSelective(record); if (updates > 0) { return true; } } catch (Exception e) { logger.error("createPayCodeOrder", e); } return false; } @Override public boolean deletePayCodeOrder(PayCodeOrder record) { logger.info("deletePayCodeOrder"); try { int updates = payCodeOrderMapper.delete(record); if (updates > 0) { return true; } } catch (Exception e) { logger.error("deletePayCodeOrder", e); } return false; } @Override public boolean updatePayCodeOrder(PayCodeOrder record) { logger.info("updatePayCodeOrder"); try { int updates = payCodeOrderMapper.updateByPrimaryKeySelective(record); if (updates > 0) { return true; } } catch (Exception e) { logger.error("updatePayCodeOrder", e); } return false; } /*generatedEnd*/ @Override public Result submit(PayCodeOrder record) { logger.info("submit"); try { record.setOrderCode(MbappUtil.getOrderIdByUUId()); if (record.getStockId() == null) { return new Result(false, "付款码库存为空"); } PayCodeStock payCodeStock = new PayCodeStock(); payCodeStock.setId(record.getStockId()); payCodeStock = payCodeStockMapper.queryPayCodeStock(payCodeStock); if (payCodeStock == null) { return new Result(false, "付款码库存不存在"); } if (payCodeStock.getAmount() <= 0) { return new Result(false, "付款码库存不足"); } record.setPayType(payCodeStock.getPayType()); record.setCodeId(payCodeStock.getCodeId()); record.setMoney(payCodeStock.getMoney()); int updates = payCodeOrderMapper.insertSelective(record); if (updates > 0) { payCodeStock.setAmount(payCodeStock.getAmount() - 1); payCodeStockMapper.updateByPrimaryKeySelective(payCodeStock); return new Result(true, record.getId()); } } catch (Exception e) { logger.error("submit", e); } return new Result(false, "下单失败"); } }