山东大学暑期项目实训第四周(2)

超市商品价格修改功能需要分超市进行,先完成超市商品的展示以及查询接口。

超市商品关联数据库商品表的实体类同样也拥有多个主键,与改价记录的关联数据库实体类的操作相同,同样在处理前后端数据不同的问题上,都使用了一个非关联数据库的实体类进行存储。

@Entity
@Table(
        name = "super_goods_num"
)
@IdClass(Admin_SuperGoodsNum.class)
public class Admin_SuperGoodsNum implements Serializable{
    @Id
    @Column(name = "super_goods_id")
    private String super_goods_id;
    @Id
    @Column(name = "super_goods_num_id")
    private String super_goods_num_id;
    private double super_goods_price;
    private String super_goods_name;
    @Id
    @Column(name = "super_user_id")
    private int super_user_id;

    public String getSuper_goods_id() {
        return super_goods_id;
    }

    public void setSuper_goods_id(String super_goods_id) {
        this.super_goods_id = super_goods_id;
    }

    public String getSuper_goods_num_id() {
        return super_goods_num_id;
    }

    public void setSuper_goods_num_id(String super_goods_num_id) {
        this.super_goods_num_id = super_goods_num_id;
    }

    public double getSuper_goods_price() {
        return super_goods_price;
    }

    public void setSuper_goods_price(double super_goods_price) {
        this.super_goods_price = super_goods_price;
    }

    public String getSuper_goods_name() {
        return super_goods_name;
    }

    public void setSuper_goods_name(String super_goods_name) {
        this.super_goods_name = super_goods_name;
    }

    public int getSuper_user_id() {
        return super_user_id;
    }

    public void setSuper_user_id(int super_user_id) {
        this.super_user_id = super_user_id;
    }

}
public class Admin_SuperGoods {
    private String super_goods_id;
    private String super_goods_name;
    private double super_goods_price;

    public String getSuper_goods_id() {
        return super_goods_id;
    }

    public void setSuper_goods_id(String super_goods_id) {
        this.super_goods_id = super_goods_id;
    }

    public String getSuper_goods_name() {
        return super_goods_name;
    }

    public void setSuper_goods_name(String super_goods_name) {
        this.super_goods_name = super_goods_name;
    }

    public double getSuper_goods_price() {
        return super_goods_price;
    }

    public void setSuper_goods_price(double super_goods_price) {
        this.super_goods_price = super_goods_price;
    }
}

DAO层中主要有列出指定超市所有商品以及进行商品名字模糊查询的两个sql

@Query(value = "from Admin_SuperGoodsNum a where a.super_user_id=?1")
    List<Admin_SuperGoodsNum> findAdmin_SuperGoodsNumByUserName(int super_user_id);

    @Query(value = "from Admin_SuperGoodsNum a where a.super_goods_name like %?1% and a.super_user_id=?2")
    List<Admin_SuperGoodsNum> findAdmin_SuperGoodsNumBySuper_goods_name(String super_goods_name,int super_user_id);

同样处理前后端数据的工作也在Controller层完成。

public Map findSuperGoods(@RequestBody Object obj, HttpServletRequest request){
        Map para = (Map) obj;
        HttpSession session = request.getSession();
        String super_user_name = (String) para.get("super_user_name");
        int super_user_id = superUserDao.findSuperUserIdBySuperUserName(super_user_name);
        List<Admin_SuperGoodsNum> list = admin_superGoodsNumDao.findAdmin_SuperGoodsNumByUserName(super_user_id);
        List<Admin_SuperGoods> res = new ArrayList<>();
        Map data = new HashMap();
        for (int i=0;i<list.size();i++){
            Admin_SuperGoods admin_superGoods = new Admin_SuperGoods();
            admin_superGoods.setSuper_goods_id(list.get(i).getSuper_goods_id()+list.get(i).getSuper_goods_num_id());
            admin_superGoods.setSuper_goods_name(list.get(i).getSuper_goods_name());
            admin_superGoods.setSuper_goods_price(list.get(i).getSuper_goods_price());
            res.add(admin_superGoods);
        }
        if (res.size()!=0&&res!=null){
            data.put("goods",res);
            data.put("status","1");
            data.put("message","查询成功");
        }else {
            data.put("status","-1");
            data.put("message","没有找到商品");
        }
        data.put("sessionId",session.getId());
        return data;
    }
public Map findSuperGoodsByName(@RequestBody Object obj, HttpServletRequest request){
        Map para = (Map) obj;
        HttpSession session = request.getSession();
        String super_user_name = (String) para.get("super_user_name");
        int super_user_id = superUserDao.findSuperUserIdBySuperUserName(super_user_name);
        String super_goods_name = (String)para.get("super_goods_name");
        List<Admin_SuperGoodsNum> list = admin_superGoodsNumDao.findAdmin_SuperGoodsNumBySuper_goods_name(super_goods_name,super_user_id);
        List<Admin_SuperGoods> res = new ArrayList<>();
        Map data = new HashMap();
        for (int i=0;i<list.size();i++){
            Admin_SuperGoods admin_superGoods = new Admin_SuperGoods();
            admin_superGoods.setSuper_goods_id(list.get(i).getSuper_goods_id()+list.get(i).getSuper_goods_num_id());
            admin_superGoods.setSuper_goods_name(list.get(i).getSuper_goods_name());
            admin_superGoods.setSuper_goods_price(list.get(i).getSuper_goods_price());
            res.add(admin_superGoods);
        }
        if (res.size()!=0&&res!=null){
            data.put("goods",res);
            data.put("status","1");
            data.put("message","查询成功");
        }else {
            data.put("status","-1");
            data.put("message","没有找到商品");
        }
        data.put("sessionId",session.getId());
        return data;
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值