电商后台的常见业务逻辑

商品分类

编辑POJO

@TableName("tb_item_cat")
@Data
@Accessors(chain=true)
public class ItemCat extends BasePojo{
         //注意事项: POJO中的属性都使用包装类型
    @TableId(type=IdType.AUTO)  //主键自增
    private Long id;        //商品分类ID信息
    private Long parentId;  //父级ID
    private String name;    //商品分类名称
    private Integer status; //1正常,2删除'
    private Integer sortOrder;  //排序号
    private Boolean isParent;   //是否为父级.   基本类型有默认值 false
    //mp查询方式 itemcatMapper.selectOne(itemCat)根据对象中不为null的属性当作where条件
}

编辑ItemCatMapper

public interface ItemCatMapper extends BaseMapper<ItemCat>{
   
    
}

编辑ItemCatMapper.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jt.mapper.ItemCatMapper">
    
    
</mapper>

页面JS

//格式化名称
    findItemCatName : function(val,row){
   
        var name;
        $.ajax({
   
            type:"get",
            url:"/item/cat/queryItemName",
            data:{
   itemCatId:val},
            //cache:true,    //缓存
            async:false,    //表示同步   默认的是异步的true ???
            dataType:"text",//表示返回值参数类型
            success:function(data){
   
                name = data;
            }
        });
        return name;
    },

编辑ItemCatController

@RestController
@RequestMapping("/item/cat")
public class ItemCatController {
   
    
    @Autowired
    private ItemCatService itemCatService;
    
    /**
     * 业务:根据商品分类id信息,查询数据库记录
     * url : /item/cat/queryItemName
     * 参数 : itemCatId:val
     * 返回值: 商品分类名称
     */
    
    @RequestMapping("/queryItemName")
    public String findItemCatById(Long itemCatId) {
   
        
        ItemCat itemCat = itemCatService.findItemCatById(itemCatId);
        return itemCat.getName();
    }
    
}

编辑ItemCatService

@Service
public class ItemCatServiceImpl implements ItemCatService {
   
    
    @Autowired
    private ItemCatMapper itemCatMapper;@Override
    public ItemCat findItemCatById(Long itemCatId) {
   
        
        return itemCatMapper.selectById(itemCatId);
    }
    
}

EasyUI中树形结构

EasyUITree VO对象

@Data
@Accessors(chain=true)
@NoArgsConstructor
@AllArgsConstructor
public class EasyUITree {
   
    
    //封装树形结构数据 {"id":"1","text":"吃鸡游戏","state":"open/closed"}
    private Long id;    //与后台数据库记录保持一致
    private String text;    //节点名称
    private String state;   //表示节点开关.  open/closed
    
}

页面分析

$("<div>").css({
   padding:"5px"}).html("<ul>")
                .window({
   
                    width:'500',
                    height:"450",
                    modal:true,
                    closed:true,
                    iconCls:'icon-save',
                    title:'选择类目',
                    onOpen : function(){
    //当窗口打开后执行
                        var _win = this;
                        $("ul",_win).tree({
   
                            url:'/item/cat/list',
                            animate:true,
                            onClick : function(node){
   ...}}

编辑ItemCatController

/**
     * 业务需求:查询商品分类信息.并且进行树形结构展现
     * url地址:http://localhost:8091/item/cat/list
     * 参数:parentId
     *      查询一级商品分类信息  则parent_id=0
            SELECT * FROM tb_item_cat WHERE parent_id=0
            查询二级商品分类信息
            SELECT * FROM tb_item_cat WHERE parent_id=1
            查询三级商品分类信息
            SELECT * FROM tb_item_cat WHERE parent_id=2
     * 返回值: 树形结构展现  EasyUITree
     */
    @RequestMapping("/list")
    public List<EasyUITree> findItemCatListByParentId(Long parentId){
   
        //1.暂时只查询一级商品分类信息
        parentId = 0L;
        return itemCatService.findItemCatListByParentId(parentId);
    }

编辑ItemCatService

/**
     * 目的查询树形结构数据.返回VO对象
     * 数据库中查询的是ItemCat POJO对象
     * 数据转化的过程    将POJO转化为VO对象
     */
    @Override
    public List<EasyUITree> findItemCatListByParentId(Long parentId) {
   
        List<EasyUITree> treeList = new ArrayList<EasyUITree>();
        //根据parentId查询子级信息
        List<ItemCat> itemCatList = findItemCatByParentId(parentId);
        for (ItemCat itemCat : itemCatList) {
   
            Long id = itemCat.getId();          //获取id数据
            String text = itemCat.getName()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值