后端SDK参考
CCObject
- java.util.HashMap
- com.g3cloud.platform.publik.CCObject
类说明(Class)
CloudCC对象类
构造方法(Constructors)
public CCObject(){}public CCObject(String ccobj)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| ccobj | String | 是 | - | 对象API |
public CCObject(String ccobj,String isShared)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| ccobj | String | 是 | - | 对象API |
| isShared | String | 是 | - | 共享标识,建议使用CCObject.IS_SHARED |
常量字段(Field Summary)
| 修饰符和类型 | 字段 | 默认值 | 描述 |
|---|---|---|---|
| public static final String | OBJECT_API | CCObjectAPI | 对象API |
| public static final String | IS_SHARED | isShared | 共享对象 |
方法说明(Methods)
getObjectApiName
获取对象APIName
public String getObjectApiName()put
给对象字段赋值
public String put(String apiName,String value)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| apiName | String | 是 | - | 字段APIName |
| value | String | 是 | - | 字段值 |
UserInfo
- java.io.Serializable
- com.g3cloud.common.UserInfo
类说明(Class)
用户信息对象,封装登录用户的基本信息。
构造方法(Constructors)
public UserInfo() {}
方法说明(Methods)
getUserId
获取当前用户的 ID(若未设置则返回 null)
public String getUserId()getOrgId
当前组织 ID(若未设置则返回 null)
public String getOrgId()getRoleId
角色 ID(若未设置则返回 null)
public String getRoleId()CCService
类说明(Class)
CloudCC核心工具类,提供对象的增删改查等方法
构造函数
public CCService(UserInfo userInfo)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| userInfo | UserInfo | 是 | - | 用户对象 |
insert
新增记录
public ServiceResult insert(CCObject ccobj) throws BusiException| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| ccobj | CCObject | 是 | - | CC对象 |
示例
// 新增一条联系人数据,并设置客户电子邮件为hello@cloudcc.com
CCObject opp = new CCObject("Contact");
opp.put("email","hello@cloudcc.com")
cs.insert(opp)cquery
查询数据
public List<CCObject> cquery(apiName, condtion, order) throws Exception| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| apiName | String | 是 | - | 对象APIName |
| condition | String | 否 | - | 使用字段apiname查询, apiname后一定要加"__c"。 没有时,查询全部数据。 |
| order | String | 否 | - | 使用字段apiname排序, apiname后一定要加"__c" |
示例
// 查询商机对象,并且客户名称等于123,并且使用金额字段倒序排序
List<CCObject> opps = cs.cquery("Opportunity","khmc__c = 123", "jine__c desc");查询共享数据
public List<CCObject> cquery(String apiName, String condtion, boolean isDataObject) throws Exception| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| apiName | String | 是 | - | 对象 APIName |
| condtion | String | 否 | - | 使用字段apiname查询, apiname后一定要加"__c"。 没有时,查询全部数据。 |
| isDataObject | Boolean | 否 | - | true查询普通数据,false查询共享数据 |
示例
// 查询商机对象,并且客户名称等于123的共享数据
List<CCObject> opps = cs.cquery("Opportunity","khmc__c = 123", false);cqlQuery
使用sql的方式查询数据
public List<CCObject> cqlQuery(String apiName, String cql) throws Exception| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| apiName | String | 是 | - | 对象APIName |
| cql | String | 否 | - | sql语句, 支持常用的where条件 |
示例
// 查找test_object_a对象中text_field等于hello002的数据
List<CCObject> ccobjs = cs.cqlQuery("test_object_a",
"select * from test_object_a where text_field = 'hello002'");update
修改记录
public ServiceResult update(CCObject ccobj) throws Exception| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| ccobj | CCObject | 是 | - | CC对象 |
示例
// 修改test_object_a对象的a252025B79C1B99R62Nf数据,将text_field字段改为hello003
CCObject obj = new CCObject("test_object_a");
obj.put("id", "a252025B79C1B99R62Nf");
obj.put("text_field", "hello003");
cs.update(obj);delete
删除记录
public ServiceResult delete(CCObject ccobj) throws Exception | 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| ccobj | CCObject | 是 | - | CC对象 |
示例
CCObject obj = new CCObject("test_object_a");
obj.put("id", "a252025B79C1B99R62Nf");
cs.delete(obj);deleteShareObjectBySql
删除共享表
public void deleteShareObjectBySql(String objectApiName, String expression) throws Exception| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| objectApiName | String | 是 | - | 对象APIName |
| expression | String | 是 | - | sql表达式,字段不需要加"__c" |
示例
customSetting
查询“列表”类型的自定义设置数据,返回对应apiName的全部数据
public Map getListCustomSetting(String objectApiName)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| objectApiName | String | 是 | - | 对象APIName |
示例
查询“列表”类型的自定义设置数据,返回对应apiName和Name的单条数据
Map map = cs.getListCustomSetting(String apiName, String Name);| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| objectApiName | String | 是 | - | 对象APIName |
| name | String | 是 | - | 自定义设置属性名称 |
示例
查询“层次结构”类型的自定义设置数据,返回对应apiName和权限(id为简档id或用户id)的单条数据
public Map getCustomSetting(String objectApiName, String id)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| objectApiName | String | 是 | - | 对象APIName |
| id | String | 是 | - | id为简档id或用户id |
示例
SendEmail
- java.lang.Object
- com.g3cloud.platform.common.service.emailservice
类说明(Class)
用于发送邮件通知
构造方法(Constructors)
public SendEmail(UserInfo userInfo)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| userInfo | UserInfo | 是 | - | 用户对象 |
方法说明(Methods)
sendMailFromSystem
发送邮件
public boolean sendMailFromSystem(String []toAddress,String []ccAddress,String []bccAddress,String subject,String content,boolean isText)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| toAddress | [] | 是 | - | 收件箱 |
| ccAddress | [] | 是 | - | 抄送人 |
| bccAddress | [] | 是 | - | 密送人 |
| subject | [] | 是 | - | 邮件标题 |
| content | [] | 是 | - | 邮件内容 |
| isText | [] | 是 | - | 是否采用TXT方式发送, 为false是采用HTML方式发送邮件 |
示例
// 收件人
String[] toAddress = {
"2342@126.com"
};
// 抄送人(可以为空数组)
String[] ccAddress = {
"2342@126.com"
};
// 密送人(没有就传空数组)
String[] bccAddress = new String[0];
// 邮件标题
String subject = "系统通知:订单处理完成";
// 邮件内容(HTML)
String content = "<h2>订单已完成</h2>" +
"<p>您的订单 <b>#20251224001</b> 已成功处理。</p>" +
"<p>感谢您的使用。</p>";
// false = HTML 邮件
boolean isText = false;
SendEmail sendEmail = new SendEmail(userInfo);
boolean result = sendEmail.sendMailFromSystem(
toAddress,
ccAddress,
bccAddress,
subject,
content,
isText);
}sendEmailNew
使用数据填充邮件模版进行发送
public ServiceResult sendEmailNew(String emailtemplateid, String[] toaddress, String[] ccaddress, String[] bcaddress, String id) throws Exception| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| emailtemplateid | [] | 是 | - | 邮件模版id |
| toAddress | [] | 是 | - | 收件箱 |
| ccAddress | [] | 是 | - | 抄送人 |
| bccAddress | [] | 是 | - | 密送人 |
| id | [] | 是 | - |
示例
// 邮件模版id
String emailtemplateid ="xxxx"
// 收件人
String[] toAddress = {
"2342@126.com"
};
// 抄送人(可以为空数组)
String[] ccAddress = {
"2342@126.com"
};
// 密送人(没有就传空数组)
String[] bccAddress = new String[0];
//
String id = "xxx"
// false = HTML 邮件
boolean isText = false;
SendEmail sendEmail = new SendEmail(userInfo);
boolean result = sendEmail.sendEmailNew(
emailtemplateid,
toAddress,
ccAddress,
bccAddress,
id);
}DevLogger
类说明(Class)
运行日志采集
构造函数
public DevLogger(UserInfo userInfo)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| userInfo | UserInfo | 是 | - | 用户对象 |
方法说明(Methods)
devLogInfo
打印info级别日志
public void devLogInfo(String info)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| log | String | 是 | - | 日志信息 |
示例
DevLogger cclogger = new DevLogger(userInfo);
cclogger.devLogInfo("Info log");devLogError
打印error级别日志
public void devLogError(String error,Throwable throwable)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| log | String | 是 | - | 日志信息 |
| throwable | Throwable | 否 | - | 异常对象 |
示例
DevLogger cclogger = new DevLogger(userInfo);
cclogger.devLogError("Error log");
cclogger.devLogError("Error log", throwable);TimeUtil
类说明(Class)
由于java.util.Date和Calendar是基于本地时区的,因此在涉及到跨时区的数据处理时,可能会出现错误。
为了解决这个问题,可以使用TimeUtil工具类中的getNowDate(userInfo)方法来获取当前时间。getNowDate(userInfo)方法会根据用户信息中的时区来获取当前时间,因此可以保证数据的准确性。
方法说明(Methods)
getNowDate
例如,在将日期保存到数据库时,可以将new Date()改为调用TimeUtil.getNowDate(userInfo)
TpSysTask task = new TpSysTask();
task.setBeginTime(TimeUtil.getNowDate(userInfo));| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| userInfo | UserInfo | 是 | - | 用户对象 |
getUserTimeZone
获取用户时区
TimeUtil.getUserTimeZone(userInfo)| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| userInfo | UserInfo | 是 | - | 用户对象 |
getSimpleDateFormat
- 使用SimpleDateFormat来对Date进行格式化时,应给SimpleDateFormat类实例设置时区,
SimpleDateFormat myDateFormat=TimeUtil.getSimpleDateFormat(forma t,userInfo);| 字段名 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| format | String | 是 | "yyyy-MM-dd" | 格式化 |
| userInfo | UserInfo | 是 | - | 用户对象 |
- 使用Calendar类处理日期时,应给Calendar实例设置时区,获取Calendar对象的方法可任选以下两种,
Calendar cal=Calendar.getInstance(TimeUtil.getUserTimeZone(userInfo))
Calendar cal=TimeUtil.getCalendar(userInfo);