관련사이트 등록수정삭제
parent
12feac5480
commit
f86690f8be
|
|
@ -41,20 +41,22 @@ function AboutSiteModal({props, reloadFunction}) {
|
|||
}
|
||||
}
|
||||
|
||||
function editBoard(e) {
|
||||
function editPartnerSite(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
const form = e.target;
|
||||
const info = {
|
||||
bbsId: form.bbsId.value,
|
||||
bbsTitle: form.bbsTitle.value,
|
||||
bbsDesc: form.bbsDesc.value
|
||||
siteTitle: form.siteTitle.value,
|
||||
siteUrl: form.siteUrl.value,
|
||||
fileGrpId: form.fileGrpId.value,
|
||||
siteOrder: form.siteOrder.value,
|
||||
useYn: form.useYn.value
|
||||
}
|
||||
if (modeInfo.mode === CODE.MODE_MODIFY) {
|
||||
info.bbsSeq = props.bbsSeq;
|
||||
info.siteSeq = props.siteSeq;
|
||||
}
|
||||
EgovNet.requestFetch(
|
||||
'/admin/boards/board-mgt',
|
||||
'/admin/config/partner-site-mgt',
|
||||
{
|
||||
method: "PUT",
|
||||
headers: {
|
||||
|
|
@ -75,16 +77,16 @@ function AboutSiteModal({props, reloadFunction}) {
|
|||
)
|
||||
}
|
||||
|
||||
function deleteBoard(bbs){
|
||||
function deletePartnerSite(partnerSite){
|
||||
if(window.confirm("삭제하시겠습니까?")) {
|
||||
EgovNet.requestFetch(
|
||||
'/admin/boards/board-mgt',
|
||||
'/admin/config/partner-site-mgt',
|
||||
{
|
||||
method: "DELETE",
|
||||
headers: {
|
||||
'Content-type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify(bbs)
|
||||
body: JSON.stringify(partnerSite)
|
||||
},
|
||||
(resp) => {
|
||||
if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) {
|
||||
|
|
@ -103,6 +105,8 @@ function AboutSiteModal({props, reloadFunction}) {
|
|||
console.log("------------------------------AboutSiteModal [End]");
|
||||
console.groupEnd("AboutSiteModal");
|
||||
|
||||
const defaultUseYn = props?.useYn ? props.useYn : "Y";
|
||||
|
||||
return (
|
||||
<>
|
||||
{/* <!-- 본문 --> */}
|
||||
|
|
@ -115,40 +119,40 @@ function AboutSiteModal({props, reloadFunction}) {
|
|||
|
||||
<Modal.Body>
|
||||
<div className="board_view2">
|
||||
<Form onSubmit={(e) => {editBoard(e)}} noValidate>
|
||||
<Form onSubmit={(e) => {editPartnerSite(e)}} noValidate>
|
||||
<dl>
|
||||
<dt><label htmlFor="bbsId">사이트명</label><span className="req">필수</span></dt>
|
||||
<dt><label htmlFor="siteTitle">사이트명</label><span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<Form.Control className="f_input2 w_full" type="text" name="bbsId" placeholder="사이트명" required
|
||||
<Form.Control className="f_input2 w_full" type="text" name="siteTitle" placeholder="사이트명" required
|
||||
defaultValue={props?.siteTitle} readOnly={props!==undefined}/>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label htmlFor="bbsTitle">URL</label><span className="req">필수</span></dt>
|
||||
<dt><label htmlFor="siteUrl">URL</label><span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<Form.Control className="f_input2 w_full" type="text" name="bbsTitle" placeholder="URL" required
|
||||
<Form.Control className="f_input2 w_full" type="text" name="siteUrl" placeholder="URL" required
|
||||
defaultValue={props?.siteUrl}/>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label htmlFor="bbsDesc">배너이미지</label><span className="req">필수</span></dt>
|
||||
<dt><label htmlFor="fileGrpId">배너이미지</label><span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<Form.Control className="f_txtar w_full" type="text" name="bbsDesc" placeholder="배너이미지" required
|
||||
<Form.Control className="f_txtar w_full" type="text" name="fileGrpId" placeholder="배너이미지" required
|
||||
defaultValue={props?.fileGrpId}/>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label htmlFor="bbsDesc">정렬순서</label><span className="req">필수</span></dt>
|
||||
<dt><label htmlFor="siteOrder">정렬순서</label><span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<Form.Control className="f_txtar w_full" type="text" name="bbsDesc" placeholder="정렬순서" required
|
||||
<Form.Control className="f_txtar w_full" type="text" name="siteOrder" placeholder="정렬순서" required
|
||||
defaultValue={props?.siteOrder}/>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label htmlFor="bbsDesc">사용여부</label><span className="req">필수</span></dt>
|
||||
<dt><label htmlFor="useYn">사용여부</label><span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<Form.Control className="f_txtar w_full" type="text" name="bbsDesc" placeholder="사용여부" required
|
||||
defaultValue={props?.useYn}/>
|
||||
<Form.Check inline type="radio" label="Y" name="useYn" value="Y" defaultChecked={defaultUseYn === "Y"}/>
|
||||
<Form.Check inline type="radio" label="N" name="useYn" value="N" defaultChecked={defaultUseYn === "N"}/>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
|
@ -158,7 +162,7 @@ function AboutSiteModal({props, reloadFunction}) {
|
|||
<button type="submit" className="btn btn_skyblue_h46 w_100">저장
|
||||
</button>
|
||||
{modeInfo.mode === CODE.MODE_MODIFY &&
|
||||
<button type={"button"} className="btn btn_skyblue_h46 w_100" onClick={()=>{deleteBoard(props)}}>삭제</button>
|
||||
<button type={"button"} className="btn btn_skyblue_h46 w_100" onClick={()=>{deletePartnerSite(props)}}>삭제</button>
|
||||
}
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.dbnt.kcscbackend.admin.config;
|
||||
|
||||
import com.dbnt.kcscbackend.admin.boards.entity.TnBbs;
|
||||
import com.dbnt.kcscbackend.admin.config.entity.TcMenu;
|
||||
import com.dbnt.kcscbackend.admin.config.entity.TnPartnerSite;
|
||||
import com.dbnt.kcscbackend.admin.config.model.CreateCommitteeCodeManagementVO;
|
||||
import com.dbnt.kcscbackend.admin.config.service.AdminCommitteeCodeManagementService;
|
||||
import com.dbnt.kcscbackend.admin.standardResearch.service.AdminStandardResearchService;
|
||||
|
|
@ -465,4 +467,62 @@ public class AdminConfigController extends BaseController {
|
|||
return resultVO;
|
||||
}
|
||||
|
||||
@Operation(
|
||||
summary = "관련사이트 저장",
|
||||
description = "관련사이트 저장",
|
||||
tags = {"AdminConfigController"}
|
||||
)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = "200", description = "저장 성공"),
|
||||
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
|
||||
})
|
||||
@RequestMapping(method = RequestMethod.PUT, value = "/partner-site-mgt")
|
||||
public ResultVO savePartnerSite(@RequestBody @Valid TnPartnerSite tnPartnerSite, Errors errors, @AuthenticationPrincipal LoginVO user) {
|
||||
ResultVO resultVO = new ResultVO();
|
||||
if (user == null) {
|
||||
resultVO.setResultCode(ResponseCode.TOKEN_EXPIRED.getCode());
|
||||
} else {
|
||||
if (errors.hasErrors()) {
|
||||
StringBuilder msg = new StringBuilder();
|
||||
for (FieldError error : errors.getFieldErrors()) {
|
||||
msg.append(error.getDefaultMessage());
|
||||
msg.append("\n");
|
||||
}
|
||||
resultVO.setResultCode(ResponseCode.INPUT_CHECK_ERROR.getCode());
|
||||
resultVO.setResultMessage(msg.toString());
|
||||
} else {
|
||||
System.out.println("@@@ bbs.getBbsSeq() : " + tnPartnerSite.getSiteSeq());
|
||||
adminConfigService.savePartnerSite(tnPartnerSite, user.getId());
|
||||
resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
|
||||
}
|
||||
}
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Operation(
|
||||
summary = "관련사이트 삭제",
|
||||
description = "관련사이트 삭제",
|
||||
tags = {"AdminConfigController"}
|
||||
)
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = "200", description = "삭제 성공"),
|
||||
@ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
|
||||
})
|
||||
@RequestMapping(method = RequestMethod.DELETE, value = "/partner-site-mgt")
|
||||
public ResultVO removePartnerSite(@RequestBody TnPartnerSite tnPartnerSite, @AuthenticationPrincipal LoginVO user) {
|
||||
ResultVO resultVO = new ResultVO();
|
||||
if (user == null) {
|
||||
resultVO.setResultCode(ResponseCode.TOKEN_EXPIRED.getCode());
|
||||
} else {
|
||||
String result = adminConfigService.deletePartnerSite(tnPartnerSite, user.getId());
|
||||
if (result == null) {
|
||||
resultVO.setResultCode(ResponseCode.SUCCESS.getCode());
|
||||
} else if (result.equals("notFind")) {
|
||||
resultVO.setResultCode(ResponseCode.SAVE_ERROR.getCode());
|
||||
resultVO.setResultMessage("대상이 존재하지 않습니다.");
|
||||
}
|
||||
}
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,11 +5,8 @@ import lombok.NoArgsConstructor;
|
|||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.persistence.*;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
@ -22,7 +19,7 @@ public class TnPartnerSite {
|
|||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(name = "site_seq")
|
||||
private int siteSeq;
|
||||
private Long siteSeq;
|
||||
|
||||
@Column(name = "site_title", nullable = false, length = 500)
|
||||
private String siteTitle;
|
||||
|
|
@ -34,8 +31,8 @@ public class TnPartnerSite {
|
|||
private String fileGrpId;
|
||||
|
||||
@Column(name = "site_order", nullable = false)
|
||||
private int siteOrder;
|
||||
private Long siteOrder;
|
||||
|
||||
@Column(name = "use_yn", nullable = false, length = 1)
|
||||
private char useYn;
|
||||
private String useYn;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
|
|
@ -174,4 +175,28 @@ public class AdminConfigService extends EgovAbstractServiceImpl {
|
|||
return tnPartnerSiteRepository.findAllByOrderBySiteOrder();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void savePartnerSite(TnPartnerSite tnPartnerSite, String userId) {
|
||||
if (tnPartnerSite.getSiteSeq() == null) {
|
||||
tnPartnerSiteRepository.save(tnPartnerSite);
|
||||
} else {
|
||||
TnPartnerSite savedPartnerSite = tnPartnerSiteRepository.findById(tnPartnerSite.getSiteSeq()).orElse(null);
|
||||
savedPartnerSite.setSiteTitle(tnPartnerSite.getSiteTitle());
|
||||
savedPartnerSite.setSiteUrl(tnPartnerSite.getSiteUrl());
|
||||
savedPartnerSite.setFileGrpId(tnPartnerSite.getFileGrpId());
|
||||
savedPartnerSite.setSiteOrder(tnPartnerSite.getSiteOrder());
|
||||
savedPartnerSite.setUseYn(tnPartnerSite.getUseYn());
|
||||
tnPartnerSiteRepository.save(savedPartnerSite);
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public String deletePartnerSite(TnPartnerSite tnPartnerSite, String userId) {
|
||||
Optional<TnPartnerSite> optionalTnPartnerSite = tnPartnerSiteRepository.findById(tnPartnerSite.getSiteSeq());
|
||||
optionalTnPartnerSite.ifPresent(partnerSite -> {
|
||||
tnPartnerSiteRepository.delete(partnerSite);
|
||||
});
|
||||
return optionalTnPartnerSite.isPresent() ? null : "notFind";
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue