1212See the License for the specific language governing permissions and
1313limitations under the License.*/
1414
15- package apijson .demo . server ;
15+ package apijson .boot ;
1616
1717import static apijson .RequestMethod .DELETE ;
1818import static apijson .RequestMethod .GET ;
2121import static apijson .RequestMethod .HEADS ;
2222import static apijson .RequestMethod .POST ;
2323import static apijson .RequestMethod .PUT ;
24+ import static apijson .framework .APIJSONConstant .ACCESS_ ;
25+ import static apijson .framework .APIJSONConstant .COUNT ;
26+ import static apijson .framework .APIJSONConstant .FORMAT ;
27+ import static apijson .framework .APIJSONConstant .FUNCTION_ ;
28+ import static apijson .framework .APIJSONConstant .ID ;
29+ import static apijson .framework .APIJSONConstant .REQUEST_ ;
30+ import static apijson .framework .APIJSONConstant .USER_ID ;
31+ import static apijson .framework .APIJSONConstant .VERSION ;
2432
2533import java .net .URLDecoder ;
2634import java .rmi .ServerException ;
6169import apijson .Log ;
6270import apijson .RequestMethod ;
6371import apijson .StringUtil ;
64- import apijson .demo .server .model .BaseModel ;
65- import apijson .demo .server .model .Privacy ;
66- import apijson .demo .server .model .User ;
67- import apijson .demo .server .model .Verify ;
72+ import apijson .boot .model .Privacy ;
73+ import apijson .boot .model .User ;
74+ import apijson .boot .model .Verify ;
75+ import apijson .framework .APIJSONController ;
76+ import apijson .framework .BaseModel ;
77+ import apijson .framework .StructureUtil ;
6878import apijson .server .JSONRequest ;
6979import apijson .server .exception .ConditionErrorException ;
7080import apijson .server .exception .ConflictException ;
7181import apijson .server .exception .NotExistException ;
7282import apijson .server .exception .OutOfRangeException ;
73- import apijson .server .model .Access ;
74- import apijson .server .model .Function ;
75- import apijson .server .model .Request ;
7683
7784
7885/**request controller
8592@ Service
8693@ RestController
8794@ RequestMapping ("" )
88- public class Controller {
89- private static final String TAG = "Controller " ;
95+ public class DemoController extends APIJSONController {
96+ private static final String TAG = "DemoController " ;
9097
9198 //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
9299
@@ -217,32 +224,19 @@ public String openHead(@PathVariable String request, HttpSession session) {
217224
218225
219226
220- public static final String FUNCTION_ ;
221- public static final String REQUEST_ ;
222- public static final String ACCESS_ ;
223-
227+
224228 public static final String USER_ ;
225229 public static final String PRIVACY_ ;
226230 public static final String VERIFY_ ; //加下划线后缀是为了避免 Verify 和 verify 都叫VERIFY,分不清
227231 static {
228- FUNCTION_ = Function .class .getSimpleName ();
229- REQUEST_ = Request .class .getSimpleName ();
230- ACCESS_ = Access .class .getSimpleName ();
231-
232232 USER_ = User .class .getSimpleName ();
233233 PRIVACY_ = Privacy .class .getSimpleName ();
234234 VERIFY_ = Verify .class .getSimpleName ();
235235 }
236236
237- public static final String VERSION = JSONRequest .KEY_VERSION ;
238- public static final String FORMAT = JSONRequest .KEY_FORMAT ;
239- public static final String COUNT = JSONResponse .KEY_COUNT ;
240- public static final String TOTAL = JSONResponse .KEY_TOTAL ;
237+
241238
242- public static final String ID = "id" ;
243- public static final String USER_ID = "userId" ;
244239 public static final String CURRENT_USER_ID = "currentUserId" ;
245-
246240 public static final String NAME = "name" ;
247241 public static final String PHONE = "phone" ;
248242 public static final String PASSWORD = "password" ;
@@ -268,6 +262,7 @@ public String openHead(@PathVariable String request, HttpSession session) {
268262 * </pre>
269263 */
270264 @ PostMapping ("reload" )
265+ @ Override
271266 public JSONObject reload (@ RequestBody String request ) {
272267 JSONObject requestObject = null ;
273268 String type ;
@@ -294,7 +289,7 @@ public JSONObject reload(@RequestBody String request) {
294289
295290 if (reloadAll || "FUNCTION" .equals (type )) {
296291 try {
297- result .put (FUNCTION_ , DemoFunction .init ());
292+ result .put (FUNCTION_ , DemoFunctionParser .init ());
298293 } catch (ServerException e ) {
299294 e .printStackTrace ();
300295 result .put (FUNCTION_ , DemoParser .newErrorResult (e ));
@@ -593,16 +588,14 @@ public JSONObject login(@RequestBody String request, HttpSession session) {
593588 }
594589
595590 //登录状态保存至session
591+ super .login (session , user , version , format , defaults );
596592 session .setAttribute (USER_ID , userId ); //用户id
597593 session .setAttribute (TYPE , isPassword ? LOGIN_TYPE_PASSWORD : LOGIN_TYPE_VERIFY ); //登录方式
598594 session .setAttribute (USER_ , user ); //用户
599595 session .setAttribute (PRIVACY_ , privacy ); //用户隐私信息
600- session .setAttribute (VERSION , version ); //全局默认版本号
601- session .setAttribute (FORMAT , format ); //全局默认格式化配置
602596 session .setAttribute (REMEMBER , remember ); //是否记住登录
603- session .setAttribute (DEFAULTS , defaults ); //给每个请求JSON最外层加的字段
604597 session .setMaxInactiveInterval (60 *60 *24 *(remember ? 7 : 1 )); //设置session过期时间
605-
598+
606599 response .put (REMEMBER , remember );
607600 response .put (DEFAULTS , defaults );
608601 return response ;
@@ -613,12 +606,13 @@ public JSONObject login(@RequestBody String request, HttpSession session) {
613606 * @return
614607 */
615608 @ PostMapping ("logout" )
609+ @ Override
616610 public JSONObject logout (HttpSession session ) {
617611 long userId ;
618612 try {
619613 userId = DemoVerifier .getVisitorId (session );//必须在session.invalidate();前!
620614 Log .d (TAG , "logout userId = " + userId + "; session.getId() = " + (session == null ? null : session .getId ()));
621- session . invalidate ( );
615+ super . logout ( session );
622616 } catch (Exception e ) {
623617 return DemoParser .newErrorResult (e );
624618 }
0 commit comments