美文网首页
2.项目的阶段心得一

2.项目的阶段心得一

作者: Vincilovfang | 来源:发表于2018-04-25 21:20 被阅读0次

    写项目感悟:
    第一步捋清楚关系,本项目层次结构为
    1. common_parent
    2. bos_domain 3. crm_domain
    4. bos_management 5. bos_fore 6. crm_management
    7. bos_sms
    第二步创建实体类,bos物流共享一个bos_domain,然后crm_domain主要负责客户的信息(打包方式jar)
    2.1 crm_domian 远程调用,所以实体类上面需要@XmlRootElement
    Customer
    @Entity
    @Table(name = "T_CUSTOMER")
    @XmlRootElement(name = "customer")
    public class Customer {
    @Id
    @GeneratedValue()
    @Column(name = "C_ID")
    private Integer id;

        2.2 bos_domian的包分了不同的包
            base包       
            Area SubArea FixedArea Courier Standard TakeTime Vehicle Archive SubArchive
                区域(一)       分区(多)
                定区(一)           分区(多)
                快递员(多)      定区(多)
                Area    @OneToMany(mappedBy = "area")
                        private Set<SubArea> subareas = new HashSet<SubArea>();
                        @JSON(serialize = false)
                        public Set<SubArea> getSubareas() {
                            return subareas;
                        }
                Courier @ManyToMany(mappedBy = "couriers")
                        private Set<FixedArea> fixedAreas = new HashSet<>();
                        @JSON(serialize = false)
                        public Set<FixedArea> getFixedAreas() {
                            return fixedAreas;
                        }
                        @Transient
                        // 防止被生成数据表中的列
                        public String getInfo() {
                            return name + "(" + company + ")";
                        }
            page包
                Hibernate自带的Page由于不能提供XmlRootElement注解,所以需要提供自定义Pagebean
            
            system包
                系统包里面主要是后台管理的相关类,用户、角色、权限、菜单的实体类
                    User(多) Role(多)
                    使需要缓存对象,实现 Serializable 接口
                    public class User implements Serializable
                    Role(多) Permission(多)
                    Role(多) Menu(多)
                                    
            take_delivery包
                take_delivery包里面是货物相关的类,订单,工单,运单。促销活动
                这个包里面的类是功能的重点,业务重点
                Promotion 促销类 
                    促销标题图片 titleImg  结束时间 endDate 状态status  活动描述 description
                Order 订单类
                 id orderNum telephone customer_id sendAddress sendArea wayBill workBill courier
                 自动分单就是将订单关联到快递员
                    跨系统去crm系统找。
                    1. 根据寄件地址sendAddress找到fixedArea 根据fixedArea找到courier
                    2. 根据寄件区域sendArea找到subArea,根据sendAddress中包含subArea的关键字,找到fixedArea,找到courier.
                        这里我的想法是可以对subArea创建全文索引表
                WorkBill 工单类
                WayBill 运单类
                    id wayBillNum  order 
                    运单由于后台系统需要对其进行查找,所以需要创建索引库 
                    @Entity
                    @Table(name = "T_WAY_BILL")
                    @Document(indexName = "bos", type = "waybill")
                    public class WayBill implements Serializable {
                    @Id
                    @GeneratedValue
                    @Column(name = "C_ID")
                    @org.springframework.data.annotation.Id
                    @Field(index = FieldIndex.not_analyzed, store = true, type = FieldType.String)
                    private Integer id;
                    @Column(name = "C_WAY_BILL_NUM", unique = true)
                    @Field(index = FieldIndex.not_analyzed, store = true, type = FieldType.String)
                    private String wayBillNum; // 运单编号
                    @OneToOne
                    @JoinColumn(name = "C_ORDER_ID")
                    private Order order; // 订单信息
                    // analyzer = "ik"指索引过程中采用的分词器      searchAnalyzer = "ik"指检索过程中采用的分词器
                    @Column(name = "C_SEND_NAME")
                    @Field(index = FieldIndex.analyzed, analyzer = "ik", searchAnalyzer = "ik", store = true, type = FieldType.String)
                    
                    
            transit包

    相关文章

      网友评论

          本文标题:2.项目的阶段心得一

          本文链接:https://www.haomeiwen.com/subject/taculftx.html