商品模块:卖家创建商品,卖家修改商品属性.

卖家创建商品

请参

        private String userId;//卖家userId
	private String name;//商品名称
	private Double price;//商品价格
	private String ins;//商品简介
	private String img;//商品图片
	private Integer num;//商品库存

代码

/** 
controller
*/
/** 商品/获取创建
	 * @param request
	 * @param httpServletRequest
	 * @return
	 */
	@ApiOperation(value = "create goods")
	@RequestMapping(value = "/goods/create", method = RequestMethod.POST)
	public ApiResponse goods(@RequestBody GoodCreateParam request, HttpServletRequest httpServletRequest) {

		return goodService.good(request.getName(), request.getImg(), request.getPrice(), request.getNum(),
				request.getIns(), request.getUserId());
	}
/** 
service
*/
@Override
	public ApiResponse good(String name, String img, Double price, Integer num, String ins, String userId) {
//根据userId 判断用户是否存在. 存在创建,不存在不做处理
		Boolean userExist = userFacade.checkUserExist(userId, 1);
		if (userExist) {
			String goodId= goodFacade.good(name, img, price, num, ins, userId);
			if (Strings.isNullOrEmpty(goodId)) {
				return new ApiResponse(CodeEnum.FAILED);
			}
		} else {
			return new ApiResponse(CodeEnum.USER_NO_EXIST);
		}
		return new ApiResponse(CodeEnum.SUCCESS);
	}
/** 
facade
*/
//method no.1
userFacade.checkUserExist(String param,Integer type);

//method no.2
@Override
	public String good(String name, String img, Double price, Integer num, String ins, String userId) {
		try {
			String id = new ObjectId().toString();
			DBObject dbObject =new  BasicDBObject();
			DecimalFormat df = new DecimalFormat("0.00");
			price = Double.valueOf(df.format(price));
			dbObject.put("id", id);
			dbObject.put("name", name);
			dbObject.put("img", img);
			dbObject.put("price", price);
			dbObject.put("num", num);
			dbObject.put("ins", ins);
			dbObject.put("userId", userId);
			dbObject.put("createTime", new Date());
			dbObject.put("ModifyTime", new Date());
			dbObject.put("isDel", 0);
	MongoTemplate.save(dbObject,CollectionNameEnum.GOOD_TABLE.getName());
			return id;
		} catch (Exception e) {
			e.printStackTrace();
			return "";
		}
	}

思路:根据userId 判断用户是否存在

存在--> 调用goodFacade.good 创建商品.

不存在-->返回code码

 

修改商品属性

请参

试试

代码

/*controller */
/** 商品/货物属性修改
	 * @param goodsId
	 * @param request
	 * @param httpServletRequest
	 * @return
	 */
	@ApiOperation(value = "RequestMethod=put,modify goods if RequestMehtod=DELETE  del goods;")
	@RequestMapping(value = "/goods/{goods_id}/", method = {RequestMethod.PUT,RequestMethod.DELETE})
	public ApiResponse goods(@PathVariable(value = "goods_id") String goodsId,
			@RequestBody(required=false) HashMap<String, Object> request, HttpServletRequest httpServletRequest) {
//请求为PUT方法是修改
		if ("PUT".equals(httpServletRequest.getMethod())) {
			return goodService.good(goodsId, String.valueOf(request.get("name")), String.valueOf(request.get("img")),
					(Double) request.get("price"), Integer.valueOf((String) request.get("num")), String.valueOf(request.get("ins")),
					String.valueOf(request.get("userId")));	
		}
//请求方法是DELETE 是删除商品
		if ("DELETE".equals(httpServletRequest.getMethod())) {
			return goodService.goodDel(goodsId);
		}
		return new ApiResponse(CodeEnum.ILLEGAL_REQUEST);
		
	}
/*service */
@Override
	public ApiResponse good(String id, String name, String img, Double price, Integer num, String ins, String userId) {
		if (userFacade.checkUserExist(userId, 1)) {
			if (goodFacade.goodExist(id, userId)) {
				Boolean update= goodFacade.good(id, name, img, price, num, ins, userId);
				if (update) {
					return new ApiResponse(CodeEnum.SUCCESS);
				}
			}
		}
		return new ApiResponse(CodeEnum.FAILED);
	}

/*facade */
//method 1
userFacade.checkUserExist(userId, 1);
//method 2
@Override
	public Boolean goodExist(String goodId,String ownerId) {
		Query query=new BasicQuery(new Document());
		query.addCriteria(Criteria.where("id").is(goodId).and("userId").is(ownerId));
		return MongoTemplate.exists(query,CollectionNameEnum.GOOD_TABLE.getName());
	}
//method 3
@Override
	public Boolean good(String id, String name, String img, Double price, Integer num, String ins, String userId) {
		
		DecimalFormat df = new DecimalFormat("0.00");
		Query query = new Query();
		query.addCriteria(Criteria.where("ids").is(id).and("userId").is(userId));
		Update update = new Update().set("name", name).set("img", img).set("price", Double.valueOf(df.format(price)))
				.set("num", num).set("ins", ins);
		UpdateResult updateResult = MongoTemplate.updateFirst(query, update, CollectionNameEnum.GOOD_TABLE.getName());
		if (updateResult.getModifiedCount()<=0) {
			return false;
		}
		return true;
	}

思路:验证用户是否存在.

验证此商品是否属于该用户.

修改商品属性;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本小组项目任务是开发一个虚拟商品在线交易系统。卖家需要一个全新的在线交易系统,用于向网络买家提供一个集在线购买和在线下载功能于一身的网络交易平台,销售的物品主要是正版软件和网络游戏充值卡等非实体的虚拟商品。本系统需要支持和集成支付宝公司的“虚拟商品交易服务”接口,并通过该接口收取买家费用,在交易完成后返回到本系统界面下给买家下载软件安装程序、软件激活码或充值卡密码等。 系统允许卖家在系统后台对商品进行维护,卖家可以在后台管理系统中对所销售的软件产品和充值卡商品进行修改、添加和删除,并可以查询所有买家信息。 系统允许买家在注册后对个人信息进行修改和维护,并查阅自己的购买记录;对于没有注册的临时买家,也可以直接购买,在交易完成后把其信息记录到数据库,但不会为临时买家注册系统ID。 系统允许买家在交易完成后通过网页界面在线下载软件安装程序,但需要做到防盗链,即防止软件的下载地址被公开或盗用,此项主要针对不需要激活码激活的软件产品。而对于软件激活码或充值卡密码,除了在交易完成后会在页面上显示外,也会自动E-MAIL一份到买家的电子邮箱里去。 同时,服务器使用Linux系统,安装有Apache、PHP和MySQL,需要把销售情况记录到MySQL数据库中,以便业务人员查询销售情况和进行管理。 系统需要对每周和每月销售的情况进行统计,并列印成报表,同时允许在线生成Excel及PDF格式文件以便保存。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值