From 3b55d06b89bf64873e685c3d78fce5affbba3d17 Mon Sep 17 00:00:00 2001 From: zheng_wenlong Date: Tue, 16 Apr 2019 11:20:38 +0900 Subject: Add warehouse server source code. [Patch Set 2] Add ReadMe.md Change-Id: I6ade52d2490f5ca4ba107c1a27ed6d5b39048725 Signed-off-by: zheng_wenlong --- .../services/account/impl/AccountServiceImpl.java | 220 +++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 warehouse/src/main/java/app/market/web/services/account/impl/AccountServiceImpl.java (limited to 'warehouse/src/main/java/app/market/web/services/account/impl/AccountServiceImpl.java') diff --git a/warehouse/src/main/java/app/market/web/services/account/impl/AccountServiceImpl.java b/warehouse/src/main/java/app/market/web/services/account/impl/AccountServiceImpl.java new file mode 100644 index 0000000..5d8e7ec --- /dev/null +++ b/warehouse/src/main/java/app/market/web/services/account/impl/AccountServiceImpl.java @@ -0,0 +1,220 @@ +/* + * Copyright (c) 2019 TOYOTA MOTOR CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package app.market.web.services.account.impl; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.web.client.HttpClientErrorException; + +import com.alibaba.fastjson.JSONObject; + +import app.market.WebServiceClient; +import app.market.model.user.User; +import app.market.utils.Utils; +import app.market.utils.constants.Constants; +import app.market.utils.datetime.DateTimeUtils; +import app.market.utils.json.JsonMapperUtils; +import app.market.utils.json.JsonResult; +import app.market.utils.property.KeysConstants; +import app.market.utils.property.MessageUtil; +import app.market.utils.property.Option; +import app.market.utils.property.PropertyUtil; +import app.market.utils.rest.RestTemplateUtil; +import app.market.utils.webservice.ApiParam; + +import app.market.web.controller.ControllerMapping; +import app.market.web.form.account.AccountForm; +import app.market.web.services.SpringBaseService; +import app.market.web.services.account.AccountService; + +@Service +public class AccountServiceImpl extends SpringBaseService implements AccountService { + private static Logger logger = LoggerFactory.getLogger(AccountServiceImpl.class); + + /** + * Authentication + * + * @return + */ + @Override + public JsonResult validateAuthentication1(HttpSession session) { + return super.validateAuthentication(session); + } + + /** + * + * Page Search + * + * @param form + * @return + */ + @Override + public String selectPaginationData(AccountForm form, HttpSession session) { + logger.debug("account list start --Class: " + this.getClass().getName() + "--method: " + + Thread.currentThread().getStackTrace()[1].getMethodName() + form.getUserId()); + String date = null; + if(form.getCreateDate() != null){ + date = DateTimeUtils.getDate(DateTimeUtils.DATE_FORMAT_YYYYMMDD,form.getCreateDate()); + } + Map param = new HashMap<>(); + param.put( ApiParam.API_USER_PARAM_USERNAME, form.getUserName() ); + param.put( ApiParam.API_USER_PARAM_AUID, form.getAuId() ); + param.put( ApiParam.API_USER_PARAM_MAIL, form.getMailAddress() ); + param.put( ApiParam.API_USER_PARAM_CREATEDATE, date ); + param.put( ApiParam.API_PARAM_ORDER, form.getOrder() ); + param.put( ApiParam.API_PARAM_SORT, form.getSort()); + param.put( ApiParam.API_PARAM_OFFSET, form.getOffset() ); + param.put( ApiParam.API_PARAM_LIMIT, form.getLimit() ); + param.put( ApiParam.API_APP_PARAM_KEYWORD, form.getKeyWord() ); + return super.selectPaginationData( WebServiceClient.REST_USER_SELECTPAGINATIONDATABYEXAMPLE, form, null, param, session); + } + + /** + * Account Save + * + * @param form + * @return + */ + @Override + public String save(AccountForm form, HttpSession session) { + logger.debug("save account start"); + User record = new User(); + String ret = JsonMapperUtils.getJsonString(Constants.STATUS_SUCCESS, null, null); + List msgList = new ArrayList(); + try { + Utils.reflect(form, record); + RestTemplateUtil restTemplate = new RestTemplateUtil(); + // Resttemplate Operation + String jsonStr = restTemplate.post(WebServiceClient.REST_USER, record, session); + + JSONObject json = JsonMapperUtils.getJsonObject(jsonStr); + String userId = json.getString(ApiParam.API_RESPONSE_APPID); + form.setUserId(userId); + + msgList.add(MessageUtil.getPropertites(KeysConstants.USER_SAVE_IS_SUCCESS)); + ret = JsonMapperUtils.getJsonString(Constants.STATUS_SUCCESS, ControllerMapping.ACCOUNT.toString(), msgList); + } catch (HttpClientErrorException e) { + if (e.getStatusCode().value() == Constants.STATUS_BAD_REQUEST) { + msgList.add(MessageUtil.getPropertites(KeysConstants.INVALID_QUERYPARAM)); + ret = JsonMapperUtils.getJsonString(Constants.STATUS_ERROR, null, msgList); + } + if (e.getStatusCode().value() == Constants.STATUS_ALREADY_EXISTS) { + msgList.add(MessageUtil.getPropertites(KeysConstants.RESOURCE_ALREADY_EXISTS)); + ret = JsonMapperUtils.getJsonString(Constants.STATUS_ALREADY_EXISTS, null, msgList); + } + return JsonMapperUtils.getJsonString(Constants.STATUS_ERROR, null, msgList); + } catch (Exception e) { + ret = exceptionHandler(e, msgList); + } + logger.debug("save account stop"); + return ret; + } + + /** + * Account Delete + * + * @param id + * @return + */ + @Override + public String delete(String id, HttpSession session) { + logger.debug("delete account start"); + List msgList = new ArrayList(); + try { + RestTemplateUtil restTemplate = new RestTemplateUtil(); + // Rest template operation + restTemplate.delete( WebServiceClient.REST_USER_BY_USERID, id, session ); + } catch (HttpClientErrorException e ) { + if(e.getStatusCode().value() == Constants.STATUS_ALREADY_EXISTS){ + msgList.add(MessageUtil.getPropertites(KeysConstants.USER_NOT_DELETE)); + return JsonMapperUtils.getJsonString(Constants.STATUS_ALREADY_EXISTS, null, msgList); + } + return JsonMapperUtils.getJsonString( Constants.STATUS_ERROR, null, "" ); + } catch (Exception e) { + e.printStackTrace(); + return JsonMapperUtils.getJsonString( Constants.STATUS_ERROR, null, "" ); + } + logger.debug("delete account stop "); + return JsonMapperUtils.getJsonString( Constants.STATUS_SUCCESS, null, "" ); + } + + /** + * Get Account List + * + * @param model + * @param hasSpace + * @throws Exception + */ + @Override + public void getAuthorityList(Map model,boolean hasSpace, HttpSession session) throws Exception { + logger.debug( "getAccounList" ); + try{ + RestTemplateUtil restTemplate = new RestTemplateUtil(); + List