OFBiz电商实战(购买前先加QQ810476411咨询下)

(1人)

345.00 元 5 折

全场5折优惠,咨询QQ810476411

  • ​​​​​​​​​​​​​​
[展开全文]

1,服务的实现

基于java,静态实现

基于simaple实现服务,简单的数据库操作

组件中定义一个服务services.xml

[展开全文]

1,genericpk

2,genericvalue

3,genericdelegator 数据代理

4,entitycondition 封装查询

[展开全文]

1,目录、产品、产品分类、产品特征、产品价格、产品促销、产品价格规则

prod_catalog--目录

product_category--产品分类

prod_catalog_category--目录、产品分类关联

prod_catalog_category_type--关联类型

product_catagory_type--产品分类类型

product_category_rollup--分类上下级关系

2,产品基本信息模型

 

[展开全文]

分类

party_classifaction

party_classification_type

party_classification_group

联系机制

party_contactMech

[展开全文]

1,当事人

个人与组织、角色与关系、分类、联系机制

party 人或组织

partyType

party衍生表person、partygroup

role_type、party_role 

[展开全文]

findOne:根据主键查询

findByAnd:简单的条件查询

findByCondition:根据指定的EntityCondition查询实体

 EntityListIterator:用于查询大数据集,分页

迭代器(要放在事务里面)

getRelated:查询指定实体相关联的实体集合

动态实体查询:dynamicViewEntity

//添加成员实体

//设置需要查询的字段

//设置实体的连接方式

//设置查询条件

[展开全文]

每一个静态方法对应每一个服务的实现

基于java实现的一些服务用来实现比较复杂的逻辑关系

service.xml定义,相应的静态方法进行定义

[展开全文]

实体的定义引擎的配置

屏蔽数据库访问细节通过xml配置文件定义描述实体,引擎实体到数据库的所有细节

只有一个genericvalue对象

用put(key,value)设置属性的值

创建完后关注data、entitydef、testdef

将src加到构建目录里面去

新建一个测试用例

打开build.xml文件,编译选择jar命令,生成两个jar文件,记得更新根目录下common.xml文件,指定生成的jar测试文件<test-jar/>

进行单元测试,根目录下的build.xml找到run-test指定测试用例

MyFirstDemo中指定,之后构建一个build命令

entityengine.xml数据库访问代理的配置

实体定义

[展开全文]

 1. 从官网svn 下载项目源码:

 

[展开全文]

实体缓存:实体定义中的“never-cache”

默认实体缓存是开启的

推荐使用带cache的api

findByAndPrimaryCache:该api已经过期

findByAndCache

findByConditionCache

findByAllCache

ofbiz会自动检测缓存实体是否有更新,如果有更新会自动更新

webtools缓存清理

[展开全文]

1.创建业务实体(entitymode.xml)

2.创建国际化的资源文件(其实就是语言)config->新建一个新的对应实体资源的xml配置文件。实体配置完后也要完成相应的应用的文件资源定义

3.定义页面的导航(其实也就是菜单)

4.进行一个通用的权限验证服务(service.xml)

5.进行界面修改,记得要在controller里面添加映射

6。entity-auto   CRUD常用引擎

[展开全文]

1.增加支付宝的网关配置:

application-entitydef-entitymodel.xml(增加一个新的实体定义)

在payment-gateway-config-*这个表中增加支付宝的支付方式:application-data-paymentgatewayconfigdata.xml

accounttingtypedata增加支付宝支付方式

demoglsetupdata将支付宝支付关联到财务支付表

实现网关配置:script-paymentgatewayconfig实现一个simple-method,接下来在service里面定义一个网关更新服务,最后在widget里面对界面进行修改(form里面有个target需要到controller里面去修改映射)

注意要修改accounttingUIlables.xml(国际化的语言修改)

前台和后台服务的连接:

1添加一个支付宝支付的请求映射

[展开全文]

四个类:

GenericPK 生成实体的主键

GenericValue生成实体的对象

setNonPKFields(Map<? extends Object, ? extends Object> fields)

GenericDelegator 访问数据库的代理类(增删改查)

1.makeValue以非持久化的GenericValue值对象的形式创建entity:

GenericValue party= delegator.makeValue("Party");

//生成主键的序列号

getNextSeqId(string name)

makeValidValue只有有效字段的值会被设置

以GenericValue值对象的形式创建Entity病持久化至数据库

GenericValue create(GenericValue value)

 

EntityCondition封装查询实体时所用到的条件

创建实体:

更新实体:store storeall

删除实体

查询实体

复杂查询

 

[展开全文]

实体引擎,服务引擎的辅助工具

Simple-Map processer mini-language主要作用:

1.参数验证  2.参数转换

Simple-Method mini-language

1.全局属性

  a.是否需要登录认证 login-required

  b.是否需要事务 use-transaction

2.检查验证

  a.权限验证 check-permission  验证的前提是当前service环境必须有userLogin在controller.xml,screen,simple method中系统会自定将userLogin,local等信息封装到service context中

java代码中调用时,要将userLogin和Local传过去

b.if-has-permission和check-permission一样

c.check-errors 检测错误,如果指定的error-list-name含有error-code错误,则终止simple-method的执行并返回

5.调用操作

call-map-processor

call-service

call-simple-method

[展开全文]

service event condition action

服务事件条件驱动

记得到component.xml中将eca启用

[展开全文]

1.service.xsd DTD服务文件的描述(framework-service-dtd)服务定义文件所有的元素和属性

service tag element:

name:服务的名称

engine:引擎的名称serviceengine.xml中定义

location:名或服务类的classpath路径

invoke:服务的方法名称

auth:该服务是否需要认证

export:是否允许通过soap/http/jsm访问

validate:是否验证服务的输入输出

attribute element:

name:参数名称

type:参数对象类型

mode:IN/OUT/INOUT

optional:该参数是否可选

2.定义服务的输入输出参数

a.如果服务的输入参数没有定义,参数的值是不会传递至服务执行上下文的

b.ofbiz服务受管的内置上下文参数:userLogin(GenericValue),locale,timeZone,errorMessage,errorMessageList(不需要显式设置)

3.服务分组

engine="group"

[展开全文]

授课老师

OFBiz架构师,首席程序员。

QQ客服: 810476411

QQ咨询: 810476411

QQ吐槽: 810476411

服务时间: 9:00 - 21:00

刘老师: 18516031455

微信公众号:开源力量