1. @Override
    2. public List<CommodityRefPath> selectCommodityRefByUdidWithStatus(
    3. String commodityCode, String udid,
    4. CommodityRefViewPathStatusEnum includeStatus,
    5. CommodityRefViewPathStatusEnum excludeStatus) {
    6. Criteria criteria =
    7. Criteria.where("udid").is(udid).and("commodity_code").is(commodityCode).and("os").is("H5");
    8. if(includeStatus!=null){
    9. criteria.and("status").is(includeStatus);
    10. }else if(excludeStatus!=null){
    11. criteria.and("status").ne(excludeStatus);
    12. }
    13. return mongoTemplate.find(new Query(criteria), CommodityRefPath.class);
    14. //return getMongoOperations().find(new Query(criteria), getEntityInformation().getJavaType());
    15. }
    1. 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端,用来存储【商品浏览路径等信息

    1. package com.yougou.mobilemall.ref.model;
    2. import java.io.Serializable;
    3. import java.util.Date;
    4. import javax.persistence.Id;
    5. import org.springframework.data.mongodb.core.index.CompoundIndex;
    6. import org.springframework.data.mongodb.core.index.CompoundIndexes;
    7. import org.springframework.data.mongodb.core.index.Indexed;
    8. import org.springframework.data.mongodb.core.mapping.Document;
    9. import org.springframework.data.mongodb.core.mapping.Field;
    10. import com.yougou.mobilemall.framework.constant.CommodityRefViewPathStatusEnum;
    11. /**
    12. * 商品浏览路径实体对象
    13. *
    14. * @author lei.p
    15. *
    16. */
    17. @Document(collection = "commodity_ref_path")
    18. @CompoundIndexes({ @CompoundIndex(name = "udid_commodity_status_idx", def = "{'udid': 1, 'commodity_code': 1, 'status': 1}") })
    19. public class CommodityRefPath implements Serializable {
    20. private static final long serialVersionUID = -8369140056337999861L;
    21. @Id
    22. private String id;
    23. /** 商品编号 */
    24. @Field(value = "commodity_code")
    25. @Indexed
    26. private String commodityCode;
    27. /** 专题ID */
    28. @Field(value = "topic_id")
    29. private String topicId;
    30. /** 首页模块类型 */
    31. @Field(value = "model_type")
    32. private String modelType;
    33. /** 活动名 */
    34. @Field("topic_name")
    35. private String topicName;
    36. /** 商品浏览完整路径 */
    37. @Field(value = "view_path")
    38. private String viewPath;
    39. /** 系统(H5) */
    40. private String os = "H5";
    41. /** 版本 */
    42. @Field("app_ver")
    43. private String appVer;
    44. /** 设备唯一号 */
    45. private String udid;
    46. /** 渠道ID */
    47. @Field("source_id")
    48. private String sourceId;
    49. /** 用户ID */
    50. @Field("user_id")
    51. @Indexed
    52. private String userId;
    53. /** 最后操作时间 */
    54. @Field("operation_time")
    55. private Date operationTime = new Date();
    56. /** 加入购物车时间 */
    57. @Field("addcar_time")
    58. private String addCarTime;
    59. /** 状态 */
    60. private CommodityRefViewPathStatusEnum status = CommodityRefViewPathStatusEnum.ORDER_UNSUBMITED;
    61. }