고객추가중
This commit is contained in:
@@ -18,66 +18,13 @@ import java.time.LocalDateTime;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public abstract class BaseDto {
|
public abstract class BaseDto {
|
||||||
|
|
||||||
protected String sqlSelectType;
|
private long id;
|
||||||
protected String sqlUpdateType;
|
|
||||||
|
|
||||||
@CreatedDate
|
|
||||||
private LocalDateTime regDt;
|
|
||||||
|
|
||||||
@LastModifiedDate
|
|
||||||
private LocalDateTime udtDt;
|
|
||||||
|
|
||||||
private LocalDateTime delDt;
|
|
||||||
|
|
||||||
private long regUid;
|
|
||||||
private String regName;
|
|
||||||
private long udtUid;
|
|
||||||
private String udtName;
|
|
||||||
private long delUid;
|
|
||||||
private String delName;
|
|
||||||
private boolean delYn;
|
private boolean delYn;
|
||||||
|
|
||||||
public void base(BaseEntity base) {
|
public void base(BaseEntity base) {
|
||||||
this.regDt = base.getRegDt();
|
this.id = base.getId();
|
||||||
this.regUid = base.getRegUid();
|
|
||||||
this.udtDt = base.getUdtDt();
|
|
||||||
this.udtUid = base.getUdtUid();
|
|
||||||
this.delDt = base.getDelDt();
|
|
||||||
this.delUid = base.getUdtUid();
|
|
||||||
this.delYn = base.isDelYn();
|
this.delYn = base.isDelYn();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRegDtText() {
|
|
||||||
return DateUtils.toDateString(regDt);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRegDtTimeText() {
|
|
||||||
return DateUtils.toDateString(regDt, DateUtils.FORMAT_DEFAULT);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUdtDtText() {
|
|
||||||
return DateUtils.toDateString(udtDt);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUdtDtTimeText() {
|
|
||||||
return DateUtils.toDateString(udtDt, DateUtils.FORMAT_DEFAULT);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDelDtKorText() {
|
|
||||||
if(delDt!= null) {
|
|
||||||
return DateUtils.toDateString(delDt, DateUtils.FORMAT_YYYYMMDD_KOR);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return DateUtils.toDateString(LocalDateTime.now(), DateUtils.FORMAT_YYYYMMDD_KOR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDelDtNextWeekText() {
|
|
||||||
if(delDt!= null) {
|
|
||||||
return DateUtils.toDateString(delDt.plusDays(7), DateUtils.FORMAT_YYYYMMDD_KOR);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return DateUtils.toDateString(LocalDateTime.now(), DateUtils.FORMAT_YYYYMMDD_KOR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.dto;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.FileUpload;
|
|
||||||
import com.ns.mobile.website.biz.entity.Phone;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@SuperBuilder
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class FileUploadDto extends BaseDto{
|
|
||||||
|
|
||||||
long id;
|
|
||||||
String saveFileName;
|
|
||||||
String originalFileName;
|
|
||||||
String fileExtension;
|
|
||||||
String localPath;
|
|
||||||
|
|
||||||
public static FileUploadDto of(FileUpload fileUpload) {
|
|
||||||
|
|
||||||
FileUploadDto fileUploadDto = FileUploadDto.builder()
|
|
||||||
.id(fileUpload.getId())
|
|
||||||
.saveFileName(fileUpload.getSaveFileName())
|
|
||||||
.originalFileName(fileUpload.getOriginalFileName())
|
|
||||||
.fileExtension(fileUpload.getFileExtension())
|
|
||||||
.localPath(fileUpload.getLocalPath())
|
|
||||||
.build();
|
|
||||||
fileUploadDto.base(fileUpload);
|
|
||||||
|
|
||||||
return fileUploadDto;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.ns.mobile.website.biz.dto;
|
||||||
|
|
||||||
|
import com.ns.mobile.website.biz.entity.Menu;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@SuperBuilder
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class MenuDto extends BaseDto{
|
||||||
|
|
||||||
|
String name;
|
||||||
|
String url;
|
||||||
|
String auth;
|
||||||
|
String upprId;
|
||||||
|
String activeUrl;
|
||||||
|
int sort;
|
||||||
|
String menuIcon;
|
||||||
|
|
||||||
|
public static MenuDto of(Menu menu) {
|
||||||
|
|
||||||
|
MenuDto menuDto = MenuDto.builder()
|
||||||
|
.name(menu.getName())
|
||||||
|
.url(menu.getUrl())
|
||||||
|
.auth(menu.getAuth())
|
||||||
|
.upprId(menu.getUpprId())
|
||||||
|
.activeUrl(menu.getActiveUrl())
|
||||||
|
.sort(menu.getSort())
|
||||||
|
.menuIcon(menu.getMenuIcon())
|
||||||
|
.build();
|
||||||
|
menuDto.base(menu);
|
||||||
|
|
||||||
|
return menuDto;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.dto;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.PhoneColor;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@SuperBuilder
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class PhoneColorDto extends BaseDto{
|
|
||||||
long id;
|
|
||||||
long phoneId;
|
|
||||||
int sort;
|
|
||||||
String color;
|
|
||||||
String colorKr;
|
|
||||||
String colorEn;
|
|
||||||
String frontImg;
|
|
||||||
String sideImg;
|
|
||||||
String backImg;
|
|
||||||
|
|
||||||
public static PhoneColorDto of(PhoneColor phoneColor) {
|
|
||||||
|
|
||||||
PhoneColorDto phoneColorDto = PhoneColorDto.builder()
|
|
||||||
.id(phoneColor.getId())
|
|
||||||
.phoneId(phoneColor.getPhoneId())
|
|
||||||
.color(phoneColor.getColor())
|
|
||||||
.colorKr(phoneColor.getColorKr())
|
|
||||||
.colorEn(phoneColor.getColorEn())
|
|
||||||
.frontImg(phoneColor.getFrontImg())
|
|
||||||
.sideImg(phoneColor.getSideImg())
|
|
||||||
.backImg(phoneColor.getBackImg())
|
|
||||||
.build();
|
|
||||||
phoneColorDto.base(phoneColor);
|
|
||||||
|
|
||||||
return phoneColorDto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.dto;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.PhoneDetail;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@SuperBuilder
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class PhoneDetailDto extends BaseDto{
|
|
||||||
long id;
|
|
||||||
PhoneDto phoneDto;
|
|
||||||
List<PhoneColorDto> phoneColorDtoList;
|
|
||||||
List<PhonePriceDto> phonePriceDtoList;
|
|
||||||
long phoneId;
|
|
||||||
String detailPcImg;
|
|
||||||
String detailMobileImg;
|
|
||||||
|
|
||||||
|
|
||||||
public static PhoneDetailDto of(PhoneDetail phoneDetail) {
|
|
||||||
|
|
||||||
PhoneDetailDto phoneDetailDto = PhoneDetailDto.builder()
|
|
||||||
.id(phoneDetail.getId())
|
|
||||||
.phoneId(phoneDetail.getPhoneId())
|
|
||||||
.detailPcImg(phoneDetail.getDetailPcImg())
|
|
||||||
.detailMobileImg(phoneDetail.getDetailMobileImg())
|
|
||||||
.build();
|
|
||||||
|
|
||||||
phoneDetailDto.base(phoneDetail);
|
|
||||||
|
|
||||||
return phoneDetailDto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.dto;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.Phone;
|
|
||||||
import com.ns.mobile.website.common.util.NumberUtils;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@SuperBuilder
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class PhoneDto extends BaseDto{
|
|
||||||
long id;
|
|
||||||
String title;
|
|
||||||
String titleEn;
|
|
||||||
String subTitle;
|
|
||||||
String producer;
|
|
||||||
String phoneType;
|
|
||||||
String titleImg;
|
|
||||||
boolean mdPick;
|
|
||||||
boolean hot;
|
|
||||||
boolean kt;
|
|
||||||
boolean skt;
|
|
||||||
boolean lgu;
|
|
||||||
PhonePriceDto phonePriceDto;
|
|
||||||
|
|
||||||
public static PhoneDto of(Phone phone) {
|
|
||||||
|
|
||||||
PhoneDto phoneDto = PhoneDto.builder()
|
|
||||||
.id(phone.getId())
|
|
||||||
.title(phone.getTitle())
|
|
||||||
.titleEn(phone.getTitleEn())
|
|
||||||
.subTitle(phone.getSubTitle())
|
|
||||||
.producer(phone.getProducer())
|
|
||||||
.phoneType(phone.getPhoneType())
|
|
||||||
.titleImg(phone.getTitleImg())
|
|
||||||
.mdPick(phone.isMdPick())
|
|
||||||
.hot(phone.isHot())
|
|
||||||
.kt(phone.isKt())
|
|
||||||
.skt(phone.isSkt())
|
|
||||||
.lgu(phone.isLgu())
|
|
||||||
.build();
|
|
||||||
phoneDto.base(phone);
|
|
||||||
|
|
||||||
return phoneDto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.dto;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.PhonePrice;
|
|
||||||
import com.ns.mobile.website.common.util.NumberUtils;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@SuperBuilder
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class PhonePriceDto extends BaseDto{
|
|
||||||
long id;
|
|
||||||
long phoneId;
|
|
||||||
int storage;
|
|
||||||
long releasePrice;
|
|
||||||
long yogum;
|
|
||||||
long dcYogum;
|
|
||||||
long dcDanmal;
|
|
||||||
|
|
||||||
public String getReleasePriceTerminalAndCommunicationToComma() {
|
|
||||||
return NumberUtils.toComma((releasePrice/24)+(66750));
|
|
||||||
}
|
|
||||||
public String getReleasePriceTerminalToComma() {
|
|
||||||
return NumberUtils.toComma(releasePrice/24);
|
|
||||||
}
|
|
||||||
public String getReleasePriceToComma() {
|
|
||||||
return NumberUtils.toComma(releasePrice);
|
|
||||||
}
|
|
||||||
public String getStorageString() {
|
|
||||||
return Integer.toString(storage) + "GB";
|
|
||||||
}
|
|
||||||
|
|
||||||
public static PhonePriceDto of(PhonePrice phonePrice) {
|
|
||||||
|
|
||||||
PhonePriceDto phonePriceDto = PhonePriceDto.builder()
|
|
||||||
.id(phonePrice.getId())
|
|
||||||
.phoneId(phonePrice.getPhoneId())
|
|
||||||
.storage(phonePrice.getStorage())
|
|
||||||
.releasePrice(phonePrice.getReleasePrice())
|
|
||||||
.yogum(phonePrice.getYogum())
|
|
||||||
.dcYogum(phonePrice.getDcYogum())
|
|
||||||
.dcDanmal(phonePrice.getDcDanmal())
|
|
||||||
.build();
|
|
||||||
phonePriceDto.base(phonePrice);
|
|
||||||
|
|
||||||
return phonePriceDto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.dto;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.Phone;
|
|
||||||
import com.ns.mobile.website.biz.entity.SellUser;
|
|
||||||
import com.ns.mobile.website.common.util.DateUtils;
|
|
||||||
import com.ns.mobile.website.common.util.NumberUtils;
|
|
||||||
import com.ns.mobile.website.common.util.PhoneUtils;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.EqualsAndHashCode;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@EqualsAndHashCode(callSuper = true)
|
|
||||||
@SuperBuilder
|
|
||||||
@Data
|
|
||||||
@AllArgsConstructor
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class SellUserDto extends BaseDto{
|
|
||||||
|
|
||||||
long id;
|
|
||||||
LocalDateTime openingDate;
|
|
||||||
String account;
|
|
||||||
String newsAgency;
|
|
||||||
String name;
|
|
||||||
String socialSecurityNumber;
|
|
||||||
String phoneNumber;
|
|
||||||
String customerType;
|
|
||||||
String legalRepresentativeName;
|
|
||||||
String legalRepresentativePhoneNumber;
|
|
||||||
int installmentMonth;
|
|
||||||
String petName;
|
|
||||||
String serialNumber;
|
|
||||||
String subscription;
|
|
||||||
long fileId;
|
|
||||||
|
|
||||||
public static SellUserDto of(SellUser sellUser) {
|
|
||||||
|
|
||||||
SellUserDto sellUserDto = SellUserDto.builder()
|
|
||||||
.id(sellUser.getId())
|
|
||||||
.openingDate(sellUser.getOpeningDate())
|
|
||||||
.account(sellUser.getAccount())
|
|
||||||
.newsAgency(sellUser.getNewsAgency())
|
|
||||||
.name(sellUser.getName())
|
|
||||||
.socialSecurityNumber(sellUser.getSocialSecurityNumber())
|
|
||||||
.phoneNumber(sellUser.getPhoneNumber())
|
|
||||||
.customerType(sellUser.getCustomerType())
|
|
||||||
.legalRepresentativeName(sellUser.getLegalRepresentativeName())
|
|
||||||
.legalRepresentativePhoneNumber(sellUser.getLegalRepresentativePhoneNumber())
|
|
||||||
.installmentMonth(sellUser.getInstallmentMonth())
|
|
||||||
.petName(sellUser.getPetName())
|
|
||||||
.serialNumber(sellUser.getSerialNumber())
|
|
||||||
.subscription(sellUser.getSubscription())
|
|
||||||
.fileId(sellUser.getFileId())
|
|
||||||
.build();
|
|
||||||
|
|
||||||
sellUserDto.base(sellUser);
|
|
||||||
|
|
||||||
return sellUserDto;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOpeningDateKor() {
|
|
||||||
return DateUtils.toDateString(openingDate, DateUtils.FORMAT_YYYYMMDD_KOR);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPhoneNumberText() {
|
|
||||||
return PhoneUtils.toString(phoneNumber);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getLegalRepresentativePhoneNumberText() {
|
|
||||||
return PhoneUtils.toString(legalRepresentativePhoneNumber);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -20,26 +20,6 @@ public abstract class BaseEntity {
|
|||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private long id;
|
private long id;
|
||||||
|
|
||||||
@CreationTimestamp
|
|
||||||
@Column
|
|
||||||
private LocalDateTime regDt;
|
|
||||||
|
|
||||||
@UpdateTimestamp
|
|
||||||
@Column
|
|
||||||
private LocalDateTime udtDt;
|
|
||||||
|
|
||||||
@Column
|
|
||||||
private LocalDateTime delDt;
|
|
||||||
|
|
||||||
@Column
|
|
||||||
private long regUid;
|
|
||||||
|
|
||||||
@Column
|
|
||||||
private long udtUid;
|
|
||||||
|
|
||||||
@Column
|
|
||||||
private long delUid;
|
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
private boolean delYn;
|
private boolean delYn;
|
||||||
|
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.entity;
|
|
||||||
|
|
||||||
import javax.persistence.Entity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Entity
|
|
||||||
@SuperBuilder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class FileUpload extends BaseEntity {
|
|
||||||
|
|
||||||
long id;
|
|
||||||
String saveFileName;
|
|
||||||
String originalFileName;
|
|
||||||
String fileExtension;
|
|
||||||
String localPath;
|
|
||||||
|
|
||||||
}
|
|
||||||
+9
-10
@@ -12,15 +12,14 @@ import lombok.experimental.SuperBuilder;
|
|||||||
@SuperBuilder
|
@SuperBuilder
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class PhoneColor extends BaseEntity{
|
public class Menu extends BaseEntity{
|
||||||
long id;
|
|
||||||
long phoneId;
|
private String name;
|
||||||
int sort;
|
private String url;
|
||||||
String color;
|
private String auth;
|
||||||
String colorKr;
|
private String upprId;
|
||||||
String colorEn;
|
private String activeUrl;
|
||||||
String frontImg;
|
private int sort;
|
||||||
String sideImg;
|
private String menuIcon;
|
||||||
String backImg;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.entity;
|
|
||||||
|
|
||||||
import javax.persistence.Entity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Entity
|
|
||||||
@SuperBuilder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class Phone extends BaseEntity{
|
|
||||||
long id;
|
|
||||||
String title;
|
|
||||||
String titleEn;
|
|
||||||
String subTitle;
|
|
||||||
String producer;
|
|
||||||
String phoneType;
|
|
||||||
String titleImg;
|
|
||||||
boolean mdPick;
|
|
||||||
boolean hot;
|
|
||||||
boolean kt;
|
|
||||||
boolean skt;
|
|
||||||
boolean lgu;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.entity;
|
|
||||||
|
|
||||||
import javax.persistence.Entity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Entity
|
|
||||||
@SuperBuilder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class PhoneDetail extends BaseEntity{
|
|
||||||
long id;
|
|
||||||
long phoneId;
|
|
||||||
String detailPcImg;
|
|
||||||
String detailMobileImg;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.entity;
|
|
||||||
|
|
||||||
import javax.persistence.Entity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Entity
|
|
||||||
@SuperBuilder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class PhonePrice extends BaseEntity{
|
|
||||||
long id;
|
|
||||||
long phoneId;
|
|
||||||
int storage;
|
|
||||||
long releasePrice;
|
|
||||||
long yogum;
|
|
||||||
long dcYogum;
|
|
||||||
long dcDanmal;
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.entity;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
|
|
||||||
import javax.persistence.Entity;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.experimental.SuperBuilder;
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Entity
|
|
||||||
@SuperBuilder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class SellUser extends BaseEntity{
|
|
||||||
long id;
|
|
||||||
LocalDateTime openingDate;
|
|
||||||
String account;
|
|
||||||
String newsAgency;
|
|
||||||
String name;
|
|
||||||
String socialSecurityNumber;
|
|
||||||
String phoneNumber;
|
|
||||||
String customerType;
|
|
||||||
String legalRepresentativeName;
|
|
||||||
String legalRepresentativePhoneNumber;
|
|
||||||
int installmentMonth;
|
|
||||||
String petName;
|
|
||||||
String serialNumber;
|
|
||||||
String subscription;
|
|
||||||
long fileId;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.model;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.FileUpload;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Builder;
|
|
||||||
import lombok.Data;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
|
|
||||||
|
|
||||||
@Data
|
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class UploadFileModel {
|
|
||||||
|
|
||||||
long id;
|
|
||||||
long length;
|
|
||||||
String originalFileName;
|
|
||||||
String fileExtension;
|
|
||||||
String saveFileName;
|
|
||||||
String uploadUrl;
|
|
||||||
String localPath;
|
|
||||||
String uuid;
|
|
||||||
|
|
||||||
boolean result;
|
|
||||||
String message;
|
|
||||||
|
|
||||||
public static UploadFileModel fail(String message) {
|
|
||||||
return UploadFileModel.builder().result(false).message(message).build();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static FileUpload of(UploadFileModel uploadFileModel) {
|
|
||||||
|
|
||||||
return FileUpload.builder()
|
|
||||||
.originalFileName(uploadFileModel.getOriginalFileName())
|
|
||||||
.fileExtension(uploadFileModel.getFileExtension())
|
|
||||||
.saveFileName(uploadFileModel.getSaveFileName())
|
|
||||||
.localPath(uploadFileModel.getLocalPath())
|
|
||||||
.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.repository;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
import org.springframework.data.jpa.repository.Modifying;
|
|
||||||
import org.springframework.data.jpa.repository.Query;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.dto.FileUploadDto;
|
|
||||||
import com.ns.mobile.website.biz.entity.FileUpload;
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
public interface FileUploadRepository extends JpaRepository<FileUpload, Long> {
|
|
||||||
Optional<List<FileUploadDto>> findByDelYn(boolean delYn);
|
|
||||||
List<FileUploadDto> findByDelYnOrderByIdDesc(boolean delYn);
|
|
||||||
@Transactional
|
|
||||||
@Modifying
|
|
||||||
@Query(value = "UPDATE file_upload SET del_yn = 1 WHERE id = :id", nativeQuery = true)
|
|
||||||
int updateDelYn(Long id);
|
|
||||||
}
|
|
||||||
+3
-3
@@ -6,9 +6,9 @@ import java.util.Optional;
|
|||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.PhoneColor;
|
import com.ns.mobile.website.biz.entity.Menu;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface PhoneColorRepository extends JpaRepository<PhoneColor, Long> {
|
public interface MenuRepository extends JpaRepository<Menu, Long> {
|
||||||
Optional<List<PhoneColor>> findByPhoneIdAndDelYnOrderBySort(long phoneId, boolean delYn);
|
Optional<List<Menu>> findByDelYnOrderBySort(boolean delYn);
|
||||||
}
|
}
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.repository;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.PhoneDetail;
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
public interface PhoneDetailRepository extends JpaRepository<PhoneDetail, Long> {
|
|
||||||
Optional<PhoneDetail> findByPhoneIdAndDelYn(long phoneId, boolean delYn);
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.repository;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.PhonePrice;
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
public interface PhonePriceRepository extends JpaRepository<PhonePrice, Long> {
|
|
||||||
Optional<List<PhonePrice>> findByPhoneIdAndDelYn(long phoneId, boolean delYn);
|
|
||||||
Optional<PhonePrice> findTop1ByPhoneIdAndDelYnOrderByReleasePrice(long phoneId, boolean delYn);
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.repository;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.Phone;
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
public interface PhoneRepository extends JpaRepository<Phone, Long> {
|
|
||||||
Optional<Phone> findByIdAndDelYn(long id, boolean delYn);
|
|
||||||
Optional<List<Phone>> findByDelYn(boolean delYn);
|
|
||||||
Optional<List<Phone>> findByProducerAndDelYn(String producer, boolean delYn);
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.repository;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
import org.springframework.data.jpa.repository.Modifying;
|
|
||||||
import org.springframework.data.jpa.repository.Query;
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.SellUser;
|
|
||||||
|
|
||||||
@Repository
|
|
||||||
public interface SellUserRepository extends JpaRepository<SellUser, Long> {
|
|
||||||
Optional<List<SellUser>> findByDelYn(boolean delYn);
|
|
||||||
Optional<List<SellUser>> findByAccountContainsAndDelYn(String account, boolean delYn);
|
|
||||||
Optional<List<SellUser>> findByNewsAgencyContainsAndDelYn(String newsAgency, boolean delYn);
|
|
||||||
Optional<List<SellUser>> findByNameContainsAndDelYn(String name, boolean delYn);
|
|
||||||
Optional<List<SellUser>> findByPhoneNumberContainsAndDelYn(String phoneNumber, boolean delYn);
|
|
||||||
Optional<List<SellUser>> findByCustomerTypeContainsAndDelYn(String customerType, boolean delYn);
|
|
||||||
Optional<List<SellUser>> findByPetNameContainsAndDelYn(String petName, boolean delYn);
|
|
||||||
Optional<List<SellUser>> findBySerialNumberContainsAndDelYn(String serialNumber, boolean delYn);
|
|
||||||
|
|
||||||
@Query(value = "select * from sell_user "
|
|
||||||
+ "where (account like concat('%',:account,'%') "
|
|
||||||
+ "or news_agency like concat('%',:newsAgency,'%') "
|
|
||||||
+ "or name like concat('%',:name,'%') "
|
|
||||||
+ "or phone_number like concat('%',:phoneNumber,'%') "
|
|
||||||
+ "or customer_type like concat('%',:customerType,'%') "
|
|
||||||
+ "or pet_name like concat('%',:petName,'%') "
|
|
||||||
+ "or serial_number like concat('%',:serialNumber,'%')) "
|
|
||||||
+ "and del_yn = :delYn", nativeQuery = true)
|
|
||||||
Optional<List<SellUser>> findByAccountContainsOrNewsAgencyContainsOrNameContainsOrPhoneNumberContainsOrCustomerTypeContainsOrPetNameContainsOrSerialNumberContainsAndDelYn(String account, String newsAgency, String name, String phoneNumber, String customerType, String petName, String serialNumber, boolean delYn);
|
|
||||||
|
|
||||||
@Transactional
|
|
||||||
@Modifying
|
|
||||||
@Query(value = "UPDATE sell_user SET del_yn = 1 WHERE file_id = :id", nativeQuery = true)
|
|
||||||
int updateDelYn(Long id);
|
|
||||||
}
|
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.service;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileOutputStream;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.util.FileCopyUtils;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.FileUpload;
|
|
||||||
import com.ns.mobile.website.biz.model.UploadFileModel;
|
|
||||||
import com.ns.mobile.website.biz.properties.FileUrlProperties;
|
|
||||||
import com.ns.mobile.website.common.util.DateUtils;
|
|
||||||
import com.ns.mobile.website.common.util.FileUtils;
|
|
||||||
import com.ns.mobile.website.common.util.StringUtils;
|
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Slf4j
|
|
||||||
@Service
|
|
||||||
public class FileService {
|
|
||||||
|
|
||||||
private final FileUrlProperties fileUrlProperties;
|
|
||||||
|
|
||||||
public UploadFileModel upload(MultipartFile file) {
|
|
||||||
|
|
||||||
if (file == null) {
|
|
||||||
return UploadFileModel.fail("파일 정보가 존재하지 않습니다.");
|
|
||||||
}
|
|
||||||
|
|
||||||
UploadFileModel uploadFileModel = null;
|
|
||||||
|
|
||||||
try {
|
|
||||||
uploadFileModel = this._upload(file);
|
|
||||||
if (uploadFileModel == null || uploadFileModel.getSaveFileName().isEmpty()) {
|
|
||||||
return UploadFileModel.fail("파일 정보가 존재하지 않습니다.");
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
return UploadFileModel.fail(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
String uuid = StringUtils.getUuid();
|
|
||||||
uploadFileModel.setUuid(uuid);
|
|
||||||
|
|
||||||
FileUpload hireUploadFile = UploadFileModel.of(uploadFileModel);
|
|
||||||
|
|
||||||
uploadFileModel.setResult(true);
|
|
||||||
uploadFileModel.setId(hireUploadFile.getId());
|
|
||||||
|
|
||||||
return uploadFileModel;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getSaveLocalPath(String baseUploadLocation, String saveFilename) {
|
|
||||||
String currentYear = DateUtils.getCurrentYear();
|
|
||||||
String currentMonth = DateUtils.getCurrentMonth();
|
|
||||||
|
|
||||||
return String.format("%s/%s/%s/%s", baseUploadLocation, currentYear, currentMonth, saveFilename);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getUploadPath(String uploadPath, String saveFilename) {
|
|
||||||
String currentYear = DateUtils.getCurrentYear();
|
|
||||||
String currentMonth = DateUtils.getCurrentMonth();
|
|
||||||
|
|
||||||
return String.format("%s/%s/%s/%s", uploadPath, currentYear, currentMonth, saveFilename);
|
|
||||||
}
|
|
||||||
|
|
||||||
private UploadFileModel _upload(MultipartFile multipartFile) {
|
|
||||||
|
|
||||||
try {
|
|
||||||
FileUtils.createUploadPath(fileUrlProperties.getBaseUploadLocation());
|
|
||||||
|
|
||||||
long length = multipartFile.getSize();
|
|
||||||
String originalFilename = multipartFile.getOriginalFilename();
|
|
||||||
String fileExtension = FileUtils.getFileExtension(originalFilename).toLowerCase();
|
|
||||||
String saveFilename = String.format("%s.%s", StringUtils.getUuid(), fileExtension);
|
|
||||||
String localPath = getSaveLocalPath(fileUrlProperties.getBaseUploadLocation(), saveFilename);
|
|
||||||
String uploadUrl = getUploadPath(fileUrlProperties.getUploadPath(), saveFilename);
|
|
||||||
|
|
||||||
File file = new File(localPath);
|
|
||||||
FileCopyUtils.copy(multipartFile.getInputStream(), new FileOutputStream(file));
|
|
||||||
|
|
||||||
file.setExecutable(true, false);
|
|
||||||
file.setReadable(true, false);
|
|
||||||
file.setWritable(true, false);
|
|
||||||
|
|
||||||
return UploadFileModel.builder()
|
|
||||||
.length(length)
|
|
||||||
.originalFileName(originalFilename)
|
|
||||||
.fileExtension(fileExtension)
|
|
||||||
.saveFileName(saveFilename)
|
|
||||||
.uploadUrl(uploadUrl)
|
|
||||||
.localPath(localPath)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("error", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.ns.mobile.website.biz.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.ns.mobile.website.biz.dto.MenuDto;
|
||||||
|
|
||||||
|
public interface MenuService {
|
||||||
|
|
||||||
|
public List<MenuDto> getMenu();
|
||||||
|
}
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.service;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.dto.PhoneDetailDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.PhoneDto;
|
|
||||||
import com.ns.mobile.website.biz.entity.Phone;
|
|
||||||
|
|
||||||
public interface PhoneService {
|
|
||||||
List<PhoneDto> selectList(Phone parameter);
|
|
||||||
|
|
||||||
PhoneDetailDto select(Phone parameter);
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.service;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.dto.FileUploadDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.SellUserDto;
|
|
||||||
import com.ns.mobile.website.biz.entity.FileUpload;
|
|
||||||
import com.ns.mobile.website.biz.entity.SellUser;
|
|
||||||
import com.ns.mobile.website.biz.model.SearchData;
|
|
||||||
|
|
||||||
public interface SellService {
|
|
||||||
List<SellUserDto> selectList(SearchData parameter);
|
|
||||||
List<FileUploadDto> selectAddList(SearchData parameter);
|
|
||||||
boolean saveList(FileUpload fileUpload, List<SellUser> list);
|
|
||||||
boolean delFileUpload(FileUpload fileUpload);
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package com.ns.mobile.website.biz.service.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.ns.mobile.website.biz.dto.MenuDto;
|
||||||
|
import com.ns.mobile.website.biz.entity.Menu;
|
||||||
|
import com.ns.mobile.website.biz.exception.BizApiException;
|
||||||
|
import com.ns.mobile.website.biz.repository.MenuRepository;
|
||||||
|
import com.ns.mobile.website.biz.service.MenuService;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class MenuServiceImpl implements MenuService{
|
||||||
|
|
||||||
|
private final MenuRepository menuRepository;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MenuDto> getMenu() {
|
||||||
|
List<Menu> menuList = menuRepository.findByDelYnOrderBySort(false).orElseThrow(() -> new BizApiException("메뉴 조회가 실패하였습니다."));
|
||||||
|
List<MenuDto> result = new ArrayList<MenuDto>();
|
||||||
|
menuList.forEach(e -> {
|
||||||
|
result.add(MenuDto.of(e));
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.service.impl;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.dto.PhoneColorDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.PhoneDetailDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.PhoneDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.PhonePriceDto;
|
|
||||||
import com.ns.mobile.website.biz.entity.Phone;
|
|
||||||
import com.ns.mobile.website.biz.entity.PhoneColor;
|
|
||||||
import com.ns.mobile.website.biz.entity.PhoneDetail;
|
|
||||||
import com.ns.mobile.website.biz.entity.PhonePrice;
|
|
||||||
import com.ns.mobile.website.biz.exception.BizException;
|
|
||||||
import com.ns.mobile.website.biz.repository.PhoneColorRepository;
|
|
||||||
import com.ns.mobile.website.biz.repository.PhoneDetailRepository;
|
|
||||||
import com.ns.mobile.website.biz.repository.PhonePriceRepository;
|
|
||||||
import com.ns.mobile.website.biz.repository.PhoneRepository;
|
|
||||||
import com.ns.mobile.website.biz.service.PhoneService;
|
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import util.SU;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Service
|
|
||||||
public class PhoneServiceImpl implements PhoneService{
|
|
||||||
|
|
||||||
private final PhoneRepository phoneRepository;
|
|
||||||
private final PhoneDetailRepository phoneDetailRepository;
|
|
||||||
private final PhoneColorRepository phoneColorRepository;
|
|
||||||
private final PhonePriceRepository phonePriceRepository;
|
|
||||||
@Override
|
|
||||||
public List<PhoneDto> selectList(Phone parameter) {
|
|
||||||
List<Phone> phoneList = null;
|
|
||||||
if(SU.emt(parameter.getProducer())) {
|
|
||||||
phoneList = phoneRepository.findByDelYn(false).orElseThrow(()-> new BizException(""));
|
|
||||||
}else {
|
|
||||||
phoneList = phoneRepository.findByProducerAndDelYn(parameter.getProducer(),false).orElseThrow(()-> new BizException(""));
|
|
||||||
}
|
|
||||||
List<PhoneDto> resultList = new ArrayList<PhoneDto>();
|
|
||||||
for(Phone e : phoneList) {
|
|
||||||
PhoneDto temp = PhoneDto.of(e);
|
|
||||||
temp.setPhonePriceDto(PhonePriceDto.of(phonePriceRepository.findTop1ByPhoneIdAndDelYnOrderByReleasePrice(e.getId(), false).orElseThrow(()-> new BizException(""))));
|
|
||||||
resultList.add(temp);
|
|
||||||
}
|
|
||||||
return resultList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PhoneDetailDto select(Phone parameter) {
|
|
||||||
Phone phone = phoneRepository.findByIdAndDelYn(parameter.getId(), false).orElseThrow(()-> new BizException(""));
|
|
||||||
PhoneDto phoneDto = PhoneDto.of(phone);
|
|
||||||
|
|
||||||
List<PhonePrice> phonePriceList = phonePriceRepository.findByPhoneIdAndDelYn(phone.getId(), false).orElseThrow(()-> new BizException(""));
|
|
||||||
List<PhonePriceDto> phonPriceDtoList = new ArrayList<PhonePriceDto>();
|
|
||||||
for(PhonePrice e : phonePriceList) {
|
|
||||||
phonPriceDtoList.add(PhonePriceDto.of(e));
|
|
||||||
}
|
|
||||||
|
|
||||||
List<PhoneColor> phoneColorList = phoneColorRepository.findByPhoneIdAndDelYnOrderBySort(phone.getId(), false).orElseThrow(()-> new BizException(""));
|
|
||||||
List<PhoneColorDto> phonColorDtoList = new ArrayList<PhoneColorDto>();
|
|
||||||
for(PhoneColor e : phoneColorList) {
|
|
||||||
phonColorDtoList.add(PhoneColorDto.of(e));
|
|
||||||
}
|
|
||||||
|
|
||||||
PhoneDetail phoneDetail = phoneDetailRepository.findByPhoneIdAndDelYn(phone.getId(), false).orElseThrow(()-> new BizException(""));
|
|
||||||
PhoneDetailDto result = PhoneDetailDto.of(phoneDetail);
|
|
||||||
|
|
||||||
result.setPhoneDto(phoneDto);
|
|
||||||
result.setPhonePriceDtoList(phonPriceDtoList);
|
|
||||||
result.setPhoneColorDtoList(phonColorDtoList);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
package com.ns.mobile.website.biz.service.impl;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.transaction.Transactional;
|
|
||||||
|
|
||||||
import org.springframework.data.domain.Sort;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.dto.FileUploadDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.SellUserDto;
|
|
||||||
import com.ns.mobile.website.biz.entity.FileUpload;
|
|
||||||
import com.ns.mobile.website.biz.entity.SellUser;
|
|
||||||
import com.ns.mobile.website.biz.exception.BizApiException;
|
|
||||||
import com.ns.mobile.website.biz.model.SearchData;
|
|
||||||
import com.ns.mobile.website.biz.repository.FileUploadRepository;
|
|
||||||
import com.ns.mobile.website.biz.repository.SellUserRepository;
|
|
||||||
import com.ns.mobile.website.biz.service.SellService;
|
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import util.SU;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Service
|
|
||||||
public class SellServiceImpl implements SellService{
|
|
||||||
|
|
||||||
private final SellUserRepository sellUserRepository;
|
|
||||||
private final FileUploadRepository fileUploadRepository;
|
|
||||||
@Override
|
|
||||||
public List<SellUserDto> selectList(SearchData parameter) {
|
|
||||||
List<SellUser> sellUserList;
|
|
||||||
if(SU.eq("account",parameter.getType())) {
|
|
||||||
sellUserList = sellUserRepository.findByAccountContainsAndDelYn(parameter.getText(), false).orElseThrow(() -> new BizApiException("없는 거래처명입니다."));
|
|
||||||
}else if(SU.eq("newsAgency",parameter.getType())){
|
|
||||||
sellUserList = sellUserRepository.findByNewsAgencyContainsAndDelYn(parameter.getText(), false).orElseThrow(() -> new BizApiException("없는 통신사명입니다"));
|
|
||||||
}else if(SU.eq("name",parameter.getType())){
|
|
||||||
sellUserList = sellUserRepository.findByNameContainsAndDelYn(parameter.getText(), false).orElseThrow(() -> new BizApiException("없는 명의자 입니다"));
|
|
||||||
}else if(SU.eq("phoneNumber",parameter.getType())){
|
|
||||||
sellUserList = sellUserRepository.findByPhoneNumberContainsAndDelYn(parameter.getText(), false).orElseThrow(() -> new BizApiException("없는 개통번호입니다"));
|
|
||||||
}else if(SU.eq("customerType",parameter.getType())){
|
|
||||||
sellUserList = sellUserRepository.findByCustomerTypeContainsAndDelYn(parameter.getText(), false).orElseThrow(() -> new BizApiException("없는 고객종류입니다"));
|
|
||||||
}else if(SU.eq("petName",parameter.getType())){
|
|
||||||
sellUserList = sellUserRepository.findByPetNameContainsAndDelYn(parameter.getText(), false).orElseThrow(() -> new BizApiException("없는 펫네임입니다"));
|
|
||||||
}else if(SU.eq("serialNumber",parameter.getType())){
|
|
||||||
sellUserList = sellUserRepository.findBySerialNumberContainsAndDelYn(parameter.getText(), false).orElseThrow(() -> new BizApiException("없는 시리얼번호입니다"));
|
|
||||||
}else {
|
|
||||||
sellUserList = sellUserRepository.findByAccountContainsOrNewsAgencyContainsOrNameContainsOrPhoneNumberContainsOrCustomerTypeContainsOrPetNameContainsOrSerialNumberContainsAndDelYn(parameter.getText(),parameter.getText(),parameter.getText(),parameter.getText(),parameter.getText(),parameter.getText(),parameter.getText(), false).orElseThrow(() -> new BizApiException("없는 시리얼번호입니다"));
|
|
||||||
}
|
|
||||||
|
|
||||||
List<SellUserDto> resultList = new ArrayList<SellUserDto>();
|
|
||||||
for(SellUser e : sellUserList) {
|
|
||||||
SellUserDto temp = SellUserDto.of(e);
|
|
||||||
resultList.add(temp);
|
|
||||||
}
|
|
||||||
return resultList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<FileUploadDto> selectAddList(SearchData parameter) {
|
|
||||||
List<FileUploadDto> resultList = fileUploadRepository.findByDelYnOrderByIdDesc(false);
|
|
||||||
|
|
||||||
return resultList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transactional
|
|
||||||
@Override
|
|
||||||
public boolean saveList(FileUpload fileUpload, List<SellUser> list) {
|
|
||||||
try {
|
|
||||||
fileUpload = fileUploadRepository.saveAndFlush(fileUpload);
|
|
||||||
for(SellUser e : list) {
|
|
||||||
e.setFileId(fileUpload.getId());
|
|
||||||
}
|
|
||||||
sellUserRepository.saveAll(list);
|
|
||||||
}catch(Exception e) {
|
|
||||||
log.error(e.getMessage());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean delFileUpload(FileUpload fileUpload) {
|
|
||||||
try {
|
|
||||||
fileUploadRepository.updateDelYn(fileUpload.getId());
|
|
||||||
sellUserRepository.updateDelYn(fileUpload.getId());
|
|
||||||
}catch(Exception e) {
|
|
||||||
log.error(e.getMessage());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -2,11 +2,6 @@ package com.ns.mobile.website.common.util;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -15,17 +10,11 @@ import java.util.Map;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.apache.poi.ss.usermodel.Cell;
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
import org.apache.poi.ss.usermodel.CellType;
|
|
||||||
import org.apache.poi.ss.usermodel.DateUtil;
|
|
||||||
import org.apache.poi.ss.usermodel.Row;
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
import org.apache.poi.ss.usermodel.Sheet;
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.apache.poi.ss.usermodel.WorkbookFactory;
|
import org.apache.poi.ss.usermodel.WorkbookFactory;
|
||||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbookType;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.entity.SellUser;
|
|
||||||
import com.ns.mobile.website.biz.repository.FileUploadRepository;
|
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@@ -108,103 +97,6 @@ public class ExcelUtil {
|
|||||||
return account;
|
return account;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<SellUser> excelToSellList(String filePath, Map<String,String> account) {
|
|
||||||
|
|
||||||
//String localFilename = "/Users/parkkyutae/Downloads/회원목록_20201102140936.xlsx";
|
|
||||||
File file = new File(filePath);
|
|
||||||
boolean stop = false;
|
|
||||||
List<SellUser> sellUserList = new ArrayList<SellUser>();
|
|
||||||
try {
|
|
||||||
Workbook workbook = WorkbookFactory.create(file);
|
|
||||||
Sheet sheet = workbook.getSheetAt(2);
|
|
||||||
|
|
||||||
Iterator<Row> rowItr = sheet.iterator();
|
|
||||||
|
|
||||||
while(rowItr.hasNext()) {
|
|
||||||
SellUser sellUser = new SellUser();
|
|
||||||
Row row = rowItr.next();
|
|
||||||
if(row.getRowNum() < 2) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
Iterator<Cell> cellItr = row.cellIterator();
|
|
||||||
while(cellItr.hasNext()) {
|
|
||||||
Cell cell = cellItr.next();
|
|
||||||
int index = cell.getColumnIndex();
|
|
||||||
switch(index) {
|
|
||||||
case 5:
|
|
||||||
if(cell.getDateCellValue() == null) {
|
|
||||||
stop = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
sellUser.setOpeningDate((LocalDateTime)cell.getDateCellValue().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
sellUser.setAccount((String) getCellValue(cell));
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
sellUser.setNewsAgency(account.get(sellUser.getAccount()));
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
sellUser.setName((String) getCellValue(cell));
|
|
||||||
break;
|
|
||||||
case 9:
|
|
||||||
if(cell.getCellType() == CellType.NUMERIC)
|
|
||||||
sellUser.setSocialSecurityNumber(String.format("%06d",(int)cell.getNumericCellValue()));
|
|
||||||
else
|
|
||||||
sellUser.setSocialSecurityNumber((String) cell.getStringCellValue());
|
|
||||||
break;
|
|
||||||
case 10:
|
|
||||||
if(cell.getCellType() == CellType.NUMERIC)
|
|
||||||
sellUser.setPhoneNumber(String.format("%011d",(int)cell.getNumericCellValue()));
|
|
||||||
else
|
|
||||||
sellUser.setPhoneNumber(((String) cell.getStringCellValue()).replace("-", ""));
|
|
||||||
break;
|
|
||||||
case 11:
|
|
||||||
if(cell.getCellType() == CellType.NUMERIC)
|
|
||||||
sellUser.setCustomerType(String.format("%d",(int)cell.getNumericCellValue()));
|
|
||||||
else
|
|
||||||
sellUser.setCustomerType((String) cell.getStringCellValue());
|
|
||||||
break;
|
|
||||||
case 12:
|
|
||||||
sellUser.setLegalRepresentativeName((String) cell.getStringCellValue());
|
|
||||||
break;
|
|
||||||
case 13:
|
|
||||||
if(cell.getCellType() == CellType.NUMERIC)
|
|
||||||
sellUser.setLegalRepresentativePhoneNumber(String.format("%011d",(int)cell.getNumericCellValue()));
|
|
||||||
else
|
|
||||||
sellUser.setLegalRepresentativePhoneNumber(((String) cell.getStringCellValue()).replace("-", ""));
|
|
||||||
break;
|
|
||||||
case 14:
|
|
||||||
sellUser.setInstallmentMonth(((Double)cell.getNumericCellValue()).intValue());
|
|
||||||
break;
|
|
||||||
case 15:
|
|
||||||
sellUser.setPetName((String) cell.getStringCellValue());
|
|
||||||
break;
|
|
||||||
case 16:
|
|
||||||
if(cell.getCellType() == CellType.NUMERIC)
|
|
||||||
sellUser.setSerialNumber(String.format("%d",(int)cell.getNumericCellValue()));
|
|
||||||
else
|
|
||||||
sellUser.setSerialNumber((String) cell.getStringCellValue());
|
|
||||||
break;
|
|
||||||
case 17:
|
|
||||||
sellUser.setSubscription((String) cell.getStringCellValue());
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(stop)
|
|
||||||
break;
|
|
||||||
sellUserList.add(sellUser);
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
String message = "[엑셀파일 로드 - Data ] 처리 중 DB오류가 발생하였습니다.";
|
|
||||||
log.error(message + " >> ", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
return sellUserList;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Object getCellValue(Cell cell) {
|
private static Object getCellValue(Cell cell) {
|
||||||
switch(cell.getCellType()) {
|
switch(cell.getCellType()) {
|
||||||
case STRING:
|
case STRING:
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.ns.mobile.website.web.controller.home;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import com.ns.mobile.website.web.auth.PublicAccess;
|
||||||
|
import com.ns.mobile.website.web.controller.BaseController;
|
||||||
|
import com.ns.mobile.website.web.properties.LaneduProperties;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Controller
|
||||||
|
public class GuestController extends BaseController {
|
||||||
|
|
||||||
|
private final LaneduProperties laneduProperties;
|
||||||
|
|
||||||
|
@PublicAccess
|
||||||
|
@RequestMapping(value = {"guest/add"})
|
||||||
|
String home(Model model, HttpServletRequest request, HttpSession session
|
||||||
|
) {
|
||||||
|
model.addAttribute("version", laneduProperties.getVersion());
|
||||||
|
|
||||||
|
return "guest/add";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -5,10 +5,8 @@ import javax.servlet.http.HttpSession;
|
|||||||
|
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.service.PhoneService;
|
|
||||||
import com.ns.mobile.website.web.auth.PublicAccess;
|
import com.ns.mobile.website.web.auth.PublicAccess;
|
||||||
import com.ns.mobile.website.web.controller.BaseController;
|
import com.ns.mobile.website.web.controller.BaseController;
|
||||||
import com.ns.mobile.website.web.properties.LaneduProperties;
|
import com.ns.mobile.website.web.properties.LaneduProperties;
|
||||||
@@ -21,6 +19,14 @@ public class HomeController extends BaseController {
|
|||||||
|
|
||||||
private final LaneduProperties laneduProperties;
|
private final LaneduProperties laneduProperties;
|
||||||
|
|
||||||
|
@PublicAccess
|
||||||
|
@RequestMapping(value = {"sample"})
|
||||||
|
String sample(Model model, HttpServletRequest request, HttpSession session
|
||||||
|
) {
|
||||||
|
model.addAttribute("version", laneduProperties.getVersion());
|
||||||
|
|
||||||
|
return "home/sample";
|
||||||
|
}
|
||||||
|
|
||||||
@PublicAccess
|
@PublicAccess
|
||||||
@RequestMapping(value = {"home"})
|
@RequestMapping(value = {"home"})
|
||||||
@@ -31,6 +37,7 @@ public class HomeController extends BaseController {
|
|||||||
return "home/index";
|
return "home/index";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+57
-84
@@ -1,34 +1,7 @@
|
|||||||
package com.ns.mobile.website.web.controller.home.api;
|
package com.ns.mobile.website.web.controller.home.api;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.ResponseBody;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import com.ns.mobile.website.biz.dto.FileUploadDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.PhoneDetailDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.PhoneDto;
|
|
||||||
import com.ns.mobile.website.biz.dto.SellUserDto;
|
|
||||||
import com.ns.mobile.website.biz.entity.FileUpload;
|
|
||||||
import com.ns.mobile.website.biz.entity.Phone;
|
|
||||||
import com.ns.mobile.website.biz.entity.SellUser;
|
|
||||||
import com.ns.mobile.website.biz.model.ResponseData;
|
|
||||||
import com.ns.mobile.website.biz.model.ResponseResult;
|
|
||||||
import com.ns.mobile.website.biz.model.SearchData;
|
|
||||||
import com.ns.mobile.website.biz.model.UploadFileModel;
|
|
||||||
import com.ns.mobile.website.biz.service.FileService;
|
|
||||||
import com.ns.mobile.website.biz.service.PhoneService;
|
|
||||||
import com.ns.mobile.website.biz.service.SellService;
|
|
||||||
import com.ns.mobile.website.common.util.ExcelUtil;
|
|
||||||
import com.ns.mobile.website.web.auth.PublicAccess;
|
|
||||||
import com.ns.mobile.website.web.controller.BaseController;
|
import com.ns.mobile.website.web.controller.BaseController;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -39,61 +12,61 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
@RestController
|
@RestController
|
||||||
public class ApiHomeController extends BaseController {
|
public class ApiHomeController extends BaseController {
|
||||||
|
|
||||||
private final PhoneService phoneService;
|
// private final PhoneService phoneService;
|
||||||
private final SellService sellService;
|
// private final SellService sellService;
|
||||||
private final FileService fileService;
|
// private final FileService fileService;
|
||||||
|
//
|
||||||
@PublicAccess
|
// @PublicAccess
|
||||||
@PostMapping("/api/phone/list.api")
|
// @PostMapping("/api/phone/list.api")
|
||||||
public ResponseEntity<?> list(@RequestBody Phone parameter,HttpServletRequest request, HttpSession session){
|
// public ResponseEntity<?> list(@RequestBody Phone parameter,HttpServletRequest request, HttpSession session){
|
||||||
List<PhoneDto> result = phoneService.selectList(parameter);
|
// List<PhoneDto> result = phoneService.selectList(parameter);
|
||||||
return ResponseResult.success(result);
|
// return ResponseResult.success(result);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@PublicAccess
|
// @PublicAccess
|
||||||
@PostMapping("/api/phone/detail.api")
|
// @PostMapping("/api/phone/detail.api")
|
||||||
public ResponseEntity<?> detail(@RequestBody Phone parameter,HttpServletRequest request, HttpSession session){
|
// public ResponseEntity<?> detail(@RequestBody Phone parameter,HttpServletRequest request, HttpSession session){
|
||||||
PhoneDetailDto result = phoneService.select(parameter);
|
// PhoneDetailDto result = phoneService.select(parameter);
|
||||||
return ResponseResult.success(result);
|
// return ResponseResult.success(result);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@PublicAccess
|
// @PublicAccess
|
||||||
@PostMapping("/api/sell/list.api")
|
// @PostMapping("/api/sell/list.api")
|
||||||
public ResponseEntity<?> sellList(@RequestBody SearchData parameter,HttpServletRequest request, HttpSession session){
|
// public ResponseEntity<?> sellList(@RequestBody SearchData parameter,HttpServletRequest request, HttpSession session){
|
||||||
List<SellUserDto> result = sellService.selectList(parameter);
|
// List<SellUserDto> result = sellService.selectList(parameter);
|
||||||
return ResponseResult.success(result);
|
// return ResponseResult.success(result);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@PublicAccess
|
// @PublicAccess
|
||||||
@PostMapping("/api/sell/add/list.api")
|
// @PostMapping("/api/sell/add/list.api")
|
||||||
public ResponseEntity<?> addList(@RequestBody SearchData parameter,HttpServletRequest request, HttpSession session){
|
// public ResponseEntity<?> addList(@RequestBody SearchData parameter,HttpServletRequest request, HttpSession session){
|
||||||
List<FileUploadDto> result = sellService.selectAddList(parameter);
|
// List<FileUploadDto> result = sellService.selectAddList(parameter);
|
||||||
return ResponseResult.success(result);
|
// return ResponseResult.success(result);
|
||||||
}
|
// }
|
||||||
@PublicAccess
|
// @PublicAccess
|
||||||
@PostMapping("/api/sell/del/upload.api")
|
// @PostMapping("/api/sell/del/upload.api")
|
||||||
public ResponseData delFileUpload(@RequestBody FileUpload parameter,HttpServletRequest request, HttpSession session){
|
// public ResponseData delFileUpload(@RequestBody FileUpload parameter,HttpServletRequest request, HttpSession session){
|
||||||
if(!sellService.delFileUpload(parameter)) {
|
// if(!sellService.delFileUpload(parameter)) {
|
||||||
return ResponseData.fail("실패");
|
// return ResponseData.fail("실패");
|
||||||
}
|
// }
|
||||||
return ResponseData.success();
|
// return ResponseData.success();
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@ResponseBody
|
// @ResponseBody
|
||||||
@PublicAccess
|
// @PublicAccess
|
||||||
@PostMapping(value = {"/api/sell/add.api"})
|
// @PostMapping(value = {"/api/sell/add.api"})
|
||||||
public ResponseData apiAttachExcelFile(MultipartFile attachFile) {
|
// public ResponseData apiAttachExcelFile(MultipartFile attachFile) {
|
||||||
|
//
|
||||||
UploadFileModel uploadFile = fileService.upload(attachFile);
|
// UploadFileModel uploadFile = fileService.upload(attachFile);
|
||||||
if (!uploadFile.isResult()) {
|
// if (!uploadFile.isResult()) {
|
||||||
return ResponseData.fail(uploadFile.getMessage());
|
// return ResponseData.fail(uploadFile.getMessage());
|
||||||
}
|
// }
|
||||||
Map<String,String> account = ExcelUtil.excelToAccountList(uploadFile.getLocalPath());
|
// Map<String,String> account = ExcelUtil.excelToAccountList(uploadFile.getLocalPath());
|
||||||
List<SellUser> excelDataList = ExcelUtil.excelToSellList(uploadFile.getLocalPath(), account);
|
// List<SellUser> excelDataList = ExcelUtil.excelToSellList(uploadFile.getLocalPath(), account);
|
||||||
FileUpload fileUpload = UploadFileModel.of(uploadFile);
|
// FileUpload fileUpload = UploadFileModel.of(uploadFile);
|
||||||
if(!sellService.saveList(fileUpload, excelDataList)) {
|
// if(!sellService.saveList(fileUpload, excelDataList)) {
|
||||||
return ResponseData.fail("실패");
|
// return ResponseData.fail("실패");
|
||||||
}
|
// }
|
||||||
return ResponseData.success(excelDataList);
|
// return ResponseData.success(excelDataList);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.ns.mobile.website.web.interceptor;
|
package com.ns.mobile.website.web.interceptor;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@@ -9,7 +10,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.web.servlet.HandlerInterceptor;
|
import org.springframework.web.servlet.HandlerInterceptor;
|
||||||
|
|
||||||
|
import com.ns.mobile.website.biz.dto.MenuDto;
|
||||||
import com.ns.mobile.website.biz.exception.NotLoginException;
|
import com.ns.mobile.website.biz.exception.NotLoginException;
|
||||||
|
import com.ns.mobile.website.biz.service.MenuService;
|
||||||
import com.ns.mobile.website.common.util.AnnotationUtils;
|
import com.ns.mobile.website.common.util.AnnotationUtils;
|
||||||
import com.ns.mobile.website.common.util.DateUtils;
|
import com.ns.mobile.website.common.util.DateUtils;
|
||||||
import com.ns.mobile.website.common.util.InterceptorUtils;
|
import com.ns.mobile.website.common.util.InterceptorUtils;
|
||||||
@@ -24,6 +27,9 @@ public class FrontInterceptor implements HandlerInterceptor {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private Environment environment;
|
private Environment environment;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MenuService menuService;
|
||||||
|
|
||||||
private String currentProfile() {
|
private String currentProfile() {
|
||||||
String[] profiles = environment.getActiveProfiles();
|
String[] profiles = environment.getActiveProfiles();
|
||||||
if (profiles.length == 0) {
|
if (profiles.length == 0) {
|
||||||
@@ -66,7 +72,14 @@ public class FrontInterceptor implements HandlerInterceptor {
|
|||||||
throw new NotLoginException();
|
throw new NotLoginException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setMenuList(request, response);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setMenuList(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
List<MenuDto> menuList = menuService.getMenu();
|
||||||
|
request.setAttribute("menuList", menuList);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
driver-class-name: org.mariadb.jdbc.Driver
|
driver-class-name: org.mariadb.jdbc.Driver
|
||||||
url: jdbc:mariadb://119.70.122.80:13306/phonessayo?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
|
url: jdbc:mariadb://119.70.122.80:13306/erp?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Seoul
|
||||||
username: kuhan
|
username: kuhan
|
||||||
password: Gnfkqhsh1!
|
password: Gnfkqhsh1!
|
||||||
|
|
||||||
|
|||||||
@@ -1,242 +0,0 @@
|
|||||||
let appVue = new Vue({
|
|
||||||
mixins: [MIXIN, PAGING],
|
|
||||||
el: '#vueApp',
|
|
||||||
data: {
|
|
||||||
siteId:'',
|
|
||||||
detail:{
|
|
||||||
id: 0
|
|
||||||
},
|
|
||||||
phone:{},
|
|
||||||
color:[{frontImg: '',backImg:'',sideImg:''}],
|
|
||||||
price:[{releasePrice: 0}],
|
|
||||||
selectPrice:{}
|
|
||||||
},
|
|
||||||
mounted: function () {
|
|
||||||
this.init();
|
|
||||||
},
|
|
||||||
computed: {},
|
|
||||||
methods: {
|
|
||||||
init: function () {
|
|
||||||
let $this = this;
|
|
||||||
$this.detail.id = $("#phoneId").val();
|
|
||||||
$this.siteId = $("#siteId").val();
|
|
||||||
$this.bindDetail();
|
|
||||||
},
|
|
||||||
bindDetail: function () {
|
|
||||||
let $this = this;
|
|
||||||
|
|
||||||
let parameter = $this.detail;
|
|
||||||
nscompany.mobile.api.phone.detail(parameter, function (success, message, data) {
|
|
||||||
if (!success) {
|
|
||||||
alert(message);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$this.phone = data.phoneDto;
|
|
||||||
$this.color = data.phoneColorDtoList;
|
|
||||||
$this.price = data.phonePriceDtoList;
|
|
||||||
$this.selectPrice = data.phonePriceDtoList[0];
|
|
||||||
$this.detail = data;
|
|
||||||
console.log(data);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onClickColor: function(e) {
|
|
||||||
$this = e.currentTarget;
|
|
||||||
innit2();
|
|
||||||
// 슬라이드, 이벤트 타켓 가져오기
|
|
||||||
console.log("클릭이벤트 실행");
|
|
||||||
jQuery('.colors .circle').removeClass('active');
|
|
||||||
jQuery($this).find('.circle').addClass('active');
|
|
||||||
|
|
||||||
var color_name = jQuery($this).find('p').text();
|
|
||||||
jQuery('[name="model_color"]').val(color_name);
|
|
||||||
|
|
||||||
// 슬라이드 이미지 교체
|
|
||||||
var url = jQuery($this).attr('data-imgurl');
|
|
||||||
var color_length = jQuery($this).attr('data-colorcnt');
|
|
||||||
|
|
||||||
|
|
||||||
var top_slider = jQuery('#pd_Slider').find('.swiper-slide');
|
|
||||||
var bot_slider = jQuery('#pd_thumbs').find('.swiper-slide');
|
|
||||||
var idx1 = 0;
|
|
||||||
var idx2 = 0;
|
|
||||||
|
|
||||||
for (var i = 1; i <= 3; i++) {
|
|
||||||
var attr_name = "data-img"+i;
|
|
||||||
var file_name = jQuery($this).attr(attr_name);
|
|
||||||
var img_url = url+file_name;
|
|
||||||
top_slider.eq(idx1).children('img').attr('src',img_url);
|
|
||||||
++idx1;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (var i = 1; i <= 3; i++) {
|
|
||||||
var attr_name = "data-img"+i;
|
|
||||||
var file_name = jQuery($this).attr(attr_name);
|
|
||||||
var img_url = url+file_name;
|
|
||||||
bot_slider.eq(idx2).children('img').attr('src',img_url);
|
|
||||||
++idx2;
|
|
||||||
}
|
|
||||||
|
|
||||||
var stock_el = jQuery($this).find('span:first');
|
|
||||||
console.log(stock_el);
|
|
||||||
var loop = +stock_el.attr('data-stockcnt');
|
|
||||||
var stock_arr =[];
|
|
||||||
console.log(stock_el);
|
|
||||||
// 값 가져오기
|
|
||||||
for (var i = 1; i <= loop; i++) {
|
|
||||||
var data_name = "data-stock"+i;
|
|
||||||
var data_val = stock_el.attr(data_name);
|
|
||||||
if(data_val == "") {
|
|
||||||
stock_arr.push(false);
|
|
||||||
console.log("실행");
|
|
||||||
} else {
|
|
||||||
stock_arr.push(true);
|
|
||||||
console.log("실행");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//select 업데이트하기
|
|
||||||
var options = jQuery('#size_select option');
|
|
||||||
console.log(stock_arr);
|
|
||||||
|
|
||||||
for (var i = 1; i <= stock_arr.length; i++) {
|
|
||||||
console.log("selcte판매상태 루프");
|
|
||||||
if(stock_arr[i-1] == true) {// 판매
|
|
||||||
options.eq(i).prop('disabled',false);
|
|
||||||
options.eq(i).text(options.eq(i).attr('data-size'));
|
|
||||||
} else {// 품절
|
|
||||||
options.eq(i).prop('disabled',true);
|
|
||||||
options.eq(i).text(options.eq(i).attr('data-size')+"(품절)");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selectState(true);
|
|
||||||
console.log("컬러별 재고 업데이트! 완료");
|
|
||||||
$("#size_select").val("");
|
|
||||||
|
|
||||||
jQuery('#size_select').change(function() {
|
|
||||||
var index = $("#size_select option").index($("#size_select option:selected"));
|
|
||||||
|
|
||||||
if(index == 0)index = 1;
|
|
||||||
appVue.selectPrice = appVue.price[index-1];
|
|
||||||
|
|
||||||
jQuery('[name="model_size"]').val(jQuery($this).find('option:selected').text());
|
|
||||||
});
|
|
||||||
jQuery('#size_select').change(get_discount_compare_values);
|
|
||||||
|
|
||||||
|
|
||||||
} // even eid
|
|
||||||
}//method end
|
|
||||||
});
|
|
||||||
|
|
||||||
var isView = false;
|
|
||||||
jQuery('.nav>ul>li').mouseenter(function() {
|
|
||||||
jQuery('.sub-menu').removeClass('view');
|
|
||||||
jQuery(this).find('.sub-menu').addClass('view');
|
|
||||||
isView = true;
|
|
||||||
}).mouseleave(function(event) {
|
|
||||||
jQuery(this).find('.sub-menu').removeClass('view');
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
var sub_count = jQuery('.sub-menu').length;
|
|
||||||
for (var i = 0; i < sub_count; i++) {
|
|
||||||
var children = jQuery('.sub-menu').eq(i).children().length;
|
|
||||||
var height = 38 * children;
|
|
||||||
jQuery('.sub-menu').eq(i).css('height', height);
|
|
||||||
jQuery('.nav>ul>li').eq(i).children('a').removeAttr('href');
|
|
||||||
}
|
|
||||||
|
|
||||||
var galleryThumbs = new Swiper('.gallery-thumbs', {
|
|
||||||
spaceBetween: 10,
|
|
||||||
slidesPerView: 3,
|
|
||||||
freeMode: true,
|
|
||||||
watchSlidesVisibility: true,
|
|
||||||
watchSlidesProgress: true,
|
|
||||||
});
|
|
||||||
var galleryTop = new Swiper('.gallery-top', {
|
|
||||||
spaceBetween: 10,
|
|
||||||
navigation: {
|
|
||||||
nextEl: '.swiper-button-next',
|
|
||||||
prevEl: '.swiper-button-prev',
|
|
||||||
},
|
|
||||||
thumbs: {
|
|
||||||
swiper: galleryThumbs,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
var isMobile_fix = false;
|
|
||||||
if (jQuery(window).innerWidth() <= 576) {
|
|
||||||
jQuery(window).scroll(function() {
|
|
||||||
var top = jQuery(this).scrollTop();
|
|
||||||
console.log(top);
|
|
||||||
if (top >= 0 && isMobile_fix == false) {
|
|
||||||
isMobile_fix = true;
|
|
||||||
jQuery('header').addClass('scroll');
|
|
||||||
jQuery('header').addClass('mobile')
|
|
||||||
jQuery('.usermenu-container').addClass('absol');
|
|
||||||
jQuery('.usermenu-container').addClass('mobile');
|
|
||||||
// console.log("스크롤함");
|
|
||||||
} else if (top <= 0) {
|
|
||||||
isMobile_fix = false;
|
|
||||||
jQuery('header').removeClass('scroll');
|
|
||||||
jQuery('header').removeClass('mobile')
|
|
||||||
jQuery('.usermenu-container').removeClass('absol');
|
|
||||||
jQuery('.usermenu-container').removeClass('mobile');
|
|
||||||
// console.log("맨위로 올라옴");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
jQuery(".phone_gogo_btn").on("click", function() {
|
|
||||||
var myNum = jQuery('.phone_gogo').val();
|
|
||||||
if (myNum.length >= 6) {
|
|
||||||
jQuery.get("http://luckyphone.kr/wp-admin/admin-ajax.php", {
|
|
||||||
'action': 'phone_action',
|
|
||||||
'phone' : myNum
|
|
||||||
}, function(data) {
|
|
||||||
/*console.log(data);*/
|
|
||||||
if (data) {
|
|
||||||
alert("인증번호가 전송 되었습니다.");
|
|
||||||
jQuery(".phone_hidden").val(data);
|
|
||||||
console.log(data);
|
|
||||||
} else {
|
|
||||||
alert("실패 하였습니다.");
|
|
||||||
console.log(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
alert("연락처를 적어주세요");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
jQuery(".button_div input").on("click", function() {
|
|
||||||
var phone_hidden = jQuery(".phone_hidden").val();
|
|
||||||
var phone_gogo = jQuery(".phone_gogo").val();
|
|
||||||
var phone_hidden_length = phone_hidden.length;
|
|
||||||
var user_val = jQuery("#recive_num").val();
|
|
||||||
console.log(phone_hidden_length);
|
|
||||||
|
|
||||||
if(phone_hidden_length > 0 && phone_hidden == user_val){
|
|
||||||
// return true;
|
|
||||||
alert("가입완료");
|
|
||||||
return true;
|
|
||||||
}else{
|
|
||||||
alert("인증번호를 확인 해주세요.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// tabl script
|
|
||||||
jQuery('.tab-nav li').on('click',function(e){
|
|
||||||
var idx = jQuery(this).attr('data-idx');
|
|
||||||
jQuery('.tab-nav li button').removeClass('under-btn active');
|
|
||||||
jQuery('.tab-nav li').eq(idx).children('button').addClass('under-btn active');
|
|
||||||
console.log(idx);
|
|
||||||
jQuery('.tab-content').removeClass('active');
|
|
||||||
jQuery('.tab-content').eq(idx).addClass('active');
|
|
||||||
});
|
|
||||||
@@ -23,14 +23,14 @@ let appVue = new Vue({
|
|||||||
let $this = this;
|
let $this = this;
|
||||||
|
|
||||||
let parameter = $this.detail;
|
let parameter = $this.detail;
|
||||||
nscompany.mobile.api.phone.list(parameter, function (success, message, data) {
|
/* nscompany.mobile.api.phone.list(parameter, function (success, message, data) {
|
||||||
if (!success) {
|
if (!success) {
|
||||||
alert(message);
|
alert(message);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this.phoneList = data;
|
$this.phoneList = data;
|
||||||
});
|
});*/
|
||||||
},
|
},
|
||||||
producerChange: function (event){
|
producerChange: function (event){
|
||||||
let $this = this;
|
let $this = this;
|
||||||
|
|||||||
+14
-10
@@ -2,10 +2,11 @@ let appVue = new Vue({
|
|||||||
mixins: [MIXIN, PAGING],
|
mixins: [MIXIN, PAGING],
|
||||||
el: '#vueApp',
|
el: '#vueApp',
|
||||||
data: {
|
data: {
|
||||||
sellUser:[],
|
siteId:'',
|
||||||
search:{
|
phoneList:[],
|
||||||
type:'',
|
detail:{
|
||||||
text:''
|
producer: '',
|
||||||
|
priceType: 'terminal'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted: function () {
|
mounted: function () {
|
||||||
@@ -15,22 +16,25 @@ let appVue = new Vue({
|
|||||||
methods: {
|
methods: {
|
||||||
init: function () {
|
init: function () {
|
||||||
let $this = this;
|
let $this = this;
|
||||||
|
$this.siteId = $("#siteId").val();
|
||||||
$this.bindDetail();
|
$this.bindDetail();
|
||||||
},
|
},
|
||||||
bindDetail: function () {
|
bindDetail: function () {
|
||||||
let $this = this;
|
let $this = this;
|
||||||
|
|
||||||
let parameter = $this.search;
|
let parameter = $this.detail;
|
||||||
nscompany.mobile.api.phone.sellList(parameter, function (success, message, data) {
|
nscompany.mobile.api.phone.list(parameter, function (success, message, data) {
|
||||||
if (!success) {
|
if (!success) {
|
||||||
alert(message);
|
alert(message);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$this.sellUser = data;
|
|
||||||
console.log(data);
|
$this.phoneList = data;
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
producerChange: function (event){
|
||||||
|
let $this = this;
|
||||||
|
$this.bindDetail();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
let appVue = new Vue({
|
|
||||||
mixins: [MIXIN, PAGING],
|
|
||||||
el: '#vueApp',
|
|
||||||
data: {
|
|
||||||
selectedFilename: '',
|
|
||||||
excelFile: null,
|
|
||||||
uploadExcelData: [],
|
|
||||||
uploadList:[]
|
|
||||||
},
|
|
||||||
mounted: function () {
|
|
||||||
this.init();
|
|
||||||
},
|
|
||||||
computed: {},
|
|
||||||
methods: {
|
|
||||||
init: function () {
|
|
||||||
let $this = this;
|
|
||||||
$this.bindList();
|
|
||||||
},
|
|
||||||
bindList: function () {
|
|
||||||
let $this = this;
|
|
||||||
|
|
||||||
let parameter = {};
|
|
||||||
nscompany.mobile.api.phone.addList(parameter, function (success, message, data) {
|
|
||||||
if (!success) {
|
|
||||||
alert(message);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$this.uploadList = data;
|
|
||||||
console.log(data);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
actionFileUpload: function (file) {
|
|
||||||
let $this = this;
|
|
||||||
|
|
||||||
let extension = (file.name.substring(file.name.lastIndexOf('.') + 1) || '').toLowerCase();
|
|
||||||
|
|
||||||
let formData = new FormData();
|
|
||||||
formData.append('attachFile', file);
|
|
||||||
axios.post('/api/sell/add.api', formData).then(function (response) {
|
|
||||||
console.log(response);
|
|
||||||
response.data = response.data || {};
|
|
||||||
response.data.body = response.data.body || [];
|
|
||||||
let jsonData = response.data.body;
|
|
||||||
|
|
||||||
console.log('############### - FILE');
|
|
||||||
console.log(jsonData);
|
|
||||||
|
|
||||||
$this.uploadExcelData = jsonData;
|
|
||||||
|
|
||||||
alert(file.name + " 등록이 완료되었습니다.");
|
|
||||||
location.reload();
|
|
||||||
}).catch(function (error) {
|
|
||||||
console.log('error: ' + error.toString());
|
|
||||||
alert('error: ' + error.toString());
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onChangeFileInput: function (fileUploadId) {
|
|
||||||
let $this = this;
|
|
||||||
|
|
||||||
let value = document.getElementById(fileUploadId).value || '';
|
|
||||||
if (value === '') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
let file = document.getElementById(fileUploadId).files[0];
|
|
||||||
//$this.actionFileUpload(file);
|
|
||||||
$this.excelFile = file;
|
|
||||||
$this.selectedFilename = $this.excelFile.name;
|
|
||||||
|
|
||||||
console.log('##################### - 1');
|
|
||||||
console.log($this.excelFile);
|
|
||||||
|
|
||||||
},
|
|
||||||
onClickExcelSave: function () {
|
|
||||||
let $this = this;
|
|
||||||
|
|
||||||
if ($this.excelFile == null) {
|
|
||||||
alert(' 파일을 선택해 주세요. ');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
let $popup = $('#fileLayer');
|
|
||||||
|
|
||||||
$this.uploadExcelData = [];
|
|
||||||
$this.actionFileUpload($this.excelFile);
|
|
||||||
},
|
|
||||||
deleteClick: function(id,name) {
|
|
||||||
let $this = this;
|
|
||||||
|
|
||||||
let parameter = {id:id};
|
|
||||||
nscompany.mobile.api.phone.delUpload(parameter, function (success, message, data) {
|
|
||||||
if (!success) {
|
|
||||||
alert(message);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
alert(name + " 삭제 되었습니다.");
|
|
||||||
location.reload();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}//method end
|
|
||||||
});
|
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,179 @@
|
|||||||
|
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<jsp:include page="/WEB-INF/view/include/inc_head.jsp"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- wrapper : s -->
|
||||||
|
<div class="d-flex" id="wrapper">
|
||||||
|
<!-- Sidebar : s-->
|
||||||
|
<jsp:include page="/WEB-INF/view/include/inc_body_sidebar.jsp"/>
|
||||||
|
<!-- Sidebar : e-->
|
||||||
|
|
||||||
|
<!-- container : s-->
|
||||||
|
<div id="container">
|
||||||
|
<!-- header : s-->
|
||||||
|
<jsp:include page="/WEB-INF/view/include/inc_body_header.jsp"/>
|
||||||
|
<!-- header : e-->
|
||||||
|
|
||||||
|
<div class="container-fluid" id="vueApp">
|
||||||
|
<h3 class="mt-3 mb-3">고객정보 등록</h3>
|
||||||
|
|
||||||
|
<h5 class="mt-3 mb-3">거래처 정보</h5>
|
||||||
|
<div class="border border-2 mb-3">
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="name" class="col-sm-1 col-form-label mb-3 pt-3">날짜</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="name" value="22-12-29" tabindex="1">
|
||||||
|
</div>
|
||||||
|
<label for="birthday" class="col-sm-1 col-form-label mb-3 pt-3">거래처</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="birthday" value="강한" tabindex="2">
|
||||||
|
</div>
|
||||||
|
<label for="phoneNumber" class="col-sm-1 col-form-label mb-3 pt-3">통신사</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="phoneNumber" value="LGT" tabindex="3">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h5 class="mt-3 mb-3">고객정보 등록</h5>
|
||||||
|
<div class="border border-2 mb-3">
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="name" class="col-sm-2 col-form-label mb-3 pt-3">이름</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="name" value="한강욱" tabindex="1">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0 m-0"></div>
|
||||||
|
<label for="pname" class="col-sm-2 col-form-label mb-3 pt-3">법대이름</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="pname" value="황민창" tabindex="4">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="birthday" class="col-sm-2 col-form-label mb-3">생년월일</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="birthday" value="940228" tabindex="2">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0 m-0"></div>
|
||||||
|
<label for="pbirthday" class="col-sm-2 col-form-label mb-3">법대생년월일</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="pbirthday" value="930926" tabindex="5">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="phoneNumber" class="col-sm-2 col-form-label mb-3">핸드폰번호</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="phoneNumber" value="01084068282" tabindex="3">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0"></div>
|
||||||
|
<label for="pphoneNumber" class="col-sm-2 col-form-label mb-3">법대핸드폰번호</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="pphoneNumber" value="01084068282" tabindex="6">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h5 class="mt-3 mb-3">개통정보</h5>
|
||||||
|
<div class="border border-2 mb-3">
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="name" class="col-sm-2 col-form-label mb-3 pt-3">할부개월</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="name" value="24">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0 m-0"></div>
|
||||||
|
<label for="pname" class="col-sm-2 col-form-label mb-3 pt-3">펫네임</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="pname" value="아이폰12">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="birthday" class="col-sm-2 col-form-label mb-3">일련번호</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="birthday" value="JYNWTXQC7W">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0 m-0"></div>
|
||||||
|
<label for="pbirthday" class="col-sm-2 col-form-label mb-3">가입구분</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="pbirthday" value="MNP">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="phoneNumber" class="col-sm-2 col-form-label mb-3">부가서비스</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="phoneNumber" value="V컬러링">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0"></div>
|
||||||
|
<label for="pphoneNumber" class="col-sm-2 col-form-label mb-3">요금제</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="pphoneNumber" value="5GX 프라임">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h5 class="mt-3 mb-3">리베이트</h5>
|
||||||
|
<div class="border border-2 mb-3">
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="name" class="col-sm-2 col-form-label mb-3 pt-3">계산식</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="name" value="1+2+4+5+6-2">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0 m-0"></div>
|
||||||
|
<label for="pname" class="col-sm-2 col-form-label mb-3 pt-3">액면R/B</label>
|
||||||
|
<div class="col-sm-3 mb-3 pt-3">
|
||||||
|
<input type="text" class="form-control" id="pname" readonly value="160,000">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="birthday" class="col-sm-2 col-form-label mb-3">고객현금</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="birthday" value="130,000">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0 m-0"></div>
|
||||||
|
<label for="pbirthday" class="col-sm-2 col-form-label mb-3">유심비</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="pbirthday" readonly value="7,700">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="birthday" class="col-sm-2 col-form-label mb-3">소개비</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="birthday" value="10,000">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0 m-0"></div>
|
||||||
|
<label for="pbirthday" class="col-sm-2 col-form-label mb-3">페이백(P/B)</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="pbirthday" readonly value="30,000">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row d-flex justify-content-center">
|
||||||
|
<label for="phoneNumber" class="col-sm-2 col-form-label mb-3">지급예정일자</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="phoneNumber" value="22-12-30">
|
||||||
|
</div>
|
||||||
|
<div class="vr p-0"></div>
|
||||||
|
<label for="pphoneNumber" class="col-sm-2 col-form-label mb-3">페이백(P/B)</label>
|
||||||
|
<div class="col-sm-3 mb-3">
|
||||||
|
<input type="text" class="form-control" id="pphoneNumber" value="30,000">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- container : e-->
|
||||||
|
<script src="/res/front/js/biz/home/index.js?v=${timestamp}"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<jsp:include page="/WEB-INF/view/include/sample/inc_head.jsp"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- wrapper : s -->
|
||||||
|
<div class="d-flex" id="wrapper">
|
||||||
|
<!-- Sidebar : s-->
|
||||||
|
<jsp:include page="/WEB-INF/view/include/sample/inc_body_sidebar.jsp"/>
|
||||||
|
<!-- Sidebar : e-->
|
||||||
|
|
||||||
|
<!-- container : s-->
|
||||||
|
<div id="container">
|
||||||
|
<!-- header : s-->
|
||||||
|
<jsp:include page="/WEB-INF/view/include/sample/inc_body_header.jsp"/>
|
||||||
|
<!-- header : e-->
|
||||||
|
|
||||||
|
<div class="container-fluid" id="vueApp">
|
||||||
|
<h1 class="mt-4">Simple Sidebar</h1>
|
||||||
|
<p>The starting state of the menu will appear collapsed on smaller screens, and will appear non-collapsed on larger screens. When toggled using the button below, the menu will change.</p>
|
||||||
|
<p>
|
||||||
|
Make sure to keep all page content within the
|
||||||
|
<code>#page-content-wrapper</code>
|
||||||
|
. The top navbar is optional, and just for demonstration. Just create an element with the
|
||||||
|
<code>#sidebarToggle</code>
|
||||||
|
ID which will toggle the menu when clicked.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- container : e-->
|
||||||
|
<script src="/res/front/js/biz/home/sample.js?v=${timestamp}"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -6,11 +6,15 @@
|
|||||||
<div class="border-end bg-white" id="sidebar-wrapper">
|
<div class="border-end bg-white" id="sidebar-wrapper">
|
||||||
<div class="sidebar-heading border-bottom bg-light">Start Bootstrap</div>
|
<div class="sidebar-heading border-bottom bg-light">Start Bootstrap</div>
|
||||||
<div class="list-group list-group-flush">
|
<div class="list-group list-group-flush">
|
||||||
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Dashboard</a>
|
<c:forEach var="x" items="${menuList}" varStatus="status">
|
||||||
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Shortcuts</a>
|
<c:choose>
|
||||||
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Overview</a>
|
<c:when test= "${x.upprId == 0 && x.url == null}">
|
||||||
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Events</a>
|
|
||||||
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Profile</a>
|
</c:when>
|
||||||
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Status</a>
|
<c:when test= "${x.upprId == 0 && x.url != null}">
|
||||||
|
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="${x.url}">${x.name}</a>
|
||||||
|
</c:when>
|
||||||
|
</c:choose>
|
||||||
|
</c:forEach>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||||
|
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||||
|
|
||||||
|
<footer class="hidden-xs">
|
||||||
|
<div class="container">
|
||||||
|
<h6>Copyright© 2023 kuhan. All rights reserved.</h6>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||||
|
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||||
|
<c:set var="urlPath" value="${requestScope['javax.servlet.forward.servlet_path']}" />
|
||||||
|
|
||||||
|
<nav class="navbar navbar-expand-lg navbar-light bg-light border-bottom">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<button class="btn btn-primary" id="sidebarToggle">Toggle Menu</button>
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
<ul class="navbar-nav ms-auto mt-2 mt-lg-0">
|
||||||
|
<li class="nav-item active"><a class="nav-link" href="#!">Home</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="#!">Link</a></li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" id="navbarDropdown" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</a>
|
||||||
|
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
|
||||||
|
<a class="dropdown-item" href="#!">Action</a>
|
||||||
|
<a class="dropdown-item" href="#!">Another action</a>
|
||||||
|
<div class="dropdown-divider"></div>
|
||||||
|
<a class="dropdown-item" href="#!">Something else here</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||||
|
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||||
|
|
||||||
|
<div class="border-end bg-white" id="sidebar-wrapper">
|
||||||
|
<div class="sidebar-heading border-bottom bg-light">Start Bootstrap</div>
|
||||||
|
<div class="list-group list-group-flush">
|
||||||
|
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Dashboard</a>
|
||||||
|
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Shortcuts</a>
|
||||||
|
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Overview</a>
|
||||||
|
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Events</a>
|
||||||
|
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Profile</a>
|
||||||
|
<a class="list-group-item list-group-item-action list-group-item-light p-3" href="#!">Status</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
<%@ page contentType="text/html;charset=UTF-8" %>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
|
||||||
|
<title>샘플</title>
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="/res/front/css/bootstrap.min.css?v=<%=java.time.LocalDateTime.now()%>">
|
||||||
|
<link rel="stylesheet" type="text/css" href="/res/front/css/default.css?v=<%=java.time.LocalDateTime.now()%>">
|
||||||
|
|
||||||
|
<script type="text/javascript" src="/res/front/js/lib/axios.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/res/front/js/lib/axios-config.js?v=1"></script>
|
||||||
|
<script type="text/javascript" src="/res/front/js/lib/vue.js?v=<%=java.time.LocalDateTime.now()%>"></script>
|
||||||
|
<script type="text/javascript" src="/res/front/js/lib/vue.common.js?v=<%=java.time.LocalDateTime.now()%>"></script>
|
||||||
|
<script type="text/javascript" src="/res/front/js/lib/bootstrap.bundle.min.js?v=<%=java.time.LocalDateTime.now()%>"></script>
|
||||||
|
<script type="text/javascript" src="/res/front/js/lib/jquery-3.5.1.min.js?v=<%=java.time.LocalDateTime.now()%>"></script>
|
||||||
|
|
||||||
|
<script src="/res/front/js/biz/common/common.js"></script>
|
||||||
|
<script src="/res/front/js/biz/api/phone-service.js?v=${timestamp}"></script>
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
<%@ page contentType="text/html;charset=UTF-8" %>
|
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ko">
|
|
||||||
<head>
|
|
||||||
<%-- <jsp:include page="/WEB-INF/view/include/inc_home_head.jsp"/>
|
|
||||||
<jsp:include page="/WEB-INF/view/include/inc_head_script.jsp"/> --%>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
|
|
||||||
<h1> INDEX </h1>
|
|
||||||
|
|
||||||
<%-- <jsp:include page="/WEB-INF/view/include/inc_portal_body_footer.jsp"/>
|
|
||||||
<jsp:include page="/WEB-INF/view/include/inc_home_body_popup.jsp"/> --%>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Reference in New Issue
Block a user