Java大型互联网项目-移动电子商城开发日记-商品审核

Java大型互联网项目-移动电子商城开发日记-商品审核

商品审核

流程图

我们的开发流程为:

审核->通过->上架-> 前台接管

整体页面逻辑与商品组合查询与分页SQL差不多

@RequestMapping("/listAuditItem.do")
public String listAuditItem(QueryCondition qc, Model model){
   List<EbBrand> bList = brandService.selectBrandAll();
   model.addAttribute("bList", bList);
   if(qc.getPageNo() == null){
      qc.setPageNo(1);
   }
   Page page = itemService.selectItemByQC(qc);
   model.addAttribute("page", page);
   //把qc写回去,目的是回显
   model.addAttribute("qc", qc);
   return "item/listAudit";
}

可见要回显的东西都一样

商品审核需要数据库的我们所设计的日志表支持

其生成的实体类为EbConsoleLog

.do代码

	@RequestMapping("/auditItem.do")
	public String auditItem(Long itemId, Short auditStatus, String notes){
		itemService.auditItem(itemId, auditStatus, notes);
		return "redirect:listAuditItem.do?showStatus=1&auditStatus=0";
	}

参数的来源为前台表单的提交的隐藏域数据,.do的参数与前端的name对应即可被接收到

<form id="form1" name="form1" action="${path}/item/listItem.do" method="post">

我在jsp页面设置了三个隐藏文本域

<form action="${path}/item/auditItem.do" method="post" id="auditForm">
   <input id="itemId" name="itemId" type="hidden">
   <input id="auditStatus1" name="auditStatus" type="hidden">
   <input id="notes" name="notes" type="hidden">
</form>

在通过/不通过时触发JS代码提交表单,表单的数据来源为

$("#addItemNoteConfirm").click(function(){
   var notes = $("#itemNote").val();
   $("#notes").val(notes);
   //提交表单
   $("#auditForm").submit();
});

function isPass(itemId, auditStatus){
	//把itemId和auditStatus给表单
	$("#itemId").val(itemId);
	$("#auditStatus1").val(auditStatus);
	
	$("#addItemNoteH2").html("商品审核");
	$("#itemNote").val("");
	tipShow("#addItemNote");
}

isPass函数由审核由前台触发

<c:if test="${item.auditStatus == 0 }">
					  			<a href="javascript:void(0);" onclick="isPass(${item.itemId}, 1)">通过</a>
					  			<a href="javascript:void(0);" onclick="isPass(${item.itemId}, 2)">不通过</a>
					  		</c:if>

Service代码

public void auditItem(Long itemId, Short auditStatus, String notes) {
   //修改auditStatus状态
   EbItem item = new EbItem();
   item.setItemId(itemId);
   item.setAuditStatus(auditStatus);
   itemDao.updateItem(item);
   
   EbConsoleLog log = new EbConsoleLog();
   log.setEntityId(itemId);
   log.setEntityName("商品表");
   log.setNotes(notes);
   log.setOpTime(new Date());
   log.setOpType("审核");
   log.setTableName("EB_ITEM");
   log.setUserId(1l);
   logDao.saveConsoleLog(log);
   
}

商品上架与下架

逻辑与审核类似,不赘述

发布了166 篇原创文章 · 获赞 93 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/JunSIrhl/article/details/104110407
今日推荐