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;
|
}
|
}
|