超市商品价格修改功能需要分超市进行,先完成超市商品的展示以及查询接口。
超市商品关联数据库商品表的实体类同样也拥有多个主键,与改价记录的关联数据库实体类的操作相同,同样在处理前后端数据不同的问题上,都使用了一个非关联数据库的实体类进行存储。
@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;
}