| 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<CustomerDataDictionary> 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<ShopInvoice> 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<ShopInvoice> list = invoiceDao.selectByUserId(shopInvoice); | 
|         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, list,list.size()); | 
|         return result; | 
|     } | 
| } |