From aade9d166632ef43827086ce1863741ee71fd32d Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 3 Jan 2025 10:22:28 +0700 Subject: [PATCH] Create service setting data fix Pembuatan endpoint setting data fix list of string --- .../service/SettingDataFixedService.java | 14 +++++ .../impl/SettingDataFixedServiceImpl.java | 21 ++++++++ .../SettingDataFixedController.java | 54 +++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SettingDataFixedService.java create mode 100644 jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SettingDataFixedServiceImpl.java create mode 100644 jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/SettingDataFixedController.java diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SettingDataFixedService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SettingDataFixedService.java new file mode 100644 index 00000000..117b1380 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/SettingDataFixedService.java @@ -0,0 +1,14 @@ +package com.jasamedika.medifirst2000.service; + +import java.util.List; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 03/01/2025 + */ +public interface SettingDataFixedService { + + List getSetting(String prefix); + +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SettingDataFixedServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SettingDataFixedServiceImpl.java new file mode 100644 index 00000000..c9a59bc2 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SettingDataFixedServiceImpl.java @@ -0,0 +1,21 @@ +package com.jasamedika.medifirst2000.service.impl; + +import com.jasamedika.medifirst2000.service.SettingDataFixedService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 03/01/2025 + */ +@Service("settingDataFixedService") +public class SettingDataFixedServiceImpl extends BaseVoServiceImpl implements SettingDataFixedService { + + @Override + public List getSetting(String prefix) { + return stringSplitDataSettingDatafixed(prefix); + } + +} diff --git a/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/SettingDataFixedController.java b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/SettingDataFixedController.java new file mode 100644 index 00000000..9fe205e6 --- /dev/null +++ b/jasamedika-web/src/main/java/com/jasamedika/medifirst2000/controller/SettingDataFixedController.java @@ -0,0 +1,54 @@ +package com.jasamedika.medifirst2000.controller; + +import com.jasamedika.medifirst2000.constants.MessageResource; +import com.jasamedika.medifirst2000.controller.base.LocaleController; +import com.jasamedika.medifirst2000.exception.ServiceVOException; +import com.jasamedika.medifirst2000.service.SettingDataFixedService; +import com.jasamedika.medifirst2000.vo.SettingDataFixedVO; +import org.slf4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.orm.jpa.JpaSystemException; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +import static com.jasamedika.medifirst2000.constants.Constants.MessageInfo.ERROR_MESSAGE; +import static com.jasamedika.medifirst2000.core.web.WebConstants.HttpHeaderInfo.LABEL_SUCCESS; +import static com.jasamedika.medifirst2000.util.rest.RestUtil.getJsonHttptatus; +import static com.jasamedika.medifirst2000.util.rest.RestUtil.getJsonResponse; +import static org.slf4j.LoggerFactory.getLogger; +import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR; +import static org.springframework.http.HttpStatus.OK; +import static org.springframework.web.bind.annotation.RequestMethod.GET; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 03/01/2025 + */ +@RestController +@RequestMapping("/setting-data-fixed") +public class SettingDataFixedController extends LocaleController { + + private static final Logger LOGGER = getLogger(SettingDataFixedController.class); + + @Autowired + private SettingDataFixedService settingDataFixedService; + + @RequestMapping(value = "/ip-addr", method = GET) + public ResponseEntity> get(HttpServletRequest request) { + try { + List result = settingDataFixedService.getSetting("ip_addr"); + mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); + return getJsonResponse(result, OK, mapHeaderMessage); + } catch (ServiceVOException | JpaSystemException e) { + LOGGER.error("Got exception {} when settingDataFixedService.getSetting", e.getMessage()); + addHeaderMessage(ERROR_MESSAGE, e.getMessage()); + return getJsonHttptatus(INTERNAL_SERVER_ERROR, mapHeaderMessage); + } + } + +}