@Override
public List<CommodityRefPath> selectCommodityRefByUdidWithStatus(
String commodityCode, String udid,
CommodityRefViewPathStatusEnum includeStatus,
CommodityRefViewPathStatusEnum excludeStatus) {
Criteria criteria =
Criteria.where("udid").is(udid).and("commodity_code").is(commodityCode).and("os").is("H5");
if(includeStatus!=null){
criteria.and("status").is(includeStatus);
}else if(excludeStatus!=null){
criteria.and("status").ne(excludeStatus);
}
return mongoTemplate.find(new Query(criteria), CommodityRefPath.class);
//return getMongoOperations().find(new Query(criteria), getEntityInformation().getJavaType());
}
public class MongoTemplate implements MongoOperations, ApplicationContextAware {
提供各种API操作
delete(_id);
this.mongoOperations.insert(entity, this.entityInformation.getCollectionName());
this.mongoOperations.save(entity, this.entityInformation.getCollectionName());
return mongoTemplate.find(new Query(criteria), CommodityRefPath.class)_;
优购网H5端,用来存储【商品浏览路径等信息】
package com.yougou.mobilemall.ref.model;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Id;
import org.springframework.data.mongodb.core.index.CompoundIndex;
import org.springframework.data.mongodb.core.index.CompoundIndexes;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
import com.yougou.mobilemall.framework.constant.CommodityRefViewPathStatusEnum;
/**
* 商品浏览路径实体对象
*
* @author lei.p
*
*/
@Document(collection = "commodity_ref_path")
@CompoundIndexes({ @CompoundIndex(name = "udid_commodity_status_idx", def = "{'udid': 1, 'commodity_code': 1, 'status': 1}") })
public class CommodityRefPath implements Serializable {
private static final long serialVersionUID = -8369140056337999861L;
@Id
private String id;
/** 商品编号 */
@Field(value = "commodity_code")
@Indexed
private String commodityCode;
/** 专题ID */
@Field(value = "topic_id")
private String topicId;
/** 首页模块类型 */
@Field(value = "model_type")
private String modelType;
/** 活动名 */
@Field("topic_name")
private String topicName;
/** 商品浏览完整路径 */
@Field(value = "view_path")
private String viewPath;
/** 系统(H5) */
private String os = "H5";
/** 版本 */
@Field("app_ver")
private String appVer;
/** 设备唯一号 */
private String udid;
/** 渠道ID */
@Field("source_id")
private String sourceId;
/** 用户ID */
@Field("user_id")
@Indexed
private String userId;
/** 最后操作时间 */
@Field("operation_time")
private Date operationTime = new Date();
/** 加入购物车时间 */
@Field("addcar_time")
private String addCarTime;
/** 状态 */
private CommodityRefViewPathStatusEnum status = CommodityRefViewPathStatusEnum.ORDER_UNSUBMITED;
}