diff --git a/back/root/bo/pom.xml b/back/root/bo/pom.xml deleted file mode 100644 index 8334ba9..0000000 --- a/back/root/bo/pom.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - 4.0.0 - - sample.ustraframework.java - back - 0.0.1-SNAPSHOT - - bo - bo - - - - com.gsitm.ustra.java.starter - ustra-starter-vue-bo - ${ustra.version} - - - sample.ustraframework.java - cmm - ${parent.version} - - - io.springfox - springfox-swagger2 - 2.9.2 - - - io.springfox - springfox-swagger-ui - 2.9.2 - - - \ No newline at end of file diff --git a/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardController.java b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardController.java new file mode 100644 index 0000000..9a94ef0 --- /dev/null +++ b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardController.java @@ -0,0 +1,35 @@ +package sample.ustraframework.java.bo.sample.board; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/sample/board") +public class SampleBoardController { + + @Autowired private SampleBoardService sampleBoardService; + + @GetMapping("") + List getList(String title) { + return sampleBoardService.getList(title); + } + + @GetMapping("/{boardIdx}") + SampleBoardModel getCodeGroups(@PathVariable Integer boardIdx) { + return sampleBoardService.get(boardIdx); + } + + @PostMapping("") + SampleBoardModel add(@RequestBody SampleBoardModel board) { + return sampleBoardService.add(board); + } + + +} diff --git a/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardMapper.java b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardMapper.java new file mode 100644 index 0000000..bd8dba8 --- /dev/null +++ b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardMapper.java @@ -0,0 +1,13 @@ +package sample.ustraframework.java.bo.sample.board; + +import java.util.List; + +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SampleBoardMapper { + + List select(String title); + SampleBoardModel selectDetail(Integer boardIdx); + int insert(SampleBoardModel model); +} diff --git a/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardModel.java b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardModel.java new file mode 100644 index 0000000..4e29c97 --- /dev/null +++ b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardModel.java @@ -0,0 +1,23 @@ +package sample.ustraframework.java.bo.sample.board; + +import com.gsitm.ustra.java.management.models.base.UstraManagementBaseModel; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@EqualsAndHashCode(callSuper = false) +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class SampleBoardModel extends UstraManagementBaseModel { + + private Integer boardIdx; + private String categoryCd; + private String title; + private String content; + +} diff --git a/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardService.java b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardService.java new file mode 100644 index 0000000..4119a2c --- /dev/null +++ b/back/root/bo/src/main/java/sample/ustraframework/java/bo/sample/board/SampleBoardService.java @@ -0,0 +1,35 @@ +package sample.ustraframework.java.bo.sample.board; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.gsitm.ustra.java.data.exception.UstraDataResponseCode; + +@Service +@Transactional +public class SampleBoardService { + + @Autowired private SampleBoardMapper sampleBoardMapper; + + public List getList(String title) { + return sampleBoardMapper.select(title); + } + + public SampleBoardModel get(Integer boardIdx) { + return sampleBoardMapper.selectDetail(boardIdx); + } + + public SampleBoardModel add(SampleBoardModel board) { + int result = sampleBoardMapper.insert(board); + + if (result < 1) { + throw UstraDataResponseCode.CANNOT_SAVE_RECORD.exception(); + } + + return board; + } + +} diff --git a/back/root/bo/src/main/resources/mapper/SampleBoardMapper.xml b/back/root/bo/src/main/resources/mapper/SampleBoardMapper.xml new file mode 100644 index 0000000..5952a99 --- /dev/null +++ b/back/root/bo/src/main/resources/mapper/SampleBoardMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + INSERT INTO USTRA_SAMPLE_BOARD ( + BOARD_IDX, + TITLE, + CONTENT, + CATEGORY_CD, + REG_DTTM, + REG_USR_ID, + REG_USR_IP, + UPD_DTTM, + UPD_USR_ID, + UPD_USR_IP + ) SELECT ISNULL(MAX(BOARD_IDX), 0) + 1 + ,#{title} + ,#{content} + ,#{categoryCd} + ,CURRENT_TIMESTAMP, + #{regUsrId}, + #{regUsrIp}, + CURRENT_TIMESTAMP, + #{updUsrId}, + #{updUsrIp} + FROM USTRA_SAMPLE_BOARD + + + + \ No newline at end of file diff --git a/back/root/build.gradle b/back/root/build.gradle index ff6134b..08d3dcc 100644 --- a/back/root/build.gradle +++ b/back/root/build.gradle @@ -56,7 +56,7 @@ subprojects { ext { set('springCloudVersion', "Hoxton.SR3") - ustraVersion = '2.0.50.8-SNAPSHOT' + ustraVersion = '2.0.50.RELEASE' } diff --git a/back/root/cmm/pom.xml b/back/root/cmm/pom.xml deleted file mode 100644 index 44599eb..0000000 --- a/back/root/cmm/pom.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - 4.0.0 - - sample.ustraframework.java - back - 0.0.1-SNAPSHOT - - cmm - cmm - - - - com.gsitm.ustra.java.starter - ustra-starter-restapi - ${ustra.version} - - - \ No newline at end of file diff --git a/back/root/fo/pom.xml b/back/root/fo/pom.xml deleted file mode 100644 index 204a2fb..0000000 --- a/back/root/fo/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - 4.0.0 - - sample.ustraframework.java - back - 0.0.1-SNAPSHOT - - fo - fo - - - - - com.gsitm.ustra.java.starter - ustra-starter-restapi - ${ustra.version} - - - com.gsitm.ustra.java - ustra-mvc-view - ${ustra.version} - - - com.gsitm.ustra.java - ustra-data-mybatis - ${ustra.version} - - - com.gsitm.ustra.java - ustra-security-jwt - ${ustra.version} - - - com.gsitm.ustra.java - ustra-management-core - ${ustra.version} - - - sample.ustraframework.java - cmm - ${parent.version} - - - \ No newline at end of file diff --git a/back/root/pom.xml b/back/root/pom.xml deleted file mode 100644 index fa88a49..0000000 --- a/back/root/pom.xml +++ /dev/null @@ -1,158 +0,0 @@ - - 4.0.0 - sample.ustraframework.java - back - 0.0.1-SNAPSHOT - pom - - cmm - fo - bo - - - - UTF-8 - UTF-8 - 1.8 - 1.8 - 1.8 - 0.0.1-SNAPSHOT - 2.0.50.8-SNAPSHOT - 2.2.5.RELEASE - 2.15.0 - - - - - nexus - https://repo.gsitm.com/repository/m2-public/ - - - central - https://repo1.maven.org/maven2/ - - - - - - nexus - Maven Plugin Nexus Repository - https://repo.gsitm.com/repository/m2-public/ - - - central - Maven Plugin Repository - https://repo1.maven.org/maven2/ - - - - - - - - ch.qos.logback - logback-core - 1.2.9 - - - - ch.qos.logback - logback-classic - 1.2.9 - - - - org.apache.logging.log4j - log4j-to-slf4j - ${log4j2.version} - - - - org.apache.logging.log4j - log4j-api - ${log4j2.version} - - - - org.springframework.boot - spring-boot-starter - - - - - org.springframework.boot - spring-boot-starter-test - - - org.junit.vintage - junit-vintage-engine - - - test - - - - - org.junit.platform - junit-platform-launcher - test - - - - - org.projectlombok - lombok - provided - - - - - org.springframework.boot - spring-boot-starter-aop - - - - - org.springframework.boot - spring-boot-configuration-processor - - - - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - org.apache.maven.plugins - maven-war-plugin - 2.6 - - false - - - - - - - \ No newline at end of file diff --git a/front/bo/client/components/samples/sub-component.vue b/front/bo/client/components/samples/sub-component.vue new file mode 100644 index 0000000..10f9655 --- /dev/null +++ b/front/bo/client/components/samples/sub-component.vue @@ -0,0 +1,52 @@ + + + diff --git a/front/bo/client/components/system/board/input.vue b/front/bo/client/components/system/board/input.vue new file mode 100644 index 0000000..e69de29 diff --git a/front/bo/client/components/system/board/list.vue b/front/bo/client/components/system/board/list.vue new file mode 100644 index 0000000..f7f3de5 --- /dev/null +++ b/front/bo/client/components/system/board/list.vue @@ -0,0 +1,29 @@ + + + diff --git a/front/bo/client/components/system/board/search-bar.vue b/front/bo/client/components/system/board/search-bar.vue new file mode 100644 index 0000000..0ace528 --- /dev/null +++ b/front/bo/client/components/system/board/search-bar.vue @@ -0,0 +1,32 @@ + + + diff --git a/front/bo/client/event-bus/sample-event-bus.ts b/front/bo/client/event-bus/sample-event-bus.ts new file mode 100644 index 0000000..7ce17d5 --- /dev/null +++ b/front/bo/client/event-bus/sample-event-bus.ts @@ -0,0 +1,23 @@ +import EventBus from '@ustra/nuxt/src/vue/event-bus' + +export interface SampleEventBusState { + /** + * 유형 + */ + type: string + + /** + * 값 + */ + value: string +} + +export class SampleEventBus extends EventBus { + name(): string { + return 'sampleEventBus' + } +} + +const sampleEventBus = new SampleEventBus() +export default sampleEventBus +export { sampleEventBus } diff --git a/front/bo/client/layouts/sample.vue b/front/bo/client/layouts/sample.vue new file mode 100644 index 0000000..0a1b808 --- /dev/null +++ b/front/bo/client/layouts/sample.vue @@ -0,0 +1,25 @@ + + + diff --git a/front/bo/client/pages/samples/index.vue b/front/bo/client/pages/samples/index.vue new file mode 100644 index 0000000..cfa6923 --- /dev/null +++ b/front/bo/client/pages/samples/index.vue @@ -0,0 +1,68 @@ + + + diff --git a/front/bo/client/pages/system/board.vue b/front/bo/client/pages/system/board.vue new file mode 100644 index 0000000..c171aa6 --- /dev/null +++ b/front/bo/client/pages/system/board.vue @@ -0,0 +1,53 @@ + + + + diff --git a/front/bo/client/pages/system/list.vue b/front/bo/client/pages/system/list.vue new file mode 100644 index 0000000..258b228 --- /dev/null +++ b/front/bo/client/pages/system/list.vue @@ -0,0 +1,30 @@ + + + diff --git a/front/bo/client/services/sample-board-service.ts b/front/bo/client/services/sample-board-service.ts new file mode 100644 index 0000000..6618b35 --- /dev/null +++ b/front/bo/client/services/sample-board-service.ts @@ -0,0 +1,50 @@ +import { UtraService } from '@ustra/nuxt/src/services/ustra-service' +import { BaseModel } from '@ustra/data/src/models/base-models' +import { ApiResponse } from '@ustra/data/src/models/api-model' +import { PaginationRequest } from '@ustra/data/src/models/pagination-model' +import { HttpMethod } from '@ustra/core/src/server/http/const' + +export interface Board extends BaseModel { + boardIdx: number + categoryCd: string + title: string + content: string +} + +export class SampleBoardService extends UtraService { + /** + * 게시판 목록 조회 + */ + async getList(title) { + const url = this.$ustra.api.urlBuilder('/api/sample/board').add('title', title).build() + + return ( + await this.$ustra.api.call>({ + url, + method: HttpMethod.GET, + }) + ).data.body + } + + async get(boardIdx: number) { + return ( + await this.$ustra.api.call>({ + url: '/api/sample/board/' + boardIdx, + method: HttpMethod.GET, + }) + ).data.body + } + + async add(board: Board) { + return ( + await this.$ustra.api.call>({ + url: '/api/sample/board', + method: HttpMethod.POST, + data: board, + }) + ).data.body + } +} + +export const sampleBoardService = new SampleBoardService() +export default sampleBoardService diff --git a/front/bo/tsconfig.json b/front/bo/tsconfig.json index 1edb702..b45453e 100644 --- a/front/bo/tsconfig.json +++ b/front/bo/tsconfig.json @@ -28,7 +28,7 @@ "@/*": ["./client/*"], "@ustra-sample/*": ["../node_modules/@ustra-sample/*"] }, - "types": ["@types/node", "@types/jest", "@nuxt/types", "@ustra/nuxt", "@ustra/nuxt-mng-bo", "@ustra-sample/cmm", "./types"] + "types": ["@types/node", "@types/jest", "@nuxt/types", "@ustra/nuxt", "@ustra/nuxt-dx", "@ustra/nuxt-mng-bo", "@ustra-sample/cmm", "./types"] }, "exclude": ["node_modules", ".nuxt", "dist", "src/**/*.test.ts", "**/src/static/**/*", "**/*.js"], "typedocOptions": { diff --git a/front/fo/client/pages/index.vue b/front/fo/client/pages/index.vue index 4800ade..e5cab7e 100644 --- a/front/fo/client/pages/index.vue +++ b/front/fo/client/pages/index.vue @@ -15,6 +15,7 @@ export default class extends CustomFoComponent { // #region variables // #endregion // #region hooks + created() {} // #endregion // #region methods // #endregion diff --git a/front/fo/client/store/modules/sample.ts b/front/fo/client/store/modules/sample.ts index 37e0333..279eb37 100644 --- a/front/fo/client/store/modules/sample.ts +++ b/front/fo/client/store/modules/sample.ts @@ -11,7 +11,7 @@ export class SampleModule extends VuexModule { list: Array = null @Mutation - @Storage({ propertyKey: 'sample.list', defaultValue: [], type: "local" }) + @Storage({ propertyKey: 'sample.list', defaultValue: [], type: 'local' }) setList(list: Array) { this.list = list } @@ -25,5 +25,4 @@ export class SampleModule extends VuexModule { nuxtClientInit(ctx: CombinedContext) { console.log('nuxtClientInit') } - -} \ No newline at end of file +} diff --git a/front/tsconfig.json b/front/tsconfig.json index 3f4db76..16dd90e 100644 --- a/front/tsconfig.json +++ b/front/tsconfig.json @@ -29,7 +29,7 @@ "@/*": ["./fo/client/*", "./bo/client/*"], "@ustra-sample/*": ["./node_modules/@ustra-sample/*"] }, - "types": ["@types/node", "@types/jest", "@nuxt/types", "@ustra/nuxt", "@ustra/nuxt-mng-bo", "@ustra-sample/cmm", "@ustra/buefy", "buefy", "@ustra-sample/bo", "@ustra-sample/fo"] + "types": ["@types/node", "@types/jest", "@nuxt/types", "@ustra/nuxt", "@ustra/nuxt-dx", "@ustra/nuxt-mng-bo", "@ustra-sample/cmm", "@ustra/buefy", "buefy", "@ustra-sample/bo", "@ustra-sample/fo"] }, "exclude": ["node_modules", ".nuxt", "dist", "src/**/*.test.ts", "**/src/static/**/*", "**/*.js"], "typedocOptions": {