修复发票系统Bug,修复查询开票历史记录时isRead始终未null,修复重复查看发票详情接口,报空指针异常错误。

This commit is contained in:
wen 2022-01-06 13:04:19 +08:00
parent 87c4289f40
commit 5fddd189dc
4 changed files with 29 additions and 4 deletions

View File

@ -0,0 +1,21 @@
package com.xhpc.invoice.constant;
/**
* 用户是否已经阅读了发票的状态常量类
*
* @author WH
* @date 2022/1/6 12:51
* @since version-1.0
*/
public class IsReadStatusConst {
/**
* 用户已读
*/
public static final Integer READED = 1;
/**
* 用户未读
*/
public static final Integer NO_READ = 0;
}

View File

@ -152,7 +152,7 @@ public class XhpcInvoiceController extends BaseController {
* @since version-1.0
*/
@GetMapping("/detail")
public AjaxResult findSpecificInvoice(Map<String, Object> invoiceIdMap) {
public AjaxResult findSpecificInvoice(@RequestParam Map<String, Object> invoiceIdMap) {
Long invoiceId = Long.valueOf(String.valueOf(invoiceIdMap.get("invoiceId")));
SpecificInvoiceWrap specificInvoiceWrap = xhpcInvoiceService.findSpecificInvoice(invoiceId);
@ -160,7 +160,6 @@ public class XhpcInvoiceController extends BaseController {
return AjaxResult.error("要回显的订单发票id有误");
}
return AjaxResult.success(specificInvoiceWrap);
}
}

View File

@ -10,6 +10,7 @@ import com.xhpc.common.domain.XhpcChargingStation;
import com.xhpc.common.redis.service.RedisService;
import com.xhpc.invoice.constant.InvoiceMapHistoryOrderStatusConst;
import com.xhpc.invoice.constant.InvoiceStatusConst;
import com.xhpc.invoice.constant.IsReadStatusConst;
import com.xhpc.invoice.domain.*;
import com.xhpc.invoice.mapper.*;
import com.xhpc.invoice.pojo.XhpcInvoice;
@ -304,7 +305,10 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService {
if (xhpcInvoice.getStatus().equals(InvoiceStatusConst.INVOICING)) {
return specificInvoicedResponse;
}
//如果用户已经查看了该发票却再次调用该接口那么就直接返回数据
if (xhpcInvoice.getIsRead().equals(IsReadStatusConst.READED)) {
return specificInvoicedResponse;
}
//一旦调了详情接口就去掉该已开发票的未读状态同时redis中的未读数量数据-1
xhpcInvoiceMapper.updateByInvoiceId(invoiceId);
reduceNoReadInvoiceCount(xhpcInvoice);

View File

@ -29,12 +29,13 @@
<result column="electric_invoice_url" jdbcType="VARCHAR" property="electricInvoiceUrl"/>
<result column="updator" jdbcType="BIGINT" property="updator"/>
<result column="update_time" jdbcType="DATE" property="updateTime"/>
<result column="is_read" jdbcType="TINYINT" property="isRead"/>
<result column="del_flag" jdbcType="INTEGER" property="delFlag"/>
</resultMap>
<sql id="Base_Column_List">
`invoice_id`
,
,invoice_type,
`receive_email`,
`title_type`,
`title_content`,