修复发票系统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 * @since version-1.0
*/ */
@GetMapping("/detail") @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"))); Long invoiceId = Long.valueOf(String.valueOf(invoiceIdMap.get("invoiceId")));
SpecificInvoiceWrap specificInvoiceWrap = xhpcInvoiceService.findSpecificInvoice(invoiceId); SpecificInvoiceWrap specificInvoiceWrap = xhpcInvoiceService.findSpecificInvoice(invoiceId);
@ -160,7 +160,6 @@ public class XhpcInvoiceController extends BaseController {
return AjaxResult.error("要回显的订单发票id有误"); return AjaxResult.error("要回显的订单发票id有误");
} }
return AjaxResult.success(specificInvoiceWrap); 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.common.redis.service.RedisService;
import com.xhpc.invoice.constant.InvoiceMapHistoryOrderStatusConst; import com.xhpc.invoice.constant.InvoiceMapHistoryOrderStatusConst;
import com.xhpc.invoice.constant.InvoiceStatusConst; import com.xhpc.invoice.constant.InvoiceStatusConst;
import com.xhpc.invoice.constant.IsReadStatusConst;
import com.xhpc.invoice.domain.*; import com.xhpc.invoice.domain.*;
import com.xhpc.invoice.mapper.*; import com.xhpc.invoice.mapper.*;
import com.xhpc.invoice.pojo.XhpcInvoice; import com.xhpc.invoice.pojo.XhpcInvoice;
@ -304,7 +305,10 @@ public class XhpcInvoiceServiceImpl implements XhpcInvoiceService {
if (xhpcInvoice.getStatus().equals(InvoiceStatusConst.INVOICING)) { if (xhpcInvoice.getStatus().equals(InvoiceStatusConst.INVOICING)) {
return specificInvoicedResponse; return specificInvoicedResponse;
} }
//如果用户已经查看了该发票却再次调用该接口那么就直接返回数据
if (xhpcInvoice.getIsRead().equals(IsReadStatusConst.READED)) {
return specificInvoicedResponse;
}
//一旦调了详情接口就去掉该已开发票的未读状态同时redis中的未读数量数据-1 //一旦调了详情接口就去掉该已开发票的未读状态同时redis中的未读数量数据-1
xhpcInvoiceMapper.updateByInvoiceId(invoiceId); xhpcInvoiceMapper.updateByInvoiceId(invoiceId);
reduceNoReadInvoiceCount(xhpcInvoice); reduceNoReadInvoiceCount(xhpcInvoice);

View File

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