package com.matrix.system.shopXcx.api.action; import com.matrix.core.pojo.AjaxResult; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.common.bean.CustomerDataDictionary; import com.matrix.system.common.dao.CustomerDataDictionaryDao; import com.matrix.component.redis.RedisUserLoginUtils; import com.matrix.system.common.constance.AppConstance; import com.matrix.system.shopXcx.bean.ShopInvoice; import com.matrix.system.shopXcx.dao.ShopInvoiceDao; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @description 发票 * @author jiangyouyao * @date 2019-06-15 15:15 */ @CrossOrigin(origins = "*", maxAge = 3600) @Controller @RequestMapping(value = "wxapi/Invoice") public class WxInvoiceAction { @Autowired private CustomerDataDictionaryDao dictionaryDao; @Autowired private ShopInvoiceDao invoiceDao; @Autowired private RedisUserLoginUtils redisUserLoginUtils; /** * 查询发票内容接口 * @param * @return */ @PostMapping("/findInvoiceContent") @ResponseBody public AjaxResult getInvoiceContent() { List dataDictionaries = dictionaryDao.selectByInvoiceContent(); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataDictionaries); return result; } /** * 接收保存发票数据 */ @PostMapping(value = "/saveInvoice") public @ResponseBody AjaxResult saveInvoice(@RequestBody ShopInvoice shopInvoice) { SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); shopInvoice.setCreateBy(loginUser.getOpenId()); shopInvoice.setUpdateBy(loginUser.getOpenId()); shopInvoice.setUserId(loginUser.getOpenId()); shopInvoice.setInvoState(AppConstance.WAITING_INVOICE); //判断订单是否重复申请发票 ShopInvoice invoice = new ShopInvoice(); invoice.setUserId(loginUser.getOpenId()); invoice.setOrderId(shopInvoice.getOrderId()); List shopInvoices = invoiceDao.selectByModel(invoice); if(CollectionUtils.isNotEmpty(shopInvoices) && shopInvoices.size() > 0){ return new AjaxResult(AjaxResult.STATUS_FAIL, "该订单已申请过发票,不能重复申请"); }else { int i = invoiceDao.insert(shopInvoice); if (i == 0) { return new AjaxResult(AjaxResult.STATUS_FAIL, "保存失败"); } return new AjaxResult(AjaxResult.STATUS_SUCCESS, "保存成功"); } } /** * 根据用户ID查询发票 * @param * @return */ @PostMapping("/findProductComment") @ResponseBody public AjaxResult getProductCommentByUserId(@RequestBody ShopInvoice shopInvoice) { SysVipInfo loginUser = redisUserLoginUtils.getLoginUser(SysVipInfo.class); String userId = loginUser.getOpenId(); shopInvoice.setUserId(userId); List list = invoiceDao.selectByUserId(shopInvoice); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, list,list.size()); return result; } }