¶Ô±ÈÐÂÎļþ |
| | |
| | | ï»¿çæ¬æ§å¶ï¼
|
| | | å½å产åçæ¬1.0.0
|
| | | è¡ç项ç®çæ¬
|
| | | 1.1.0 piccï¼ç»µé³äººä¿ï¼
|
| | | 1.2.0 xn
|
| | | 详ç»è§£é
|
| | | ï¼1ï¼ç®åççæ¬å·å
±æ3çº§ï¼æ åçæç
§1.0.0
|
| | | ï¼2ï¼ç¬¬ä¸ä½ä½ä¸ºäº§åå¤§çæ¬
|
| | | ï¼3ï¼ç¬¬äºä½ä½ä¸ºå¯¹åºé¡¹ç®ççæ¬
|
| | | ï¼4ï¼ç¬¬ä¸ä½ä½ä¸ºå°çæ¬å级
|
| | | ï¼5ï¼ä¾å¦ï¼å½åçæ¬ä¸º1.0.0ï¼ç±è¯¥çæ¬è¡ççA项ç®ï¼åA项ç®çæ¬ä¸º1.1.0ï¼ç»§ç»è¡ççB项ç®ï¼çæ¬ä¸º1.2.0ï¼è¥æ¯A项ç®å级ï¼åå¯ä»¥å°çæ¬æ´æ°ä¸º1.1.1ã
|
| | | ï¼6ï¼ä½å¡é¡¹ç®å ç¨ä¹åï¼è¯¥æ°åå°±ä¸ç´å½è¯¥é¡¹ç®ä½¿ç¨
|
| | | ï¼7ï¼å½äº§åçæ¬å级å°2.0.0ä¹åï¼è¡çç项ç®çæ¬å为2.x.0
|
| | |
|
| | | 1.æ°æ®æº
|
| | | å¿
é¡»é
ç½®é»è®¤çæ°æ®æºï¼åç§°å¿
须为default,è§application.properties
|
| | | sourceName=default
|
| | | 2.表设计
|
| | | idåæ®µ: ç±»å=bigint ï¼é¿åº¦11 |
| | | uuidåæ®µãuuidå¼ç¨å段ï¼ï¼é¿åº¦é½æ¯80
|
| | | åæ®µç±»åé¤äºéç¨String...å¤ï¼è¿æä¸ä¸ªç±»å:parentuuid,ç¨æ¤å段表示主å表çå
³ç³»ï¼
|
| | | åæ¶è¿å¿
é¡»é
å
³èçç¶è¡¨åç§°ï¼åä¸ä¸ªå
³èç¶è¡¨ï¼åªè½é
ä¸ä¸ªparentuuidç±»åçåæ®µï¼å¦ææ¯æ®é主å¤é®å
³èï¼å°±ä¸ç¨parentuuid
|
| | | æ¯å¦ï¼button表 çåæ®µå®ä¹ï¼ç¶è¡¨function
|
| | | åæ®µå åæ®µç±»å å
³è主表
|
| | | id
|
| | | uuid
|
| | | ......
|
| | | function_uuid parentuuid mrbase_sys_datamodel_table(ä¿å表çuuidï¼æ¾ç¤ºè¡¨çåç§°ï¼é»è®¤å
³è主表çuuid)
|
| | | åæ®µçé¿åº¦ä¸ºä¸æéæ©ï¼æ ¹æ®ä¸åçæ°æ®ç±»åï¼å®ä¹ä¸åçé¿åº¦é项ï¼å¦ï¼10ã20ã50ã100ç
|
| | | |
| | | åæ®µç±»åï¼
|
| | | 餿 åçstring datetime int double ,è¿æç¹æ®ï¼parentuuid(主å表å
³ç³»ï¼è®°å½ç¶è¡¨uuid)ãcode(ç¼ç åæ®µ 000-000-002)ãserialNumber(GXD201209020001)
|
| | | åæ®µç±»å=parentuuidæ¶ï¼å¿
é¡»field_relation_tableåæ®µå¡«åç¶è¡¨çuuidå¦åä¹ä¸è½ä½ä¸ºä¸»å表ä¿å
|
| | | |
| | | ææç±»åï¼stringãintãnumber(å°æ°)ãdatetimeãparentuuidãcodeãserialNumberãidcardãurlãipãmacãemailãuseridãorgUuidãfileãflowStatusãtable_name
|
| | | |
| | | 3.ç¼åæ°æ®
|
| | | * ç¼åé
置表ï¼SYS_CACHE_CONFIG
|
| | | * åæ®µï¼IDãuuidãcache_nameãTABLENAME(S200)ãCACHEFIELD(å级ç¼ååæ®µï¼éå·åé),FIELDS(S4000,åæ®µåï¼éå·åé)ãfilter(S4000)ã夿³¨è¯´æ....
|
| | | * cache_name:å¯ä¸
|
| | | * å¸¸ç¨æ°æ®ãåºç¡æ°æ®ç¼å
|
| | | * éç¨ç¼åï¼éè¿é
置表ãåæ®µï¼å¤ä¸ªï¼ãæ¥è¯¢æ¡ä»¶æ¥æå®è¦ç¼åçæ°æ®å
容ï¼éç¨Mapå°è£
ï¼key=cache_nameï¼å¼=DataTableEntity
|
| | | * ç¹æ®ç¼åï¼åç¬åæ¹æ³å è½½æ°æ®å¹¶å¤çæ°æ®ï¼å°è£
åéç¨ç¼å䏿 ·
|
| | | * æ¯æåç»ç¼åï¼æ é级,åç»å段å¿
é¡»å¨ç¼ååæ®µéé¢
|
| | | æ¯æå è½½åè¡¨æ°æ®
|
| | | * ç¼åæ°æ®ï¼å卿°æ®ä¸ä¸è´é®é¢ï¼å½ä¸¤ä¸ªè¿ç¨åæ¶å¯¹ä¸ä¸ªè¡¨çç¼åè¿è¡è¯»ååæ¶---------------
|
| | | * æ°å¢ãä¿®æ¹ãå é¤ç¼å表æ¶ï¼è¦æ´æ°ç¼å-------------------------------------
|
| | | * åå§æ°æ®
|
| | | table_name=mrbase_sys_datamodel_table
|
| | | table_name=mrbase_sys_datamodel_field | cache_fields=* | group_field=table_uuid
|
| | | table_name=mrbase_sys_datamodel_field | cache_fields=* | filter=field_type='parentUuid'
|
| | | table_name=mrbase_function_permission | cache_fields=role_uuid,function_uuid,button_uuid | group_field=role_uuid
|
| | | |
| | | *ç¼åå·æ°ï¼æ°æ®æ°å¢ãä¿®æ¹ãå 餿¶é½ä¼å·æ°å¯¹åºçè¯¥è¡¨çææç¼åé
ç½®ï¼è¿å¯ä»¥è°èªå®ä¹ç代ç è¿è¡å·æ°ï¼bean_nameãbean_method(String uuid) åæ°æ¯æä½æ°æ®çuuid ,bean_method() å¯å¨æ¶ä¼è°æ¤æ¹æ³ï¼å¿
é¡»å®ä¹ä¸¤ä¸ªæ¹æ³ ï¼
|
| | | *ç¼åçä½¿ç¨æ¥è¯¢æ¹æ³ï¼
|
| | | æåç»ï¼åç»å段ï¼å¯¹åºå¼ |
| | | 对åºç¼åä¸å¯¹åºçåç»åæ®µï¼æ´ä¸ªåæ°ä¸ºè¿ï¼è¡¨ç¤ºæ²¡æåç»ï¼åªè½åé¢ä¸ä¸ºç©ºï¼ä¸è½åé¢ä¸ºç©ºï¼ä¾å¦ï¼
|
| | | ç¼åçåç»å段ï¼field1ãfield2ãfield3 ,è·åæ¶åæ°å¼ï¼åªè½ä¸ç§æ
åµï¼{value1,null,null}ã{value1,value2,null}ã{value1,value2,value2},
|
| | | ä¸è½åºç° {value1,null,value3} ã{null,null,value3} ã{null,value2,value3} çæ
åµ
|
| | | å¦ï¼
|
| | | DataTableEntity dt=DataPoolCacheImpl.getInstance().getCacheData("ææå段信æ¯å¹¶æè¡¨åç»",new String[] {tableUuid});
|
| | | æªåç»ï¼
|
| | | DataTableEntity table=DataPoolCacheImpl.getInstance().getCacheData("ææè¡¨ä¿¡æ¯");
|
| | |
|
| | | ï¼1ï¼rediså·¥å
·ç±»
|
| | | é
ç½®æä»¶ï¼lx-base-server\lx-base-server-cache\src\main\resource\cache.properties
|
| | | ç±»ï¼com.lx.base.cache.util.RedisUtil
|
| | | ä»ç»ï¼
|
| | | å
¨é¨ä¸ºéææ¹æ³ï¼æ éæ³¨å
¥ï¼å
å«äºå¯¹key以å5ç§åºæ¬ç±»åï¼string,hash,list,set,zsetï¼çæä½ï¼æ¹æ³åç§°ç»è¿ç®ååå½ä¸åï¼ä¸åçå½ä»¤ç¨æä¸åï¼
|
| | | æç
§key,string,hash,list,set,zsetçé¡ºåºæåæ¹æ³ï¼ä¸åç±»åé´å卿³¨éåå²ï¼è¥æ¯åç»ææ°å¢ï¼åºå½åå¨å¯¹åºçèå´å
ï¼
|
| | | æ°å¢/ä¿®æ¹ç±»çæ¹æ³ä»¥add/setå¼å¤´ï¼åé¢ç´§è·ç±»åï¼æåè·æ¹æ³ç¹æ§ï¼
|
| | | è·åç±»æ¹æ³ä»¥getå¼å¤´ï¼åé¢ç´§è·ç±»åï¼æåè·æ¹æ³ç¹æ§ï¼ï¼ç¹æ®çï¼æ±å交差并éå¹¶åå¨è¿åçæ¯ä¸ªæ°ï¼ï¼
|
| | | å¤å®æ¯å¦åå¨ä¸ºexistså¼å¤´ï¼åé¢ç´§è·ç±»åï¼
|
| | | å é¤ç±»æ¹æ³ä»¥delå¼å¤´ï¼åé¢ç´§è·ç±»åï¼æåè·æ¹æ³ç¹æ§ï¼
|
| | | ç¸å¯¹ç¹æ®çå½å-clearOutTimeï¼ç§»é¤è¶
æ¶æ¶é´ï¼ï¼replaceListAimValueï¼list-æ¿æ¢æå®ä¸æ çå¼ï¼ï¼moveSetï¼set-ç§»å¨å¼å°æå®keyçsetä¸ï¼
|
| | | æµè¯ç±»ï¼com.lx.base.cache.TestRedisUtil
|
| | | ä»ç»ï¼
|
| | | é¤ç¬¬ä¸ä¸ªä¸ºè·åæ°æ®æ¹æ³å¤ï¼åé¢å为åå
æµè¯ï¼å¯ä»¥å¨è¿éæ¾å°å¯¹åºç示ä¾ä»£ç ï¼
|
| | | é¤é¨å类转æ¢çéè½½æ¹æ³æ²¡æååå
æµè¯ï¼æäºéè½½çæ¹æ³æ¾å¨ä¸ä¸ªåå
æµè¯å
ï¼åºç¡çè·åç±»æ¹æ³æ²¡æåç¬ååå
æµè¯ï¼
|
| | | æ¯ä¸ä¸ªåå
æµè¯åå·²éè¿ï¼ä½æ¯ä¸æ¬¡æ§å
¨å¼æ¶ï¼æ¬å°å¡å¨çº¦ä¸åå¤ï¼
|
| | | åå
æµè¯çæ¹æ³å为test + å®é
æ¹æ³åï¼é¦åæ¯è½¬å¤§åï¼ï¼
|
| | | é¤RedisUtilæ°å¢æ¹æ³æè
æµè¯æ¹æ³åå¨é误ï¼å°½é䏿´æ°è¯¥ç±»ï¼æ´æ°æ¶ï¼éè¦æ³¨éææåå
æµè¯æ¹æ³ï¼
|
| | |
|
| | | 4.jsonæ°æ®ä¸ï¼å段~type~ï¼ä¸æ¯å段åï¼æ¯åè¡¨æ°æ®å¨ä¿®æ¹æ¶åçæä½ç±»åï¼æ°å¢ãä¿®æ¹ãå é¤
|
| | | æ°å¢ï¼uuid没æå¼ï¼ å¯è½ä¸å~type~=xxx
|
| | | ä¿®æ¹,uuidæå¼ï¼ å¯è½ä¸å~type~=xxx
|
| | | åªæå 餿¶ç¨è¿ä¸ªå段æ¥åºå,å³~type~=del
|
| | | ä¿®æ¹ä¸»åè¡¨æ°æ® 主表å¿
é¡»æuuidåæ®µï¼åè¡¨æ°æ®ä¸ä¸ä¸ªç§æ
åµï¼æ°å¢ ~type~="",uuid="",ä¿®æ¹ï¼~type~="",uuid="ä¸ä¸ºç©º"ï¼å é¤ï¼~type~="del",uuid="ä¸ä¸ºç©º"
|
| | | åè¡¨åæ°è¦ä¸è´
|
| | | |
| | | 5.ææå®ä½ç±»åï¼é½å¿
é¡»æä¸ªå段 table_nameï¼å表åç§° ,å¯ä»¥å®ä½ç±»ä¸å®ä¹æå¸¸é
|
| | |
|
| | | 6.API请æ±åæ°
|
| | | API请æ±jsonçåæ°åç§°ï¼formDataï¼ Tokenåæ°å°è£
å¨jsonä¸ï¼åç§°ï¼accessToken
|
| | | RequestParameterEntity å°è£
ææåæ°è¯·æ±ï¼è¯¦ç»è§è¯¥ç±»
|
| | | Object bean=request.getAttribute("requestPara");
|
| | | String accessToken = null;
|
| | | if(bean !=null) { |
| | | RequestParameterEntity reqp=(RequestParameterEntity)bean;
|
| | | accessToken=reqp.getToken();
|
| | | }
|
| | | -----è·åè¡¨åæ°æ®------
|
| | | public FieldSetEntity getFormData() {
|
| | | return formData;
|
| | | }
|
| | |
|
| | | 7.ææcontroller å¿
é¡»ç»§æ¿ AbstractBaseController
|
| | | ä¿®æ¹ãå é¤ è¿å
|
| | | OK()
|
| | | ç»å½è¿å
|
| | | OK_login
|
| | | æ°å¢è¿å
|
| | | OK_Add(String uuid)
|
| | | æ¥è¯¢è¿å
|
| | | OK_List(FieldSetEntity fs)
|
| | | OK_List(DataTableEntity dt)
|
| | | |
| | | éç¨é误è¿åï¼ æ°å¢ãä¿®æ¹ãå é¤ãæ¥è¯¢å¤±è´¥
|
| | | public String error(String code,String msg )
|
| | |
|
| | | 9.ææservice å¿
é¡»ç»§æ¿ AbstractBaseService
|
| | | /**
|
| | | * æ°æ®æ¥è¯¢ ,spring 注å
¥
|
| | | */
|
| | | @Autowired
|
| | | public BaseDao baseDao = null;
|
| | | |
| | | 10.~table~ 忰卿°å¢ãä¿®æ¹æ¥å£æ¶å¿
é¡»æ¾å°æ°æ®çåé¢ï¼ä»¥æ¤æ¥é¦å
è·åå° |
| | |
|
| | | 13.é«çº§åç
§ä¸ææ¡æ¥å£æ°æ®
|
| | | {
|
| | | "code":200,
|
| | | "~table~":"xxxxx",
|
| | | "data":[{"value_field":"xxxx","view_fields":"xxxx","f1":"xxx","f2":"xxxx","f3":"xxx","code":"xxx"}
|
| | | ,{"value_field":"xxxx","view_fields":"xxxx","f1":"xxx","f2":"xxxx","f3":"xxx","code":"xxx"}],
|
| | | "pagesize":20,
|
| | | "cpage":4,
|
| | | "totalCount":343,
|
| | | "status":"success",
|
| | | "msg":"æå"
|
| | | }
|
| | | æ®éä¸ææ¡æ¥å£
|
| | | {
|
| | | "code":200,
|
| | | "~table~":"mrbase_sys_dict",
|
| | | "data":[{"dict_value":"xxxx","dict_label":"xxxx"}
|
| | | ,{"dict_value":"xxxx","dict_label":"xxxx"}],
|
| | | "pagesize":0,
|
| | | "cpage":0,
|
| | | "totalCount":0,
|
| | | "status":"success",
|
| | | "msg":"æå"
|
| | | }
|
| | |
|
| | | 14.䏿åç
§é
ç½®ï¼ä¿åæ¶select_fieldså¿
é¡»å¤ççæï¼value_field+" value_field,"+view_fields+" view_fields "+prompt_fieldxxxxx
|
| | | prompt_fieldxxxxx,æ¯ç±prompt_fieldåæ®µå¤çèæï¼å¦ï¼field1,field2,field3 ,å¤çååæ ,field1 f1,field2 f2,field3 f3,org_level_code code
|
| | | æåselect_fields=xxxx value_field,xxxx view_fields,field1 f1,field2 f2,field3 f3,å
¶ä¸ value_fieldãview_fieldsãf1ãf2ãf3 æ¯åºå®å段
|
| | | å
¶ä¸filteråæ®µï¼æ¯é
置人åæåçsqlæ¡ä»¶ï¼å符串ä¸å¯è½é
ç½®å¨æåæ°ï¼æ ¼å¼ä¸ºï¼~åæ°åç§°~ï¼å端è°ç¨æ¤åç
§æ¶ï¼ä¹å¿
é¡»ä¼ å¯¹åºçåæ°å¼ ï¼ä¾å¦ï¼
|
| | | é
ç½®filter: uuid=~cust_uuid~ and name like '%~cust_name~%'
|
| | | åç«¯åæ°ï¼{cust_uuid="sdgeasge",cust_name="ä¸å½"}
|
| | | |
| | | filteråæ®µä¸è¿å¯ä»¥é
置系ç»åéï¼å¦ï¼is_used=1 and uuid in (select language_uuid from mrbase_sys_company_language where org_level_uuid='{{COMPANY_UUID}}') |
| | | {{COMPANY_UUID}}:å½åç»å½äººåçå
¬å¸UUID.
|
| | | |
| | | display_typeï¼ 1:å表 2:æ ç»æï¼å½çäº2表示æ¤åç
§æ°æ®æ¾ç¤ºæ åï¼åæ¶ code_fieldãparent_code_field ãdelay_loadè¦å¿
å¡«ï¼
|
| | | code_fieldï¼ä¸ä¸çº§å
³ç³»è¡¨ä¸ç ç¼ç åæ®µï¼001ï¼æ¤å段ä¹å¤çåæ¾å°select_fieldsåæ®µä¸å»ï¼çæ xxxxx code,æ¤å端å¨ç¹å»ä¸ä¸ªèç¹æ¶ï¼åcodeçå¼ä¼ ç»æ¥å£ï¼æ¥è¿åå
¶ä¸é¢çåæ°æ®
|
| | | parent_code_fieldï¼ç¶ç¼ç åæ®µï¼001
|
| | | org_filter_fieldï¼æ ¹æ®è¡¨ä¸çå
¬å¸å段è¿è¡æ°æ®è¿æ»¤ï¼å¤ä¸ªä»¥éå·åé
|
| | | usr_filter_fieldï¼äººåæ°æ®è¿æ»¤æ¡ä»¶å段ï¼å¿
é¡»æ¯æ°æ®æºè¡¨ä¸ç人ååæ®µï¼å¯ä»¥å¤ä¸ªï¼éå·åéï¼
|
| | | |
| | | 14.1 䏿åç
§(é«çº§åç
§ãæ°æ®åå
¸)å¨åè¡¨ä¸æ¾ç¤ºï¼
|
| | | é
ç½®mrbase_sys_datamodel_field.field_referenceåæ®µï¼é
åç
§åç§°ææ°æ®åå
¸åç§°ï¼å¦ææ¯æ°æ®åå
¸åç§°å 书åå·æ¬èµ·æ¥,å¦ï¼ãgenderã
|
| | | å¨åè¡¨çæ¥è¯¢æ¹æ³ï¼å¯¹åè¡¨æ°æ®è¿è¡å°è£
䏿¬¡ï¼baseDao.loadPromptData(dt);
|
| | |
|
| | | 15.tokenåæ° token=xxxxxxxx,æ¾å°jsonæ°æ®ä¸ï¼æ´ä¸ªjsonä½ä¸ºä¸ä¸ªåæ° formData={"token"="xxxxxxxx",xxxxxxxxx}
|
| | |
|
| | | 16.å建åä½ç®¡çåï¼ä½¿ç¨mrbase_sys_user表ï¼is_manamgeré»è®¤ä¸ºæ¯
|
| | | å建管çåæ¶ï¼åé
ï¼åªè½ç»ä¸çº§ç®¡çååé
èªå·²èå´å
çæéï¼åå§ä¸ä¸ªè¶
级管çåï¼åå§ä¸ä¸ªè¶
级管çåè§è²ãåç»è¶
级管å
|
| | | å建åä½ç®¡çåï¼åªè½å建ä¸çº§åä½ç管çåï¼å¯ä»¥å
³èå¤ä¸ªä¸çº§åä½ï¼å¯¹æ¯ä¸ªåä½è¿è¡åç¬çæé设置ï¼å¿
é¡»å
éè§è²æéï¼
|
| | | åè½ä¸æ è¯æ¯å¦æ¯åå°ç®¡çåè½ ï¼ç®¡çåèªèº«çæéå¿
é¡»æ¯åå°åè½ï¼ä¸ºæ®é人ååé
æéæ¶ï¼å¿
é¡»æ¯éåå°ç®¡çåè½
|
| | | 17.åè½ä¸æé®apiåæä¸ä¸ªï¼éç¨ä¸»å表æ¹å¼æä½
|
| | | 18.å¼ååè½åç
§systemå·¥ç¨ä¸ç代ç
|
| | | 19.è·åapplicationä¸çé
ç½®åæ°ï¼ä½¿ç¨ï¼
|
| | | String path = Global.getSystemConfig("upload.file.path", "d:");
|
| | | 20.å¼å模å¼
|
| | | ä¸ä¸ªè´è´£ä¸ä¸ªåè½æ¨¡åçå¼åï¼å
æ¬æ¥å£å±ãæå¡å±
|
| | | 20.å
åè§åï¼ä»¥com.lx.+模ååç§°+.controller(serviceãentity)
|
| | |
|
| | | 21.å
¨é¨å¨lx__Serverä¸é¢å建maven模åï¼ä¸æ¯mavenå·¥ç¨
|
| | | <groupId>com.lx</groupId> ä¸ç¨æ¹
|
| | | <artifactId>-server</artifactId> 以å¼å¤´ï¼å颿¯æ¨¡ååç§°
|
| | | <version>1.0.0-SNAPSHOT</version> ä¸ç¨æ¹
|
| | | 22.妿è¦å¼ç¨jarï¼åç¬å¨pom䏿·»å ä¾èµï¼å
é¨å·¥ç¨ 乿¯è¿ä¹ç¸å¼
|
| | | 23.spring beanå¼ç¨
|
| | | private static MenuService menuService = SpringContextHolder.getBean(MenuService.class);
|
| | |
|
| | | 24.è·åå½åç»å½ç¨æ·
|
| | | SystemUser user = SpringMVCContextHolder.getCurrentUser();
|
| | | 25.è·åå½årequestãreponseãsessionç
|
| | | SpringMVCContextHolder.getHttpxxxx()
|
| | | |
| | | 26.å¯¹æ°æ®çæä½ï¼å¯ä»¥åè代ç ï¼JsonUtilï¼å¦ä½çæç FieldSetEnttiy,å¦ä½å¨fsä¸è·åå表ï¼DataTableEntityï¼ï¼å¦ä½è·åfsä¸çåæ®µå¼ï¼å¦ä½å¨DataTableEntityä¸è·å䏿¡è®°å½ï¼å䏿¡è®°å½ä¸çåæ®µå¼ |
| | |
|
| | | 27.坹䏿¡è®°å½ç读åæä½
|
| | |
|
| | | 28.å¯¹æ°æ®éç读åæä½
|
| | | ä»ç¼åä¸è·åå°æ°æ®é
|
| | | DataTableEntity dt=DataPoolCacheImpl.getInstance().getCacheData("ææå段信æ¯å¹¶æè¡¨åç»");
|
| | |
|
| | | DataTableEntity table=DataPoolCacheImpl.getInstance().getCacheData("mrbase_sys_datamodel_table");
|
| | | String tableUuid=null;
|
| | | String subTableUUid=null;
|
| | | å¾ªç¯æ¯ä¸æ¡æ°æ®
|
| | | for(int i=0;i<table.getRows();i++) {
|
| | | if(tableUuid != null && subTableUUid != null )
|
| | | break;
|
| | | è·å䏿¡è®°å½ä¸çä¸ä¸ªå段å¼
|
| | | if(tableName.equals(table.getString(i,"table_name"))){
|
| | | tableUuid=table.getString(i, "uuid");
|
| | | }
|
| | | if(subTableName.equals(table.getString(i,"table_name"))){
|
| | | subTableUUid=table.getString(i, "uuid");
|
| | | }
|
| | | }
|
| | | 29.äºå¡æä½
|
| | | æææ°å¢ãä¿®æ¹ãå é¤é½è¦åäºå¡
|
| | | ç论ä¸äºå¡å»ºç«å¨Serviceå±ï¼ä¸å¨controllerå±
|
| | | å®ç°æ¹å¼ï¼
|
| | | ----------------------------------------------------------------
|
| | | serviceç±»ä¸è¦åäºå¡çæ¹æ³æ·»å 注解ï¼@Transactionalï¼å¦ä¸ï¼
|
| | | /***
|
| | | * æ°å¢å®¢æ·æ°æ®äºå¡å¤ç(å¹¶ä¸å¨ç»ç»æ¶æä¸æ°å¢ä¸æ¡æé¡¶çº§çæ°æ®)
|
| | | * @param fse 客æ·å使°æ®
|
| | | * @return
|
| | | * @throws BaseException
|
| | | */
|
| | | @Transactional
|
| | | public String addClient(FieldSetEntity fse) throws BaseException{
|
| | | -----------------------------------------------------------------
|
| | | æ·»å serviceç±»çæ¥å£ç±»ï¼æ¥å£ç±»å¿
é¡»å®ä¹è¦åäºå¡çæ¹æ³
|
| | | controllerå¿
须继æ¿AbstractBaseController
|
| | | -----------------------------------------------------------------
|
| | | controllerä¸çå
·ä½è°ç¨ï¼
|
| | | æ systemClientsService.addClient(fse); æ¹æä»¥ä¸ä»£ç
|
| | | |
| | | /**äºå¡å¤çå®ç°**/
|
| | | ISystemClientsService service=(ISystemClientsService)getProxyInstance(systemClientsService);
|
| | | String uuid = service.addClient(fse);
|
| | | |
| | | ISystemClientsService ï¼serviceç±»çæ¥å£ç±»
|
| | | systemClientsServiceï¼spring注å
¥çserviceç±»
|
| | | ------------------------------------------------------------------- |
| | | |
| | | 30.æ¥è¯¢å表ä¸å
å«åè¡¨æ°æ®
|
| | | /**
|
| | | * |
| | | * @param tableName
|
| | | * @param filter
|
| | | * @param para
|
| | | * @param fields
|
| | | * @param orderby
|
| | | * @param psize
|
| | | * @param pindex
|
| | | * @param isMoreSubData æ¯å¦åæ¶æ¥è¯¢ææå表çå¯¹åºæ°æ®
|
| | | * @return
|
| | | * @throws BaseException
|
| | | */
|
| | | public DataTableEntity listTable(String tableName,String filter,Object para[],String fields[],String orderby, int psize,int pindex,boolean isMoreSubData)
|
| | |
|
| | |
|
| | | /**
|
| | | * @ æ¥è¯¢åè¡¨æ°æ®çææåè¡¨æ°æ® String 1=æ¯æ¡è®°å½uuidï¼String 2= å表åç§° |
| | | * @param uuids éå·åé ç¶å表uuids
|
| | | * @param table_name
|
| | | * @return
|
| | | */
|
| | | public Map <String,Map<String,DataTableEntity>> listSubData(String uuids,String tableName ) throws BaseException;
|
| | | 31.å
³äºéä»¶è·åæä½
|
| | | RequestParameterEntity.getFormData().getString(éä»¶åæ®µ);//ä¸ä¼ çåå§æä»¶åï¼å¤ä¸ªä»¥éå·åé
|
| | | RequestParameterEntity.getFiles().get(åå§æä»¶å); //对åºçæä»¶ï¼æä»¶åï¼uuid+"_"+æä»¶çåå§åç§° ï¼ä¸æ¬¡åªè½è·åä¸ä¸ª
|
| | | |
| | | 32.å
³äºæåsqlè¯å¥æ¥è¯¢åå页çè¦æ±
|
| | | select TIMESTAMPDIFF(YEAR,aciwe.start_datetime,aciwe.end_datetime) AS start_datetime from a,b where f1=f2 æ a left join b on f1=f2
|
| | | åæ®µå«åå¿
é¡»æ¯è¡¨ä¸çåæ®µï¼å¦åæ æ³è·åå°å¯¹åºå段ç表åååæ®µä¿¡æ¯å®ä¹ï¼å¦ï¼
|
| | | start_datetime å¿
é¡»æ¯ a表æb表ä¸çä¸ä¸ªå段
|
| | | |
| | | å¤è¡¨å
³èæ¥è¯¢ï¼è¡¨å®ä¹ï¼a,b æ a left join b on f1=f2 æ´ä¸ªå为表
|
| | | æ¡ä»¶å®ä¹ï¼where åé¢ ï¼ f1=f2 |
| | | 33.妿¥sqlè¯å¥ä¸æ²¡æuuidåæ®µï¼æ æ³æ¥è¯¢åºå表 |
| | | |
| | | 34.ç³»ç»é误说æ
|
| | | |
| | | ç³»ç»é误å为两ç§ï¼ä¸»å¨æåºé误ãæè·é误
|
| | | 䏻卿åºï¼
|
| | | /**
|
| | | * æé 彿°---䏻卿åºçé误
|
| | | * @param code é误ç 代ç
|
| | | * @param error é误信æ¯
|
| | | * @param c é误åççç±»
|
| | | * @param method é误åçæ¹æ³
|
| | | */
|
| | | public BaseException(String code,String error,Class c,String method);
|
| | | |
| | | æè·é误:
|
| | | /**
|
| | | * æé 彿°ï¼è®°å½é误å°åº---æè·çé误
|
| | | * @param code é误ç 代ç
|
| | | * @param exc æè·çé误
|
| | | */
|
| | | public BaseException(String code,String error,Class c,String method,Exception sysExc)
|
| | | |
| | | 35.liceseæ¯æ
|
| | | 硬件信æ¯è¯»ååºæä»¶ï¼ä¸è½½å°åï¼http://sigar.hyperic.com/
|
| | | windowsç macç linuxç
|
| | | sigar-x86-winnt.dll xxxxx xxxxxxxxxx
|
| | | sigar-amd64-winnt.dll xxxxxx xxxxxxxxx
|
| | | åæ¶å°å¯¹åºçdllæä»¶æè
soæä»¶æ·»å å°ç³»ç»ç®å½ãä¾å¦ï¼windows䏿sigar-x86-winnt.dllæ·»å å°c:\WINDOWS\system32æè
jdkçbinç®å½ã
|
| | |
|
| | | 36.å
³äºéç¨ç¼ç 001-002-003
|
| | | 表ä¸åæ¾ç¼ç çåæ®µï¼å¿
é¡»å¨mrbase_sys_datamodel_field表ä¸è¯¥å段çfield_type=code
|
| | | çé¢è°ç¨æ¥å£è·åç¼ç ï¼/api/common/createCodeï¼è§æµè¯ç±»CodeTest
|
| | | 妿ç颿²¡æè°ç¨æ¥å£çæç¼ç ï¼åå¯ä»¥å¨ä¸å¡controllerä¸å¯è°ä»¥ä¸ä»£ç è·å
|
| | | String code=codeService.createCode(fse.getString("table_name"), fse.getString("field_name"), fse.getString("parentCode")==null?"":fse.getString("parentCode"));
|
| | | 卿°å¢çcontrollerä¸è°ç¨ï¼å¨åºå±Daoä¸çä¿åæ¹æ³ä¸è·åè·åç临æ¶ç¼ç å»éªè¯æ¯å¦è¢«å ç¨ï¼å ç¨åéæ°çæï¼ä¿è¯å¯ä¸æ§
|
| | | è¿åjsonå¼ä¸codeçå¼å³ä¸ºçæçç¼ç å¼
|
| | | |
| | | 37.éç¨åæ°éªè¯ãæ°æ®ä¿åéªè¯
|
| | | åæ°éªè¯ï¼com.lx..module.sys.config.RegistValidateç±»
|
| | | å¨registValidateParameteræ¹æ³ä¸æ·»å éªè¯ä»£ç ï¼å¦ï¼
|
| | | DataValidateInterceptor.registValidatPara("/api/prompt/findPrompt","client_uuid",VerifyRegularUtil.VALIDATE_REQUIRED);
|
| | | åæ°1ï¼æ¥å£
|
| | | åæ°2ï¼éªè¯å段
|
| | | åæ°3ï¼éªè¯ç±»å
|
| | | æ°æ®ä¿åéªè¯ï¼å¨coreå
ä¸çdaoä¸èªå¨æ ¹æ®æ°æ®è¡¨å段çé
ç½®éªè¯ï¼é常ä¸ç¨é
ï¼ä½å¦ææå
¶å®éªè¯ï¼ä¹å¯ä»¥å¨ä¿ååä¿®æ¹æ¥å£ä¸é
ç½®ï¼å¦åä¿ååä¿®æ¹æ¥å£ä¸ç¨é
|
| | | æ ¹æ®å段类åè¿è¡éªè¯ï¼å¦ï¼å段æ¯mailï¼mrbase_sys_datamodel_field.field_type=email,ç°åªæ¯æï¼
|
| | | intãnumber(å°æ°)ãidcardãurlãipãmacãdatetimeãlengthãemail
|
| | | |
| | | 38.propertiesé
ç½®æä»¶åæ°è·å
|
| | | è°ç¨ï¼
|
| | | Global.getPropertyToBoolean("druid.datasource.testOnBorrow", "false")
|
| | | æ¹æ³ï¼
|
| | | /**
|
| | | * è·åé
ç½®,妿è·åä¸å°é
ç½®ï¼åä¼ é»è®¤å¼
|
| | | * @key keyå¼
|
| | | * @defaultValue 为空æ¶çé»è®¤å¼
|
| | | */
|
| | | public static String getSystemConfig(String key,String defaultValue)
|
| | | public static Integer getPropertyToInteger(String key, String defValue)
|
| | | public static Long getPropertyToLong(String key, String defValue)
|
| | | public static Boolean getPropertyToBoolean(String key, String defValue)
|
| | | 39.æ°æ®æé
|
| | | å¨åè¡¨ä¸æ·»å æ°æ®æéæ¡ä»¶çè·åï¼æ·»å å°å表æ¥è¯¢æ¹æ³ä¸ã
|
| | | /**
|
| | | * è·å人åçæ°æ®æéï¼æ»å
¥å£ ï¼ä¸è¿æ»¤äººåï¼åªè¿æ»¤å
¬å¸
|
| | | * æå®è¦è¿æ»¤ç å
¬å¸å段 使ç¨é»è®¤å
¬å¸å段è¿è¡è¿æ»¤-org_level_uuid
|
| | | * @return
|
| | | */
|
| | | public String getDataFilter();
|
| | | /**
|
| | | * è·å人åçæ°æ®æéï¼æ»å
¥å£ ï¼ä¸è¿æ»¤äººåï¼åªè¿æ»¤å
¬å¸
|
| | | * @param org_fields æå®è¦è¿æ»¤çå
¬å¸å段ï¼ä¸ºç©ºåï¼ä½¿ç¨é»è®¤å
¬å¸å段è¿è¡è¿æ»¤-org_level_uuid
|
| | | * @return
|
| | | */
|
| | | public String getDataFilter(String org_fields)
|
| | | /**
|
| | | * è·å人åçæ°æ®æéï¼æ»å
¥å£ ï¼è¿æ»¤æå®äººååæ®µï¼ä½¿ç¨é»è®¤å
¬å¸å段è¿è¡è¿æ»¤-org_level_uuid
|
| | | * @tableName 人åè¿æ»¤ç表
|
| | | * @param staff_fields |
| | | * @return
|
| | | */
|
| | | public String getDataFilter(String tableName,String staff_fields)
|
| | | /**
|
| | | * è·å人åçæ°æ®æéï¼æ»å
¥å£ ,人å å
¬å¸åæ¶è¿æ»¤
|
| | | * @param tableName æå®æ¯åªå¼ è¡¨çæ°æ® æéè¿æ»¤
|
| | | * @param staff_fields æå®è¦è¿æ»¤ç人ååæ®µ ï¼ä¸ºç©ºåï¼ä¸ç¨äººåè¿æ»¤
|
| | | * @param org_fields æå®è¦è¿æ»¤ç å
¬å¸å段ï¼ä¸ºç©ºåï¼ä½¿ç¨é»è®¤å
¬å¸å段è¿è¡è¿æ»¤-org_level_uuid
|
| | | * @return
|
| | | */
|
| | | public String getDataFilter(String tableName,String staff_fields,String org_fields)
|
| | | |
| | | 40.å
³äºæµæ°´å· |
| | | åªéè¦å¨é
ç½®ä¸é
ç½®æµæ°´å·,è§è¡¨mrbase_sys_swift_config
|
| | | 表ä¸åæ¾æµæ°´å·çåæ®µï¼å¿
é¡»å¨mrbase_sys_datamodel_field表ä¸è¯¥å段çfield_type=serialNumber ï¼ç¤ºä¾è§test表
|
| | | çé¢è°ç¨æ¥å£è·åç¼ç ï¼/api/common/createSerialNumberï¼è§æµè¯ç±»CodeTestï¼å¿
ä¼ åæ°ï¼serialNumberNameï¼å¯¹åºè¡¨æµæ°´å·é
置表ä¸çswift_config_nameåæ®µå¼
|
| | | è¿åjsonå¼ä¸serialNumberçå¼å³ä¸ºçæçæµæ°´å·
|
| | | 妿ç颿²¡æè°ç¨æ¥å£çæç¼ç ï¼åå¯ä»¥å¨ä¸å¡controllerä¸å¯è°ä»¥ä¸ä»£ç è·å
|
| | | String serialNumber=serialNumberService.createSerialNumber(serialNumberName);
|
| | | 卿°å¢çcontrollerä¸è°ç¨ï¼å¨åºå±Daoä¸çä¿åæ¹æ³ä¸è·åè·åç临æ¶ç¼ç å»éªè¯æ¯å¦è¢«å ç¨ï¼å ç¨åéæ°çæï¼ä¿è¯å¯ä¸æ§
|
| | | æ¥
|
| | | é
ç½®æ¯ææ ¼å¼ï¼
|
| | | [YYYY]ï¼å¹´
|
| | | [MM] ï¼æ
|
| | | [DD] ï¼æ¥
|
| | | [COMPANY_NAME]ï¼å
¬å¸åç§°,对åºorg_level_name
|
| | | [COMPANY_CODE]ï¼å
¬å¸ç¼ç org_level_code
|
| | | [DEPT_NAME]ï¼é¨é¨åç§°org_level_name
|
| | | [DEPT_CODE]ï¼é¨é¨ç¼ç org_level_code
|
| | | 41.æ¥å£ç¾å认è¯
|
| | | ç³»ç»åæ°æä»¶ä¸å¯é
ç½®ï¼
|
| | | #æ¯å¦å¯ç¨æ¥å£ç¾å认è¯
|
| | | signature.isEnable=false
|
| | | #å¨å¯ç¨æ¥å£ç¾åè®¤è¯æ¶ï¼æé¤æå®æ¥å£æ éç¾å认è¯
|
| | | signature.exclude.path=/login,/logout,/relogin
|
| | | #æ¥å£ç¾åè®¤è¯æææï¼åä½ç§ï¼ç¾åè®¤è¯æææ=空æ0ï¼å表示ä¸éªè¯
|
| | | signature.expire=10
|
| | | -------------
|
| | | 使ç¨MD5å å¯ï¼å å¯å
容ï¼åæ°formDataçå¼+KEY(åç¬æå®)
|
| | | å端å å¯åçå符串è¦å¤§åï¼sign=GEGSTLLSEGEL
|
| | | formDataä¸è¦å
å«timestampæ¶é´æ³çå¼ï¼æ ¼å¼ä¸ºï¼yyyyMMddHHmmss
|
| | | 42.éç¨å é¤éªè¯
|
| | | è°ç¨ï¼
|
| | | 模å system
|
| | | ç±» SystemDeleteValidationService
|
| | | æ¹æ³ public boolean deleteValidation(String tableName, String uuids,String delete_filter) throws BaseException {
|
| | | åæ°è¯´æï¼
|
| | | tableNameå 餿°æ®è¡¨è¡¨å
|
| | | uuidsè¦å 餿°æ®çuuid,å¤ä¸ªç¨éå·åé
|
| | | delete_filterå 餿¡ä»¶ fields='name'
|
| | | è¿å说æï¼
|
| | | éªè¯éè¿æ²¡æå
³è任使°æ®è¿åtrue
|
| | | åæ°ç¼ºå¤±è¿åfalse
|
| | | éªè¯æ²¡éè¿å
³èäºå
¶ä»è¡¨æ°æ®æåºå¼å¸¸ï¼å¼å¸¸ä¿¡æ¯ä¸æç¤ºå
³èæ°æ®è¡¨ï¼å¤ä¸ªç¨éå·åé
|
| | | 43.å½é
å
|
| | | label:
|
| | | ç¨æ·ç»å½æååï¼è°æ¥å£:
|
| | | /api/language/load-international-info/{version}
|
| | | å è½½æå®å®¢æ·ç«¯ãçæ¬å·ãé»è®¤è¯è¨çææå½é
åæ°æ®
|
| | | 客æ·ç«¯ãçæ¬å·ãé»è®¤è¯è¨æ¥å£åæ°ä¸ä¼
|
| | | |
| | | value:
|
| | | 1ãé¦å
é
置表ãåæ®µä¸ºå½é
ååæ®µ
|
| | | 2ãåç«¯è°æ¥å£è·ååªäºè¡¨æåªäºå½é
ååæ®µï¼å¨çé¢çä¸å¯¹åºå
ç´ å颿·»å å°ç徿 ï¼ç¹å¾æ å¼¹åºå½é
åå½å
¥
|
| | | æ¥å£:/api/language/list-international-fields-info/{version}
|
| | | 3ãæ°å¢ä¿åæ°æ®jsonæ ¼å¼ï¼
|
| | | {
|
| | |     "token":"11111-æ°å¢æäº¤æ°æ®",
|
| | | Â Â Â Â "system_language_code":"ZH",
|
| | | Â Â Â Â "system_client_type":"PC",
|
| | |     "system_client_version":"iphome X 13.1.3",
|
| | | Â Â Â Â "app_version":"V2.0.0",
|
| | | Â Â Â Â "time_zone_offset":"240",
|
| | | Â Â Â Â "sign":"eyJhbGciOiJIUzI1N",
|
| | | Â Â Â Â "~table~":"mrbase_sys_users",
|
| | | Â Â Â Â "name":[
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "en":"internationalization"
|
| | | Â Â Â Â Â Â Â Â },
|
| | | Â Â Â Â Â Â Â Â {
|
| | |             "zh":"å½é
å"
|
| | | Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â ],
|
| | | Â Â Â Â "address":[
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "en":"zhuhai"
|
| | | Â Â Â Â Â Â Â Â },
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "zh":"ç æµ·"
|
| | | Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â ],
|
| | | Â Â Â Â "phone":"18123938722",
|
| | | Â Â Â Â "sub_table_name":[
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "filed1":"value1",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "filed2":"value2",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "name":[
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "en":"internationalization"
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â },
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â {
|
| | |                     "zh":"å½é
å"
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â ],
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "address":[
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "en":"zhuhai"
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â },
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "zh":"ç æµ·"
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â ]
|
| | | Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â ]
|
| | | }
|
| | | 4ãæ¥è¯¢åè¡¨æ°æ®
|
| | | é¦å
æ¥è¯¢åºææä¸å¡æ°æ®ï¼åè°
|
| | | /**
|
| | | * ä¸å¡ä»£ç å±è°ç¨
|
| | | * è·åä¸å¡å¯¹åºå段çå½é
åæ°æ®,妿language_codeä¸ä¸ºç©ºï¼è¡¨ææ¯ææºç«¯
|
| | | * @param dt ä¸å¡è¡¨æ°æ® |
| | | * @param language_code ä¸ä¸ºç©ºåä¸ºææºç«¯
|
| | | * @return
|
| | | */
|
| | | DataTableEntity baseDao.listInternationDataTable(DataTableEntity dt,String language_code ) å°è£
å½é
åæ°æ®å°æ¯æ¡è®°å½çæ¯ä¸ªå½é
ååæ®µã
|
| | | FieldSetEntity baseDao.listInternationDataTable(FieldSetEntity fs,String language_code ) å°è£
å½é
åæ°æ®å°åæ¡è®°å½çæ¯ä¸ªå½é
ååæ®µã
|
| | | |
| | | //baseDao.processInternationDataTable(DataTableEntity dt,String language_code ),å½é
ååæ®µä¸æ¯æ°ç»æ ¼å¼
|
| | | //baseDao.processInternationDataTable(FieldSetEntity fs,String language_code ) å½é
ååæ®µä¸æ¯æ°ç»æ ¼å¼
|
| | | è¿åjsonæ ¼å¼ï¼
|
| | | |
| | | {
|
| | | Â Â Â Â "code":"200",
|
| | | Â Â Â Â "data":[
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"100001",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "name":[
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"xxxxx",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "en":"internat"
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â },
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"xxxxx",
|
| | |                     "zh":"å½é
å"
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â ],
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "address":[
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"xxxxx",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "en":"zhuhai"
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â },
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"xxxxx",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â "zh":"ç æµ·"
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â ],
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "phone":"18123938729"
|
| | | Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â ],
|
| | | Â Â Â Â "msg":"æå",
|
| | | Â Â Â Â "status":"success"
|
| | | }
|
| | | |
| | | 5ãä¿®æ¹ä¿åæ°æ®jsonæ ¼å¼ï¼
|
| | | {
|
| | |     "token":"11111-æ°å¢æäº¤æ°æ®",
|
| | | Â Â Â Â "language_code":"zh",
|
| | | Â Â Â Â "client_type":"PC",
|
| | |     "client_version":"iphome X 13.1.3",
|
| | | Â Â Â Â "app_version":"V2.0.0",
|
| | | Â Â Â Â "time_zone_offset":"240",
|
| | | Â Â Â Â "sign":"eyJhbGciOiJIUzI1N",
|
| | | Â Â Â Â "~table~":"mrbase_sys_users",
|
| | | Â Â Â Â "uuid":"100001",
|
| | | Â Â Â Â "name":[
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"xxxxx",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "en":"internationalization"
|
| | | Â Â Â Â Â Â Â Â },
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"xxxxx",
|
| | |             "zh":"å½é
å"
|
| | | Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â ],
|
| | | Â Â Â Â "address":[
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"xxxxx",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "en":"zhuhai"
|
| | | Â Â Â Â Â Â Â Â },
|
| | | Â Â Â Â Â Â Â Â {
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "uuid":"xxxxx",
|
| | | Â Â Â Â Â Â Â Â Â Â Â Â "zh":"ç æµ·"
|
| | | Â Â Â Â Â Â Â Â }
|
| | | Â Â Â Â ],
|
| | | Â Â Â Â "phone":"18123938722"
|
| | | }
|
| | | |
| | | 6.ä¸è½å½é
åç表ï¼
|
| | | mrbase_sys_cache_config ç¼åé
ç½®
|
| | | mrbase_sys_data_sources æ°æ®åºè¿æ¥é
ç½®
|
| | | mrbase_sys_datamodel_field æ°æ®ç»æå段信æ¯
|
| | | mrbase_sys_datamodel_table æ°æ®ç»æè¡¨ä¿¡æ¯
|
| | | mrbase_sys_language_code
|
| | | mrbase_sys_language_cont_values
|
| | | mrbase_sys_language_master
|
| | | mrbase_sys_language_values
|
| | | mrbase_sys_message_exchange
|
| | | mrbase_sys_message_message_exchange
|
| | | mrbase_sys_message_template
|
| | | mrbase_sys_message_template_language
|
| | | mrbase_sys_message_user_exchange
|
| | | mrbase_sys_prompt
|
| | | mrbase_sys_swift_config
|
| | | mrbase_sys_tree_config
|
| | | mrbase_sys_version_buttons_mapping
|
| | | 宿¶ä»»å¡ææè¡¨
|
| | | 44.æä»¶ä¸ä¼ --ç¬¬ä¸æ¹æä»¶æå¡å¨
|
| | | 1ï¼è·å客æ·ä¸ä¼ çæä»¶æ»å¤§å°ï¼com.lx.base.file.service.FileManagerService
|
| | | /**
|
| | | * è·å客æ·ä¸ä¼ çæä»¶æ»å¤§å°
|
| | | * @param clientUUID 客æ·UUID
|
| | | * @return å·²ä¸ä¼ æä»¶æ»å¤§å°
|
| | | * @throws BaseException åºæ¬å¼å¸¸
|
| | | */
|
| | | public int findClientFileUsedCapacity(String clientUUID) throws BaseException
|
| | | 2ï¼è·å客æ·å©ä½çæä»¶æ»å¤§å°ï¼com.lx.base.file.service.FileManagerService
|
| | | /**
|
| | | * è·å客æ·å©ä½çæä»¶æ»å¤§å°
|
| | | * @param clientUUID 客æ·UUID
|
| | | * @return å©ä½ç©ºé´å¤§å°
|
| | | */
|
| | | public int findClientFileResidueCapacity(String clientUUID) throws BaseException
|
| | |
|
| | | /**
|
| | | * è·å客æ·å©ä½çæä»¶æ»å¤§å°
|
| | | * @param fse 客æ·fse
|
| | | * @return å©ä½ç©ºé´å¤§å°
|
| | | */
|
| | | public int findClientFileResidueCapacity(FieldSetEntity fse) throws BaseException
|
| | | 3ï¼ä¸ä¼ æä»¶
|
| | | 1>å端ä¸ä¼ æä»¶ï¼è¿åæä»¶ä¿¡æ¯ç»å端ï¼è°ç¨è¯·æ±åç¼/api/fileManager/add-file-record-plan/{version}ï¼è¯¦æ
è§showdocä¸14-1ãæä»¶æ°å¢åå¤ï¼å端è¿åfse
|
| | | ä¼ å
¥json示ä¾ï¼
|
| | | {
|
| | | "org_level_uuid": "b8631dad-6cc1-4d5a-9f6f-e8c76e6a5464",
|
| | | "~table~": "mrbase_sys_attachments",
|
| | | "attachment_title": "test_202006221036.doc",
|
| | | "client_uuid": "06f959c8-4f41-407c-9bcc-8137a8b22f50",
|
| | | "language": "mslc1112",
|
| | | "function_uuid": "97779f8b-9657-47e7-8915-2f51113210fe",
|
| | | "client_type": "web",
|
| | | "attachment_data_table": "test_project",
|
| | | "version": "v1",
|
| | | "token": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhZG1pbiIsImlhdCI6MTU5Mjc5MzY3OSwic3ViIjoic2hpX2Nob25nZnVAMTYzLmNvbSIsImlzcyI6Ind3dy5tcmMuY29tIiwiZXhwIjoxNTkyODY1Njc5fQ.kgffR0iYgjKhFSNI-ak5hPCf3453aOYXIrwHte7pRAY",
|
| | | "product_uuid": "001",
|
| | | "staff_uuid": "e2f158ec-a6c7-40e0-a201-4fd7eb2e0e98",
|
| | | "attachment_data_field": "attachment",
|
| | | "attachment_size": "1"
|
| | | }
|
| | | 2>å端å¾å°å端è¿ååæ¼æ¥urlï¼è°ç¨è³æå¡å¨ç«¯ä¸ä¼ æä»¶ï¼æ ¹æ®æå¡å¨ç«¯ç¶æè¿åè°ç¨è¯·æ±åç¼/api/fileManager/add-file-callback/{version}ï¼è¯¦æ
è§showdocä¸14-2ãæä»¶æ°å¢ç»æåè°ãæå¡ç«¯æ°å¢æåæ¬å°æ§è¡ä¿®æ¹ï¼åæ´æä»¶è®°å½ç¶æä¸ºä¸ä¼ æåï¼è¿åupdateï¼æå¡ç«¯æ°å¢å¤±è´¥æ¬å°æ§è¡å é¤ï¼è¿åè®°å½ï¼è¿ådel
|
| | | ä¼ å
¥json示ä¾ï¼
|
| | | {
|
| | | "result": "1",
|
| | | "uuid": "c48c0147-8b2f-4a8d-9d5b-46c55ceb725b",
|
| | | "token": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhZG1pbiIsImlhdCI6MTU5Mjc5NjMzNiwic3ViIjoic2hpX2Nob25nZnVAMTYzLmNvbSIsImlzcyI6Ind3dy5tcmMuY29tIiwiZXhwIjoxNTkyODY4MzM2fQ.LiUeajNzZAHWuT5O_YdPh5IOp7geVjklBGrWUBz79fo"
|
| | | }
|
| | | 4ï¼å 餿件
|
| | | 1>å端å 餿件ï¼è¿åæä»¶ä¿¡æ¯ç»å端ï¼è°ç¨è¯·æ±åç¼/api/fileManager/del-file-record-plan/{version}ï¼è¯¦æ
è§showdocä¸14-3ãæä»¶å é¤åå¤ï¼å端è¿åfse
|
| | | ä¼ å
¥json示ä¾ï¼
|
| | | {
|
| | | "uuid": "c48c0147-8b2f-4a8d-9d5b-46c55ceb725b",
|
| | | "token": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhZG1pbiIsImlhdCI6MTU5MjgwNDMyOSwic3ViIjoic2hpX2Nob25nZnVAMTYzLmNvbSIsImlzcyI6Ind3dy5tcmMuY29tIiwiZXhwIjoxNTkyODc2MzI5fQ.Fsau5aHByePG7E-p68Y8_Py6yGAcYwbxQLwhkz20MGQ"
|
| | | }
|
| | | 2>å端å¾å°å端è¿ååæ¼æ¥urlï¼è°ç¨è³æå¡å¨ç«¯å é¤æä»¶ï¼æ ¹æ®æå¡å¨ç«¯ç¶æè¿åè°ç¨è¯·æ±åç¼/api/fileManager/del-file-callback/{version}ï¼è¯¦æ
è§showdocä¸14-4ãæä»¶å é¤ç»æåè°ãæå¡ç«¯å 餿忬尿§è¡å é¤ï¼è¿ådelï¼æå¡ç«¯å é¤å¤±è´¥æ¬å°æ§è¡ä¿®æ¹ï¼è¿åæä»¶è®°å½ç¶æï¼è¿åupdate
|
| | | ä¼ å
¥json示ä¾ï¼
|
| | | {
|
| | | "result": "0",
|
| | | "uuid": "c48c0147-8b2f-4a8d-9d5b-46c55ceb725b",
|
| | | "token": "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhZG1pbiIsImlhdCI6MTU5MjgwNTg4OSwic3ViIjoic2hpX2Nob25nZnVAMTYzLmNvbSIsImlzcyI6Ind3dy5tcmMuY29tIiwiZXhwIjoxNTkyODc3ODg5fQ.0x7xmEM2G8qXq7jiYQiy6iDm48tYEqVS9UqhlHUB9xk"
|
| | | }
|
| | | 45.æ¬å°æä»¶ä¸ä¼ --ç³»ç»æå¡å¨
|
| | | æ ¸å¿ï¼éè¦sigar-amd64-winnt.dllæè
sigar-x86-winnt.dllæä»¶ç½®äºjdkçbin䏿è
cçwindows/system32
|
| | | ä¸ä¼ ç®å½é
ç½®ï¼è§propertiesæä»¶ä¸çupload.fileãxxxx å 个ç¸å
³åæ°
|
| | | ä¸ä¼ æä»¶èªå¨åå°ç®å½ä¸ï¼å¨controlleræserviceå±ä¸è¯»åæä½ã
|
| | | |
| | | 46.æ¶æ¯æå¡
|
| | | 1.æ°å»ºéå
|
| | | public static void createQueue(String queue_name)
|
| | | æ è¿åå¼
|
| | | 2.å é¤éå
|
| | | public static void deleteQueue(String queue_name)
|
| | | æ è¿åå¼
|
| | | 3.æ°å»ºäº¤æ¢æº
|
| | | messageService.addExchange
|
| | | åæ°
|
| | | "exchange_uuid":"æ°å»ºäº¤æ¢æº"
|
| | | è¿åå¼ï¼äº¤æ¢æºuuid
|
| | | 4.ç»å®äº¤æ¢æº
|
| | | messageService.bindExchange
|
| | | åæ°ï¼
|
| | | {"user_uuid":"ç¨æ·uuid",
|
| | | "exchange_uuid":"äº¤æ¢æºuuid"}
|
| | | è¿åå¼ï¼Boolean
|
| | | 5.è§£ç»äº¤æ¢æº
|
| | | messageService.unbindExchange
|
| | | åæ°ï¼
|
| | | {"user_uuid":"ç¨æ·uuid",
|
| | | "exchange_uuid":"äº¤æ¢æºuuid"}
|
| | | è¿åå¼ï¼boolean
|
| | | 6.æ·»å æ¶æ¯ä¸æ·»å æ¶æ¯è®°å½
|
| | | messageService.addMessage
|
| | | åæ°ï¼
|
| | | {
|
| | | "exchange_uuid":"äº¤æ¢æºuuid"
|
| | | "message_uuid"ï¼"ç¨æ·uuid"
|
| | | "message":"æ¶æ¯å
容"
|
| | | "template_id":"模æ¿id"
|
| | | "create_by":"æä½äººuuid"
|
| | | "virtual_hosts":"èææºå"
|
| | | }
|
| | | 47.综åæç´¢ï¼
|
| | | findService.listUuid
|
| | | åæ°ï¼
|
| | | {
|
| | | ~table~ï¼[ââ,ââ,ââ,ââ] //æ°æ®åºè¡¨
|
| | | Conditions:[{condition:value},{},{}...] //æ¡ä»¶
|
| | | language:value //å½é
åè¯è¨
|
| | | }
|
| | | è¿åå¼ï¼list<String> uuids
|
| | | |
| | | 彿¥è¯¢è¯åï¼ä½¿ç¨å¤è¡¨èåæ¥è¯¢ï¼å¹¶ä½¿ç¨äºå«åæ¶ï¼éè¦æ·»å 表å«åãåæ®µå«å设置ï¼å¹¶æsqlè¯å¥ä½¿ç¨select * from (æ¥è¯¢è¯å¥+æ°æ®æéæ¡ä»¶+é«çº§æ¥è¯¢æ¡ä»¶) b æ¬èµ·æ¥ï¼æ³¨æ
|
| | | 48.以ä¸å
容忴 |
| | | 1.coreå
å¼å
¥åæ´
|
| | | <dependency>
|
| | | <groupId>com.lx</groupId>
|
| | | <artifactId>base-server-core</artifactId>
|
| | | <version>1.0.0-releases</version>
|
| | | </dependency>
|
| | | 2.ææå¼å
¥coreå
ä¸ç±»çè·¯å¾å«æå
¨é¨æ¿æ¢æbase,å¦ï¼
|
| | | import com.product..core.dao.BaseDao; -> import com.product.base.core.dao.BaseDao;
|
| | |
|
| | | 3.è·åå½åç»å½ç¨æ·å¯¹åºå工信æ¯ï¼
|
| | | æ¹ægetCurrentStaff() FieldSetEntity
|
| | |
|
| | | 4.è·åå½åç»å½ç¨æ·å¯¹åºåå·¥æå±å
¬å¸ä¿¡æ¯
|
| | | getCurrentCompany() FieldSetEntity
|
| | | åç¬è·åå
¬å¸çuuidãorg_level_name(å
¬å¸åç§°) org_level_code(å
¬å¸ç¼ç )
|
| | |
|
| | | 4.è·åå½åç»å½ç¨æ·å¯¹åºåå·¥æå±é¨é¨ä¿¡æ¯
|
| | | getCurrentDept() FieldSetEntity
|
| | | åç¬è·åé¨é¨uuid
|
| | |
|
| | | 5.è·åå½åç»å½ç¨æ·å¯¹åºåå·¥æå±å®¢æ·ä¿¡æ¯
|
| | | getCurrentCustomer()
|
| | | åç¬è·å客æ·uuid ã客æ·åç§°ã客æ·ç¼ç
|
| | |
|
| | | 6.è·åå½åç»å½ç¨æ·å¯¹åºç®¡çåä¿¡æ¯
|
| | | getCurrentManager()
|
| | |
|
| | | 7.è·åæ¥è¯¢æ°æ®éçææuuid
|
| | | public String DataTableEntity.getUuids() å ï¼æ¹ä¸ºä»¥ä¸
|
| | |
|
| | | æå®è¡¨çææuuid,è¿åæ°ç»
|
| | | -> public Object[] getUuids(Object tableName) |
| | | æå®è¡¨çææuuidï¼è¿åéå·åéçå符串
|
| | | -> public String getUuidsToString(Object tableName) |
| | | è¿åé»è®¤è¡¨çææuuid,è¿åæ°ç»
|
| | | -> public Object[] getUuids()
|
| | | è¿åé»è®¤è¡¨çææuuid,è¿åéå·åéçå符串
|
| | | -> public String getUuidsToString() |
| | | 8.ç»å½ä¸ä¼ åºå®åæ°
|
| | | system_language_code è¯è¨ç¼ç zh en
|
| | | system_client_type 客æ·ç±»å
|
| | | system_client_version 代ç çæ¬
|
| | |
|
| | | 9.æ¥å£çæ¬å·å¤§åVåå 3个æ°åå¦ä¸ï¼
|
| | | æææ¥å£å¿
é¡»ä¸ä¼ çæ¬å·
|
| | | http://{IP}:{PORT}/{ProjectName}/api/app/homepage/get-home-page-list/v1 æv2
|
| | |
|
| | | 10.new FieldSetEntity()åï¼é¦å
è¦è®¾ç½®è¡¨åï¼æè½è°setValue(String fieldName,Object fieldValue)ï¼ å¦ååªè½è°setValue(String fieldName,Object fieldValue,Object tableName)
|
| | |
|
| | | 11.public FieldSetEntity getLeaderStaff() throws BaseException SystemUser.getLeaderStaff()è·åå½å人æç´å±é¢å¯¼ä¿¡æ¯
|
| | |
|
| | | 12.public FieldSetEntity getJobPost() throws BaseException SystemUser.getJobPost()è·åå½å人æå²ä½ä¿¡æ¯
|
| | |
|
| | | 13.public DataTableEntity loadDirectSubordinate(String staffUuid) throws BaseException StaffManagerService.loadDirectSubordinate() è·åæå®äººåçç´æ¥ä¸å±
|
| | |
|
| | | 14.public DataTableEntity loadAllSubordinate(String staffUuid) throws BaseException StaffManagerService.loadAllSubordinate() è·åæå®äººåçææç´æ¥ä¸å±
|
| | |
|
| | | 15.public FieldSetEntity loadStaffLeader(Integer userid) StaffManagerService.loadStaffLeader() è·å人åçç´å±é¢å¯¼
|
| | |
|
| | | 16.public FieldSetEntity loadStaffLeader(String staffUuid) StaffManagerService.loadStaffLeader() è·å人åçç´å±é¢å¯¼
|
| | |
|
| | | 17.æ¥è¯¢åºæ¥çæ°æ®éDataTableEntity æFieldSetEntity ä¸è·åå°FieldMetaEntity,è°public void addAliasField(String tableName_fieldName,String alias)æ·»å æ¥è¯¢ä¸ä½¿ç¨çå½é
åè¿æ®µå«åã
|
| | | tableName_fieldNameï¼ è¡¨åä¸å段åç»åï¼ä¸é´ä»¥ç¹åé table.field
|
| | | Aliasï¼ sqlä¸å¯¹åºçåæ®µå«å
|
| | |
|
| | | 18.妿å¤è¡¨èåæ¥è¯¢ï¼è¦åå½é
åå¼ç表ï¼å¿
é¡»å该表uuidåæ®µï¼æéå¤uuidï¼èªå¨æ·»å å«åï¼æ¥è¯¢åºæ¥çuuidä¼å¨å颿·»å æ°æ®éå¢ï¼å¦ï¼uuid1,uuid2,第ä¸ä¸ªuuidä¸ä¼åï¼å¦æè¦æå¨å¯¹éå¤çuuidåå«åï¼ä¹åºææ¤è§åè¿è¡ï¼å¦åå¯è½åºç°å½é
è·åä¸å°æ°æ®çæ
åµ
|
| | | 19.妿å¤è¡¨èåæ¥è¯¢ï¼å
¶å®å段éå¤ä¸uuidéå¤ç±»ä¼¼,
|
| | | å¤è¡¨èåæ¥è¯¢ï¼åä¸ä¸ªè¡¨ï¼åä¸ä¸ªå段ï¼ä½¿ç¨ä¸¤æ¬¡ï¼éè¦select * from () b ææ¥è¯¢ä¸»ä½æ¬èµ·æ¥åæ¶è¡¨å¿
须设置å«å
|
| | | 20.FeildSetEntityä¸è·åObjectæ¶æä¸¤ä¸ªæ¹æ³ï¼getValue(String fieldName)ågetObject(String fieldName),åºå«å¨äºï¼getValueï¼String fieldNameï¼ä¼æå½é
ååæ®µå¼è½¬æJSONObject对象ï¼ègetObject(String fieldName)åªæ¯è¿ååºç¡æ°æ®
|
| | |
|
| | | 48.ææºç«¯JSONæ°æ®æ ¼å¼çè°ç¨
|
| | | è¯è¨ç¼ç è·å
|
| | | String language_code=reqp.getOther().get(com.lx.base.core.config.CmnConst.SYSTEM_LANGUAGE_CODE ).toString();
|
| | | String client_type=reqp.getOther().get(com.lx.base.core.config.CmnConst.SYSTEM_CLIENT_TYPE ).toString();
|
| | | æ°æ®ä¿åï¼
|
| | | baseDao.add(FieldSetEntityfse,String language_code);
|
| | | baseDao.add(FieldSetEntity fs,boolean subData,String language_code)
|
| | | baseDao.add(DataTableEntity fs,String language_code)
|
| | | æ°æ®ä¿®æ¹ï¼
|
| | | baseDao.update(FieldSetEntity fs,String language_code)
|
| | | baseDao.update(FieldSetEntity fs,boolean subData,String language_code)
|
| | | baseDao.update(DataTableEntity fs,String language_code)
|
| | | æ°æ®æ¥è¯¢ï¼
|
| | | FieldSetEntity listInternationDataTable(FieldSetEntity fs,String language_code )
|
| | | DataTableEntity listInternationDataTable(DataTableEntity dt,String language_code ) |
| | | 49.å端é误信æ¯å½é
å
|
| | | 1)éè¯¯ä¿¡æ¯æä¸¾ç±»æ³¨å
¥ï¼å¯å¨ç±»ä¸æ·»å 注å
¥ä»£ç ï¼
|
| | | DataPoolCacheImpl.getInstance()
|
| | | .appendErrorEnumClass("com.lx.base.core.config.ErrorCode")
|
| | | .appendErrorEnumClass("com.lx.base.module.sys.config.SystemCode")
|
| | | .appendErrorEnumClass("com.lx.base.module.sys.config.SystemErrorCode");
|
| | | 2)ç¹æ®æ
åµè°ç¨ï¼AbstractBaseController.error()ãBaseException.getMessage()ãgetMessageInfo()å·²å®ç°ï¼
|
| | | String message=DataPoolCacheImpl.getInstance().getErrorLanguageInternation(code, language_code);
|
| | | |
| | | 50.é«çº§åç
§æ°æ®è¿åè§å
|
| | | 1)ææåä½é«çº§åç
§æ°æ® f1 å
¨ç§° f2 çç¼ç
|
| | | 2)ææé¨é¨é«çº§åç
§æ°æ® f1 å
¨ç§° f2 çç¼ç
|
| | | 3)ææå²ä½é«çº§åç
§æ°æ® f1 å
¨ç§° |
| | | 4)ææå²ä½ç级é«çº§åç
§æ°æ® f1 ççº§çº§å« f2 ç»å
|
| | | 5)æææ¨¡åé«çº§åç
§æ°æ® f1 çç¼ç
|
| | | 6)ææåè½é«çº§åç
§æ°æ® f1 çç¼ç
|
| | | 7)ææå®¢æ·é«çº§åç
§æ°æ® f1 çç¼ç
|
| | | 51.é«çº§åç
§é
ç½®
|
| | | æ°æ®æºè¡¨åæ®µæ´æ¹ä¸ºå端æ¥å£ï¼ä»DataPoolCacheImpl.getInstance().getCacheData("ææè¡¨ä¿¡æ¯");ä¸è·åææè¡¨
|
| | | 表å«åï¼ä»¥ "a"+table_id为表å«å
|
| | | éå¤å
³è表é
ç½®ï¼SystemPromptService.getPromptRepetitionJoinTable() ï¼åºæ¯ å
¬å¸ join é¨é¨ ãåå·¥joinä¸å±
|
| | | å
³èç±»å left join , inner join , right join
|
| | | å表ï¼
|
| | | æ°æ®æºè¡¨å¤åºå«å
|
| | | åæ®µï¼è¡¨å«å "."åæ®µå
|
| | | å¤è¡¨
|
| | | is_multiple = 1
|
| | | relate_filter(å¤è¡¨å
³èæ¡ä»¶ï¼
|
| | | relate_type(å
³èç±»åï¼
|
| | | å¨éæ©äºæ°æ®æºè¡¨ a ï¼bï¼ c , d表å«ååå«ä¸º a1,a2,a3,a4
|
| | | å
³èç±»å= left joinï¼æ ¹æ®ä¸å¡éæ±å®ï¼ç®ååªè½éæ©1ç§å
³èæ¹å¼)
|
| | | å¤è¡¨å
³èæ¡ä»¶ = a1.uuid=a2.uuid,a3.uuid=a1.uuid,a2.uuid=a4.uuid å¤ä¸ªè¡¨çå
³èæ¡ä»¶ ç¨ "," åéï¼
|
| | | å¤è¡¨å
³èæ¡ä»¶å¡«å顺åºåºä¸è¡¨é¡ºåºå¯¹åºä¸å¯é¢ å
|
| | | æ¯ä¸ªè¡¨å
³èå¿
é¡»å¨å¯¹åºçä¸ç»å
³èæ¡ä»¶ä¸ç¨å° 表å«å"."åæ®µ
|
| | | é误示èï¼âa1.uuid=a2.uuid,a3.uuid=a1.uuidâ ï¼é«çº§åç
§è¡¨å
³è个æ°ä¸æ¡ä»¶ä¸ªæ°ä¸å¹é
|
| | | 52.åè½æééªè¯
|
| | | å¿
é¡»é
ç½®mrbase_sys_function_buttons.api_urlé
ç½®æé®å¯¹åºå端æ¥å£å°åï¼å¤ä¸ªéå·åé,ä¸è½å«çæ¬å·ï¼å¦ï¼
|
| | | æ¥å£å°åï¼/api/management/delete-user/v1 é
ç½®å°åï¼/api/management/delete-user
|
| | | |
| | | 53.æ°æ®æä½æééªè¯
|
| | | 主è¦éå¯¹åæ¡æ°æ®çå ãæ¹ ãæ¥æä½ï¼å¨å ãæ¹ ãæ¥çç¸åºæ¥å£è°ç¨
|
| | | å¿
须设置mrbase_sys_datamodel_field.field_type,useridï¼åæ¾äººåçåæ®µç±»åï¼orgUuidï¼åæ¾ç»ç»æºæçåæ®µç±»å
|
| | | 1)Controlleræ¥å£å±è°ç¨
|
| | | 2)è°æ³
|
| | | /**
|
| | | * å¯¹åæ¡æ°æ®è¿è¡æä½çæééªè¯
|
| | | * @param tableName 表å
|
| | | * @param uuid uuid
|
| | | * @param type éªè¯ç±»å 1=人åéªè¯ 2= ç»ç»æºæéªè¯ 3 两è
é½éªè¯
|
| | | * @return
|
| | | */
|
| | | public boolean validDataPermission(String tableName,String uuid ,int type)
|
| | | /**
|
| | | * å¯¹åæ¡æ°æ®è¿è¡æä½çæééªè¯
|
| | | * @param fs ä¸ä¼ æ°æ®ï¼å¿
é¡»å
å«è¡¨å uuid ,å¦ä¸å¾éè¿
|
| | | * @param type éªè¯ç±»å 1=人åéªè¯ 2= çº§ç»æºæéªè¯ 3 两è
é½éªè¯ |
| | | * @return
|
| | | */
|
| | | public boolean validDataPermission(FieldSetEntity fs ,int type)
|
| | | /**
|
| | | * å¯¹åæ¡æ°æ®è¿è¡æä½çæééªè¯ ,ç¹æ®æéæ¡ä»¶ ï¼ä¸æ ¹æ®äºº ç»ç»æºæè¿æ»¤
|
| | | * @param tableName 表å
|
| | | * @param uuid uuid
|
| | | * @param filter ç¹æ®æéæ¡ä»¶ |
| | | * @return
|
| | | */
|
| | | public boolean validDataPermission(String tableName,String uuid,String filter)
|
| | | /**
|
| | | * å¯¹åæ¡æ°æ®è¿è¡æä½çæééªè¯ ,ç¹æ®æéæ¡ä»¶ ï¼ä¸æ ¹æ®äºº ç»ç»æºæè¿æ»¤
|
| | | * @param fs ä¸ä¼ æ°æ®ï¼å¿
é¡»å
å«è¡¨å uuid ,å¦ä¸å¾éè¿
|
| | | * @param filter ç¹æ®æéæ¡ä»¶ |
| | | * @return
|
| | | */
|
| | | public boolean validDataPermission(FieldSetEntity fs ,String filter)
|
| | | 3)æ°æ®æä½çæééªè¯,ç¹æ®æ¡ä»¶è°ç¨ç¤ºä¾
|
| | | if(!permissionService.validDataPermission(fse, "(client_uuid is null or client_uuid='') or client_uuid='"
|
| | | +SpringMVCContextHolder.getCurrentUser().getClient_uuid()+"'")) {
|
| | | SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
|
| | | SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
|
| | | return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
|
| | | }
|
| | | |
| | | 4)æäººåãç»ç»æºæéªè¯æ°æ®æéè°ç¨ç¤ºä¾
|
| | | å¿
须设置mrbase_sys_datamodel_field.field_type,useridï¼åæ¾äººåçåæ®µç±»åï¼orgUuidï¼åæ¾ç»ç»æºæçåæ®µç±»å
|
| | | if(!permissionService.validDataPermission(fse,CoreConst.DATA_PERMISSION_VALID_TYPE_ALL)) {
|
| | | SpringMVCContextHolder.getSystemLogger().error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(),
|
| | | SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
|
| | | return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
|
| | | }
|
| | | 54.ä¸å¡ä»£ç é»è¾å¤ç
|
| | | è§åæ¯ä¸å¡ä»£ç ç±»å¿
须注åæspringçbean,被è°ç¨çæ¹æ³åªè½æä¸ä¸ªFieldSetEntityåæ°ï¼éé¢å°è£
ä¸å¡ä»£ç ä¸éè¦çå¼ï¼å¦ï¼
|
| | | public void addBalance(FieldSetEntity fs)
|
| | | {
|
| | | this.logger.info(" ");
|
| | | this.staffBusinessService.addBalance(fs);
|
| | | this.logger.info(" ");
|
| | | }
|
| | | |
| | | 54.æ¶æ¯çæ
|
| | | /**
|
| | | * ææåºç¨æå¡çææ¶æ¯è°äºæ¹æ³å»æ·»å æ¶æ¯
|
| | | * æ ¹æ®message.server.ip忰夿æ¯å¦çäº127.0.0.1
|
| | | * æ¯ï¼åç´æ¥è°writeUserMessageæ¬æºæ¹æ³æ·»å æ¶æ¯
|
| | | * å¦ï¼åè°æ¶æ¯æå¡å¨æ¥å£æ·»å æ¶æ¯
|
| | | * @param userids æ¶æ¯æ¥æ¶äºº å¿
å¡«
|
| | | * @param content æ¶æ¯å
容 ä¸å¿
å¡«
|
| | | * @param title æ¶æ¯æ é¢ å¿
å¡«
|
| | | * @param send_user_id æ¶æ¯åé人 å¿
å¡«
|
| | | * @param message_type æ¶æ¯ç±»å å¿
å¡« |
| | | * @param url æ¶æ¯é¾æ¥å°å ä¸å¿
å¡«
|
| | | * @param source_table ä¸å¡æ°æ®è¡¨ ä¸å¿
å¡«
|
| | | * @param source_uuid ä¸å¡æ°æ®è¡¨uuid ä¸å¿
å¡«
|
| | | * @param create_by å建人 userid å¿
å¡« |
| | | * @param is_send_mail æ¯å¦åéé®ä»¶ 0:å¦ 1ï¼æ¯ å¿
å¡«
|
| | | * @param is_send_sms æ¯å¦åéçä¿¡ 0:å¦ 1ï¼æ¯ å¿
å¡«
|
| | | */
|
| | | WebsocketMesssageServiceThread.getInstance().appendMessage(String ....); |
| | | |
| | | //æ¶æ¯ç±»å
|
| | | //表å常éå®ä¹
|
| | | public static final int MESSAGE_TOP_TYPE_SYSTEM =1; //"ç³»ç»æ¶æ¯"; |
| | | public static final int MESSAGE_TYPE_ANNOUNCEMENT =11; //"å
¬åæ¶æ¯";
|
| | | |
| | | public static final int MESSAGE_TOP_TYPE_TASK =2; //"任塿¶æ¯";
|
| | | public static final int MESSAGE_TYPE_APPROVE =21; //"å¾
åæ¶æ¯"; |
| | | public static final int MESSAGE_TYPE_COORDINATION =22; //"ååæ¶æ¯";
|
| | | public static final int MESSAGE_TYPE_TASK = 23;// "任塿¨¡åæ¶æ¯";
|
| | |
|
| | | public static final int MESSAGE_TOP_TYPE_WARNING =3; //"é¢è¦æ¶æ¯";
|
| | | public static final int MESSAGE_TYPE_WARNING =31; //"é¢è¦æ¶æ¯";
|
| | | |
| | | 55.å表æåºè§å,䏿¬å·å
表示å表æåº æ¾å°orderbyåæ°ä¸ |
| | | String s="main_field1,main_field2,{sub_table1:sub_table1_field1 desc,sub_table1_field2},{sub_table2:sub_table2_field1 desc,sub_table2_field2}"
|
| | | 56.é误信æ¯ä¸ç卿åéæ¿æ¢
|
| | | æ¿å使ç¨{}æåéåæ¬èµ·æ¥ï¼æ¤åéåå°å¨Exceptionä¸è·åï¼DATA_VERIFY_UNIQUE_ERROR("æ°æ®ä¸æ¯å¯ä¸ï¼{value}", ModuleEnum.CORE.getValue() + "097"),
|
| | | 示ä¾ï¼
|
| | | be.setMessagePara("fieldxxxx","æªè·åå°ç»å½Tokenä¿¡æ¯");
|
| | | be.setMessagePara("fieldxxxx",fs.getString("field"));
|
| | | "fieldxxxx"对åºé误å®ä¹ä¸ç{fieldxxxx}
|
| | |
|
| | | 56.åå°å¼ç¨bean :com.product.core.util.ReflectUtil
|
| | | /**
|
| | | * |
| | | * @param beanName 被代ç对åbean åç§°
|
| | | * @param methodName æ¹æ³åç§°
|
| | | * @param objects åæ°
|
| | | * @return
|
| | | * @throws BaseException
|
| | | */
|
| | | public static Object invoke(String beanName,String methodName,Object[] objects) throws BaseException
|
| | |
|
| | | 57.äº§çæ¶æ¯ç表ï¼å¿
é¡»å¨å¯¹åºè¡¨çproduce_msgåæ®µä¸å¼ä¸º1
|
| | |
|
| | | 58.èªå¨åèµ·æµç¨
|
| | | com.lx.tool.flow.service.FlowService#autoSendFlow
|
| | |
|
| | | æè¿°ï¼
|
| | | ï¼1ï¼serviceæ¹æ³ï¼éæ¥å£æ¹æ³
|
| | | ï¼2ï¼æ ¹æ®ä¼ å
¥çåæ°ï¼èªå¨åèµ·æµç¨ï¼å建æµç¨çç¬¬ä¸æ¥ï¼ç´æ¥å°ãå¼å§ãç¯è
|
| | |
|
| | | ä¼ å
¥åæ°ï¼fse
|
| | | {
|
| | | "type_code"ï¼ "5a1dd74e-5b69-479c-afa0-a7db3e7fd6b2",
|
| | | "~table~": "lx_oa_conference_apply",
|
| | | "accepters": "376",
|
| | | "uuid": "5aadc03d-6ae3-470c-8507-4aaf660d9495",
|
| | | "flow_title": "6cæµè¯èªå¨åèµ·æµç¨"
|
| | | }
|
| | |
|
| | | åæ°æè¿°ï¼
|
| | | ï¼1ï¼type_codeï¼ç±»åuuidï¼ç±»åå¯ä¸è¯å«
|
| | | ï¼2ï¼~table~ï¼ä¸å¡è¡¨å
|
| | | ï¼3ï¼acceptersï¼æ¥æ¶äººï¼åªè½ä¸ºä¸ä¸ª
|
| | | ï¼4ï¼uuidï¼ä¸å¡è¡¨uuid
|
| | | ï¼5ï¼flow_titleï¼æµç¨æ é¢
|
| | | 59.äº§ä¸æå
é¨ç½²
|
| | | jaré¨ç½²ï¼æå¼å·¥ç¨çpom.mxl,å³é®->Run as -> Maven install->è¿å
¥å·¥ç¨ç®å½->targetç®å½->copy æå®å
çå·¥ç¨jarï¼æ¾å°æå¡å¨çè¿è¡ç®å½ä¸çlibç®å½ä¸ï¼ä¾å¦200ä¸ï¼D:\LXServer\product-server\libï¼
|
| | | å端æä»¶é¨ç½²ï¼è¿å
¥lx-webå¹¶è¿è¡packed.batï¼éæ°çædistç®å½->è¿å
¥distç®å½copyé¤baseUrl.js以å¤çæææä»¶ï¼æ¾å°æå¡å¨çè¿è¡ç®å½ä¸çwebç®å½ä¸ã
|
| | | éå¯ï¼è¿è¡æ¡é¢å¿«æ·é®ï¼
|
| | | |
| | | 60.å页æ¥è¯¢sql
|
| | | select '6973' as staff_uuid è¿ç§æ²¡æfromçè¯å¥,è¦æ·»å from dualï¼å¦åå页æ¥è¯¢ä¼åºé
|
| | |
|
| | | 61.æ¥è¯¢åæ¡è®°å½ï¼getFieldSet... ä¸ getFieldSetEntity...çåºå«ï¼ å颿¹æ³å¨æ²¡ææ¥å°æ°æ®æ¶è¿åä¸ä¸ºç©ºï¼å颿¹æ³å¨æ²¡ææ¥å°æ°æ®æ¶è¿ånull
|
| | |
|
| | | 62.é
ç½®æ¥è¡¨
|
| | | åè®¾è¿æ»¤æ¡ä»¶ä¸º"start_time>=('2021-12-01 00:00:00','%Y-%m-%d %H:%i:%s')"
|
| | | {$$} ç±»å为0ï¼åªåå¼ï¼å³ä¸º"2021-12-01 00:00:00"
|
| | | {^^} ç±»å为1ï¼åé¤å¼å段å¤çææå
容ï¼å³ä¸º">=('2021-12-01 00:00:00','%Y-%m-%d %H:%i:%s')"
|
| | | {&&} ç±»å为2ï¼åææå
容ï¼å
å«å段ï¼å³ä¸º"start_time>=('2021-12-01 00:00:00','%Y-%m-%d %H:%i:%s')"
|
| | | [[]] è¥æ¯æ ¹æ®ä¸é¢çæææ¹å¼æ¿æ¢ä¹åä¾ç¶åå¨ä»»æä¸ç§ï¼åé¤å
å«å¨å
çè¿æ»¤æ¡ä»¶
|
| | |
|
| | | 63.ææªç¥éè¯¯åæ³
|
| | | catch (BaseException e) {
|
| | | throw e;
|
| | | }
|
| | | catch (Exception e) {
|
| | | BaseException be=new BaseException(FlowCode.SIGN_FAIL);
|
| | | //SIGN_FAIL("ç¾ç« 失败:{error}", ModuleEnum.ADMINISTRAT.getValue() + "080"),
|
| | | //åé误çä¿¡æ¯ä½ä¸ºåæ°ä¼ è¿å»ï¼ä¸å¹¶æ¾ç¤º
|
| | | be.setMessagePara("error", e.getMessage());
|
| | | throw be;
|
| | | } |