检索功能

检索,首先需要在文本框中输入要检索的名字,所以需要写一个sql文,(后期我们想实现当输入为空时,不做任何操作,所以我们用个javasrcriipt来简单的实现,目前没有更新)

在hearder.html

<form action="selectGoods" th:object="${goodsForm}" method="post">
<input type="text" class="inpt" placeholder="请输入关键字" name="commodityName"/>
<input type="submit" value="检索" class="btnS"/>
</form>

zai goodsController.java

@RequestMapping(value = "selectGoods", method = RequestMethod.POST)
public String  selectGoods(Model model,HttpSession session,GoodsForm goodsForm,Device device){
log.info("检索相关商品");
model.addAttribute("commodityType", goodsService.getType());
List<GoodsForm> list=goodsService.searchGoodsListrelative(goodsForm);
model.addAttribute("list",list);
model.addAttribute("orderTypeId", 1);
UVO uvo = (UVO)session.getAttribute("UVO");
    	if (uvo == null) {
    		uvo = new UVO();
    		session.setAttribute("UVO", uvo);
    	}
    	CartForm cartForm = new CartForm();
    	cartForm.setGuestId(uvo.getGuestId());
    	model.addAttribute("cartList", cartService.searchCartList(cartForm));
    	model.addAttribute("goodsForm", goodsForm);
    	if(device.isNormal()) {
    		return "shop/list";
    	} else {
    		return "mobile/list";
    	}

在goodservice.java

public List<GoodsForm> getType() {
List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectType", null);
return result;}
public List<GoodsForm> searchGoodsListrelative(GoodsForm frm) {
List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectGoodsListrelative", frm);
return result;}

在goodsqlmap.xml

<select id="selectGoodsListrelative"
		parameterClass="cn.agriculture.web.form.GoodsForm"
		resultClass="cn.agriculture.web.form.GoodsForm">
		SELECT commodity.commodity_id as commodityId,
			commodity.type as commodityTypeId,
			supplier.supplier_name as supplierName,
			brand.brand_name as brandName,
			commodity.commodity_name as commodityName,
			commodity.weight as weight,
			commodity.is_gift as isGift,
			commodity.specifications as specifications,
			commodity.unit as unit,
			commodity.benchmark_price as benchmarkPrice,
			commodity.guide_price as guidePrice,
			commodity.retail_price as retailPrice,
			commodity.competition_level as competitionLevel,
			commodity.note as note,
			commodity.update_time as updateTime,
			commodity.update_user as updateUser,
			commodity.picture_id as pictureId,
			stock.stock as stock
		FROM commodity, supplier, brand, stock
		WHERE commodity.commodity_id = stock.commodity_id
		AND commodity.supplier_id = supplier.supplier_id
		AND commodity.brand_id = brand.brand_id
		AND commodity.commodity_name LIKE '%$commodityName$%'
	</select>
<select id="selectType"
		resultClass="cn.agriculture.web.form.GoodsForm">
		SELECT commodity_type_name as commodityTypeName,
				commodity_type_id as commodityTypeId
		FROM commodity_type
	</select>

图片插入数据库生成二进制

在commoditycontroller.java

@RequestMapping(value = "addCommodity", method = RequestMethod.POST)
	public String executeAddCommodity(Model model, @RequestParam(value = "file", required = false) MultipartFile file
	, @RequestParam(value = "file1", required = false) MultipartFile file1
	, @RequestParam(value = "file2", required = false) MultipartFile file2
	, @RequestParam(value = "file3", required = false) MultipartFile file3
	, @RequestParam(value = "file4", required = false) MultipartFile file4
	, @RequestParam(value = "file5", required = false) MultipartFile file5
	, @RequestParam(value = "file6", required = false) MultipartFile file6,
@RequestParam(value = "attachments", required = false) MultipartFile attachments, HttpSession session, @Valid @ModelAttribute("commodityForm") CommodityForm commodityForm, BindingResult results) throws SQLException, IOException {
		log.info("添加商品信息");
		if(results.hasErrors()){
			List<Item> commodityType = itemListComponent.getCommodityType();
	    	model.addAttribute("commodityType", commodityType);
			List<Item> supplierList = itemListComponent.getSupplierList();
	    	model.addAttribute("supplierList", supplierList);
			return "manager/commodity/addCommodity";}
		UVO uvo = (UVO)session.getAttribute("UVO");
		commodityForm.setUpdateUser(uvo.getUserName());
		Date date = new Date();
		SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		commodityForm.setUpdateTime(dateformat.format(date));
		commodityForm.setPicture(file.getBytes());
		commodityForm.setPicture1(file1.getBytes());
		commodityForm.setPicture2(file2.getBytes());
		commodityForm.setPicture3(file3.getBytes());
		commodityForm.setPicture4(file4.getBytes());
		commodityForm.setPicture5(file5.getBytes());
		commodityForm.setPicture6(file6.getBytes());
		boolean result = commodityService.addCommodity(commodityForm);
		if(!result) {
			throw new SQLException("商品信息添加失败!");
		}
	
		model.addAttribute("list", commodityService.searchCommodityList());
		if (!attachments.isEmpty()) {
    		String suffix = attachments.getOriginalFilename().substring(attachments.getOriginalFilename().lastIndexOf("."));
        	File targetFile = new File(env.getProperty("upload.file.path"), commodityForm.getCommodityId() + suffix);
        	if(!targetFile.exists()){
                targetFile.mkdirs();
            }
        	attachments.transferTo(targetFile);
    	}
        return "manager/commodity/commodityList";
	}
	
	@RequestMapping(value = "initEditCommodity", method = RequestMethod.GET)
	public String initEditCommodity(Model model, CommodityForm commodityForm) {
		log.info("修改商品信息初始化");
		CommodityForm result = commodityService.searchCommodity(commodityForm);
		model.addAttribute("commodityForm", result);
		List<Item> commodityType = itemListComponent.getCommodityType();
    	model.addAttribute("commodityType", commodityType);
		List<Item> supplierList = itemListComponent.getSupplierList();
    	model.addAttribute("supplierList", supplierList);
    	List<Item> brandList = itemListComponent.getBrandList(result.getSupplierId());
    	model.addAttribute("brandList", brandList);
		return "manager/commodity/editCommodity";
	}
	
	@RequestMapping(value = "editCommodity", method = RequestMethod.POST)
	public String executeEditCommodity(Model model, @RequestParam(value = "file", required = false) MultipartFile file,@RequestParam(value = "file1", required = false) MultipartFile file1,@RequestParam(value = "file2", required = false) MultipartFile file2,@RequestParam(value = "file3", required = false) MultipartFile file3,@RequestParam(value = "file4", required = false) MultipartFile file4,@RequestParam(value = "file5", required = false) MultipartFile file5,@RequestParam(value = "file6", required = false) MultipartFile file6, @RequestParam(value = "attachments", required = false) MultipartFile attachments, HttpSession session, @Valid @ModelAttribute("commodityForm") CommodityForm commodityForm, BindingResult results) throws SQLException, IOException {
		log.info("修改商品信息");
		if(results.hasErrors()){
			List<Item> commodityType = itemListComponent.getCommodityType();
	    	model.addAttribute("commodityType", commodityType);
			List<Item> supplierList = itemListComponent.getSupplierList();
	    	model.addAttribute("supplierList", supplierList);
	    	List<Item> brandList = itemListComponent.getBrandList(commodityForm.getSupplierId());
	    	model.addAttribute("brandList", brandList);
			return "manager/commodity/editCommodity";}
		UVO uvo = (UVO)session.getAttribute("UVO");
		commodityForm.setUpdateUser(uvo.getUserName());
		Date date = new Date();
		SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		commodityForm.setUpdateTime(dateformat.format(date));
		commodityForm.setPicture(file.getBytes());
		commodityForm.setPicture1(file1.getBytes());
		commodityForm.setPicture2(file2.getBytes());
		commodityForm.setPicture3(file3.getBytes());
		commodityForm.setPicture4(file4.getBytes());
		commodityForm.setPicture5(file5.getBytes());
		commodityForm.setPicture6(file6.getBytes());
		CommodityForm frm1=commodityService.searchCommodity(commodityForm);
		commodityForm.setPictureId(frm1.getPictureId());
		commodityForm.setPictureId1(frm1.getPictureId1());
		commodityForm.setPictureId2(frm1.getPictureId2());
		commodityForm.setPictureId3(frm1.getPictureId3());
		commodityForm.setPictureId4(frm1.getPictureId4());
		commodityForm.setPictureId5(frm1.getPictureId5());
		commodityForm.setPictureId6(frm1.getPictureId6());
		boolean result = commodityService.editCommodity(commodityForm);
		if(!result) {
			throw new SQLException("商品信息更新失败!");
		}
    	model.addAttribute("list", commodityService.searchCommodityList());
    	if (!attachments.isEmpty()) {
    		String suffix = attachments.getOriginalFilename().substring(attachments.getOriginalFilename().lastIndexOf("."));
        	File targetFile = new File(env.getProperty("upload.file.path"), commodityForm.getCommodityId() + suffix);
        	if(!targetFile.exists()){
                targetFile.mkdirs();
            }
        	attachments.transferTo(targetFile);
    	}
    	
        return "manager/commodity/commodityList";

commodityservice.java

public boolean addCommodity(CommodityForm frm) {	
	if (frm.getPicture().length != 0) {
		Integer sequee0 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class);
		String commodityId0 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee0));
		frm.setPictureId(commodityId0);
		int picResult = updateDao.execute("Commodity.addPicture", frm);
		if (picResult != 1) {
			return false;
		}
	}
		
	if (frm.getPicture1().length != 0) {
		Integer sequee1 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class);
		String commodityId1 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee1));
		frm.setPictureId1(commodityId1);
		int picResult1 = updateDao.execute("Commodity.addPicture1", frm);
		if (picResult1 != 1) {
			return false;
		}
	}
		
	if (frm.getPicture2().length != 0) {
		Integer sequee2 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class);
		String commodityId2 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee2));
		frm.setPictureId2(commodityId2);
		int picResult2 = updateDao.execute("Commodity.addPicture2", frm);
		if (picResult2 != 1) {
			return false;
		}
	}
		
	if (frm.getPicture3().length != 0) {
		Integer sequee3 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class);
		String commodityId3 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee3));
		frm.setPictureId3(commodityId3);
		int picResult3 = updateDao.execute("Commodity.addPicture3", frm);
		if (picResult3 != 1) {
			return false;
		}
	}
		
	if (frm.getPicture4().length != 0) {
		Integer sequee4 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class);
		String commodityId4 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee4));
		frm.setPictureId4(commodityId4);
		int picResult4 = updateDao.execute("Commodity.addPicture4", frm);
		if (picResult4 != 1) {
			return false;
		}
	}
		
	if (frm.getPicture5().length != 0) {
		Integer sequee5 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class);
		String commodityId5 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee5));
		frm.setPictureId5(commodityId5);
		int picResult5 = updateDao.execute("Commodity.addPicture5", frm);
		if (picResult5 != 1) {
			return false;
		}
	}
		
	if (frm.getPicture6().length != 0) {
		Integer sequee6 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class);
		String commodityId6 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee6));
		frm.setPictureId6(commodityId6);
		int picResult6 = updateDao.execute("Commodity.addPicture6", frm);
		if (picResult6 != 1) {
			return false;
		}
	}
	Integer sequee = queryDao.executeForObject("Commodity.getSeq", null, Integer.class);
	String commodityId = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee));
	frm.setCommodityId(commodityId);
	int result = updateDao.execute("Commodity.addCommodity", frm);
	if (result == 1) {
		return true;}
return false;
	}



转载于:https://my.oschina.net/u/2411775/blog/491828

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值