博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动商城第十篇【商品审核和上下价】
阅读量:6455 次
发布时间:2019-06-23

本文共 6651 字,大约阅读时间需要 22 分钟。


tags: 移动商城项目


商品审核

接下来我们做的是商品审核的功能:

我们到修改url的地址,并且给出对应controller的方法

  • 商品审核
  • 复制代码

    查询出未审核的商品其实就是条件查询的一种,因此该controller的代码和列出商品的代码几乎一样。

    @RequestMapping("/listAudit.do")    public String listAudit(QueryCondition queryCondition,Model model) {                //查询出所有的品牌        List
    ebBrands = ebBrandService.selectBrand(); //如果是第一次访问的话,那么默认是没有当前页号的,因此赋值为1 if (queryCondition.getPageNo() == null) { queryCondition.setPageNo(1); } //得到分页数据 Page page = itemService.selectItemByCondition(queryCondition); model.addAttribute("page", page); model.addAttribute("ebBrands", ebBrands); //回显条件数据 model.addAttribute("queryCondition", queryCondition); return "item/listAudit"; }复制代码

    处理下边的url并且随着条件,样式发生改变:

    全部 待审核 审核不通过 已审核

    复制代码

    数据回显

    通过隐藏域拿到查询条件的值:

    复制代码

    通过判断隐藏域的值来改变我们的样式:

    $(document).ready(function () {            if ($("#auditStatus").val() == '0') {                $("#label1").attr("class", "here");            }            else if ($("#auditStatus").val() == 2) {                $("#label2").attr("class", "here");            }            else if ($("#auditStatus").val() == 1) {                $("#label3").attr("class", "here");            }            else $("#label4").attr("class", "here");        })复制代码

    查询条件以及回显:

    查询:

    --%> <%--模糊查询--%>

    复制代码

    根据审核条件的不同,在显示商品的url中也应该是不同的。

    • 只要在遍历的时候,判断对应的状态就行了。

    处理审核

    处理审核:使用JavaScript方法来进行控制,把item的Id传递进去和审核对应的值。

    通过
    不通过
    复制代码

    审核通过和不通过总会有理由的,对于我们的理由我们使用一张表来保存的。

    function isPass(itemId, auditStatus){            //修改浮动层的标题            $("#addItemNoteH2").html("商品审核");            //清空内容            $("#itemNote").val("");            tipShow("#addItemNote");            //给表单赋值            $("#itemId").val(itemId);            $("#myAuditStatus").val(auditStatus);        }复制代码

    使用表单来处理我们的操作。其中notes是我们弹出框的数据。

    • 我们使用一个表单就可以把不同方法中的数据集合在一起,我们只要把表单提交过去就行了!
    复制代码

    响应事件,给表单赋值,提交表单

    $("#addItemNoteConfirm").click(function(){                var notes = $("#itemNote").val();                //给表单赋值                $("#notes").val(notes);                //提交表单                $("#auditForm").submit();            });复制代码

    我们是使用EB_CONSOLE_LOG这张数据表来保存我们后台操作的日志记录的。

    表的字段如下:

    既然我们要操作到表,我们就得逆向工厂...

    设置主键为自动增长

    insert into EB_CONSOLE_LOG (CONSOLE_LOG_ID, ENTITY_NAME, ENTITY_ID, USER_ID, OP_TYPE, OP_TIME, NOTES, TABLE_NAME) values (seqconsolelogid.nextval, #{entityName,jdbcType=VARCHAR}, #{entityId,jdbcType=DECIMAL}, #{userId,jdbcType=DECIMAL}, #{opType,jdbcType=VARCHAR}, #{opTime,jdbcType=TIMESTAMP}, #{notes,jdbcType=VARCHAR}, #{tableName,jdbcType=VARCHAR})
    复制代码

    编写dao

    /** * 继承SqlSessionDaoSupport能够得到sessionFactory的引用,非常方便! */@Repositorypublic class EbConsoleLogDaoImpl extends SqlSessionDaoSupport implements EbConsoleLogDao {    String nameSpace = "com.rl.ecps.sqlMap.EbConsoleLogMapper.";    public void saveConsoleLog(EbConsoleLog ConsoleLog) {        this.getSqlSession().insert(nameSpace + "insert", ConsoleLog);    }}复制代码

    修改商品的属性,由于修改的状态个数是未知的,因此我们使用动态修改:

    public void updateItem(EbItem ebItem) {        this.getSqlSession().update(nameSpace + "updateByPrimaryKeySelective", ebItem);    }复制代码

    编写service

    public void updateItem(Long itemId, Short auditStatus, String notes) {                //设置item的属性        EbItem ebItem = new EbItem();        ebItem.setItemId(itemId);        ebItem.setAuditStatus(auditStatus);        ebItem.setCheckerUserId((long) 222);        ebItem.setCheckTime(new Date());                //更新item        itemDao.updateItem(ebItem);                //操作日志        EbConsoleLog ebConsoleLog = new EbConsoleLog();        ebConsoleLog.setEntityId(itemId);        ebConsoleLog.setEntityName("商品表");        ebConsoleLog.setNotes(notes);        ebConsoleLog.setOpTime(new Date());        if(auditStatus == 1){            ebConsoleLog.setOpType("审核通过");        }else{            ebConsoleLog.setOpType("审核不通过");        }        ebConsoleLog.setTableName("EB_ITEM");        ebConsoleLog.setUserId(1l);        logDao.saveConsoleLog(ebConsoleLog);    }复制代码

    controller

    @RequestMapping("/auditItem.do")    public String  auditItem(Long itemId, Short auditStatus, String notes) throws IOException {        itemService.updateItem(itemId, auditStatus, notes);        return "redirect:listAudit.do";    }复制代码

    把商品的状态修改了,并且已经把操作记录写到数据库表中了。

    上下价

    对于上下价和审核的逻辑基本是相同的...

    根据不同的状态给出不同的超链接:

    查看            
    编辑
    删除
    上架
    下架
    发布
    复制代码

    给表单赋值

    function isShow(itemId, showStatus) {            tipShow("#confirm");            //给表单赋值            $("#itemId").val(itemId);            $("#myShowStatus").val(showStatus);        }复制代码

    在弹出框中绑定提交事件,提交表单

    $("#confirmOk").click(function () {    $("#showForm").submit();});复制代码

    编写controller和service

    @RequestMapping("/showItem.do")    public String  showItem(Long itemId, Short showStatus) throws IOException {        itemService.showItem(itemId, showStatus);        return "redirect:listItem.do";    }复制代码
    public void showItem(Long itemId, Short showStatus) {        //设置item的属性        EbItem ebItem = new EbItem();        ebItem.setItemId(itemId);        ebItem.setShowStatus(showStatus);        ebItem.setCheckerUserId((long) 222);        ebItem.setCheckTime(new Date());        //更新item        itemDao.updateItem(ebItem);        //操作日志        EbConsoleLog ebConsoleLog = new EbConsoleLog();        ebConsoleLog.setEntityId(itemId);        ebConsoleLog.setEntityName("商品表");        ebConsoleLog.setOpTime(new Date());        if(showStatus == 1){            ebConsoleLog.setOpType("下架");        }else{            ebConsoleLog.setOpType("上架");        }        ebConsoleLog.setTableName("EB_ITEM");        ebConsoleLog.setUserId(1l);        logDao.saveConsoleLog(ebConsoleLog);    }复制代码

    #总结 #

    • 查看商品审核的数据本质上就是有条件地查询商品。与我们之前查询商品的逻辑代码是一样的

    • 对于数据回显来说,还是一样,如果属性是表单内的。我们就判断或者直接进行回显。如果是表单外的数据,我们就通过隐藏域获取该值。通过Jquery来进行控制回显。

    • 处理审核的时候,我们将审核的记录添加到数据库表中。要做到两个JavaScript方法共享数据:我们可以将数据使用form表单,表单内使用隐藏域。Jquery为隐藏域赋值就行了。最后提交表单

    • 商品的上下架和商品审核逻辑几乎一样

    如果您觉得这篇文章帮助到了您,可以给作者一点鼓励

    转载地址:http://gtfzo.baihongyu.com/

    你可能感兴趣的文章
    Oracle 学习之--ASM DISK Header的备份和恢复(1)
    查看>>
    Oracle Study之案例--Oracle ASSM管理方式下的BITMAP
    查看>>
    根据umask值,计算文件权限
    查看>>
    VLSM规划
    查看>>
    How to upgrade the ant built into eclipse?
    查看>>
    在线BASE64加密解密、UrlEncode编码/解码、native/ascii在线转换工具
    查看>>
    CentOS 6.3 安装 JDK
    查看>>
    XenServer 6.5实战系列:Creating a VM Template from an Existing VM
    查看>>
    poi导出word
    查看>>
    云终端选购注意规避五个陷阱
    查看>>
    关于 Java 对象序列化您不知道的 5 件事
    查看>>
    cronolog介绍
    查看>>
    rpm包管理命令使用详解
    查看>>
    Linux 的 NUMA 技术
    查看>>
    虚拟磁带库VTL在实践中的优势
    查看>>
    人生需要放下的八样东西
    查看>>
    企业级Nginx Web 服务优化实战
    查看>>
    IE和Firefox对同一域名进行请求的并发连接数限制
    查看>>
    arm linux ppp拨号gprs上网移植
    查看>>
    linux新建用户的全程解析
    查看>>