rename table to attached_file, attached_image
This commit is contained in:
parent
0ab913e0a9
commit
3f00923543
@ -111,7 +111,7 @@ public class ApplicationController
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/add-image", method = RequestMethod.POST)
|
@RequestMapping(value = "/add-image", method = RequestMethod.POST)
|
||||||
public ViewModel<ApplicationImage> addImage(
|
public ViewModel<AttachedImage> addImage(
|
||||||
@Valid ApplicationImageFormForCreate form) {
|
@Valid ApplicationImageFormForCreate form) {
|
||||||
Assert.state(!form.getImage().isEmpty(), "Image content is empty");
|
Assert.state(!form.getImage().isEmpty(), "Image content is empty");
|
||||||
form.setAdmin(getAuthUser().getUser().getData().isAdmin());
|
form.setAdmin(getAuthUser().getUser().getData().isAdmin());
|
||||||
@ -131,7 +131,7 @@ public class ApplicationController
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/add-attachment", method = RequestMethod.POST)
|
@RequestMapping(value = "/add-attachment", method = RequestMethod.POST)
|
||||||
public ViewModel<ApplicationAttachment> addAttachment(
|
public ViewModel<AttachedFile> addAttachment(
|
||||||
@Valid ApplicationAttachmentFormForCreate form) {
|
@Valid ApplicationAttachmentFormForCreate form) {
|
||||||
Assert.state(!form.getAttachment().isEmpty(), "Image content is empty");
|
Assert.state(!form.getAttachment().isEmpty(), "Image content is empty");
|
||||||
form.setAdmin(getAuthUser().getUser().getData().isAdmin());
|
form.setAdmin(getAuthUser().getUser().getData().isAdmin());
|
||||||
|
@ -6,7 +6,7 @@ import me.chyxion.tigon.model.ViewModel;
|
|||||||
import com.pudonghot.ambition.crm.model.User;
|
import com.pudonghot.ambition.crm.model.User;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import me.chyxion.tigon.shiro.service.AuthService;
|
import me.chyxion.tigon.shiro.service.AuthService;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.service.UserService;
|
import com.pudonghot.ambition.crm.service.UserService;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
@ -6,7 +6,7 @@ import me.chyxion.tigon.model.BaseModel;
|
|||||||
import me.chyxion.tigon.model.ViewModel;
|
import me.chyxion.tigon.model.ViewModel;
|
||||||
import me.chyxion.tigon.model.ListResult;
|
import me.chyxion.tigon.model.ListResult;
|
||||||
import me.chyxion.tigon.service.BaseQueryService;
|
import me.chyxion.tigon.service.BaseQueryService;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
import com.pudonghot.ambition.crm.model.User;
|
import com.pudonghot.ambition.crm.model.User;
|
||||||
import com.pudonghot.ambition.crm.model.HomePage;
|
import com.pudonghot.ambition.crm.model.HomePage;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import org.apache.shiro.authz.annotation.RequiresRoles;
|
import org.apache.shiro.authz.annotation.RequiresRoles;
|
||||||
import com.pudonghot.ambition.crm.service.HomePageService;
|
import com.pudonghot.ambition.crm.service.HomePageService;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
@ -14,7 +14,7 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import com.pudonghot.ambition.crm.model.User;
|
import com.pudonghot.ambition.crm.model.User;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.service.UserService;
|
import com.pudonghot.ambition.crm.service.UserService;
|
||||||
import org.apache.shiro.authz.annotation.RequiresRoles;
|
import org.apache.shiro.authz.annotation.RequiresRoles;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
@ -5,9 +5,9 @@ import java.util.List;
|
|||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.model.Application;
|
import com.pudonghot.ambition.crm.model.Application;
|
||||||
|
import com.pudonghot.ambition.crm.model.AttachedImage;
|
||||||
import me.chyxion.tigon.service.BaseCrudByFormService;
|
import me.chyxion.tigon.service.BaseCrudByFormService;
|
||||||
import com.pudonghot.ambition.crm.model.ApplicationImage;
|
import com.pudonghot.ambition.crm.model.AttachedFile;
|
||||||
import com.pudonghot.ambition.crm.model.ApplicationAttachment;
|
|
||||||
import com.pudonghot.ambition.crm.form.update.ApplicationFormForUpdate;
|
import com.pudonghot.ambition.crm.form.update.ApplicationFormForUpdate;
|
||||||
import com.pudonghot.ambition.crm.form.create.ApplicationFormForCreate;
|
import com.pudonghot.ambition.crm.form.create.ApplicationFormForCreate;
|
||||||
import com.pudonghot.ambition.crm.form.create.ApplicationImageFormForCreate;
|
import com.pudonghot.ambition.crm.form.create.ApplicationImageFormForCreate;
|
||||||
@ -27,7 +27,7 @@ public interface ApplicationService
|
|||||||
* add image
|
* add image
|
||||||
* @param form form
|
* @param form form
|
||||||
*/
|
*/
|
||||||
ApplicationImage addImage(@Valid ApplicationImageFormForCreate form);
|
AttachedImage addImage(@Valid ApplicationImageFormForCreate form);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* remove image
|
* remove image
|
||||||
@ -48,7 +48,7 @@ public interface ApplicationService
|
|||||||
* add attachment
|
* add attachment
|
||||||
* @param form form
|
* @param form form
|
||||||
*/
|
*/
|
||||||
ApplicationAttachment addAttachment(@Valid ApplicationAttachmentFormForCreate form);
|
AttachedFile addAttachment(@Valid ApplicationAttachmentFormForCreate form);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* remove attachment
|
* remove attachment
|
||||||
|
@ -3,7 +3,7 @@ package com.pudonghot.ambition.crm.service;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import me.chyxion.tigon.model.ViewModel;
|
import me.chyxion.tigon.model.ViewModel;
|
||||||
import javax.validation.constraints.Min;
|
import javax.validation.constraints.Min;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.model.CustomerIssue;
|
import com.pudonghot.ambition.crm.model.CustomerIssue;
|
||||||
import me.chyxion.tigon.service.BaseCrudByFormService;
|
import me.chyxion.tigon.service.BaseCrudByFormService;
|
||||||
import com.pudonghot.ambition.crm.form.create.CustomerIssueFormForCreate;
|
import com.pudonghot.ambition.crm.form.create.CustomerIssueFormForCreate;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.pudonghot.ambition.crm.service;
|
package com.pudonghot.ambition.crm.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import org.hibernate.validator.constraints.NotEmpty;
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
import me.chyxion.tigon.service.BaseCrudByFormService;
|
import me.chyxion.tigon.service.BaseCrudByFormService;
|
||||||
import com.pudonghot.ambition.crm.model.CustomerProperty;
|
import com.pudonghot.ambition.crm.model.CustomerProperty;
|
||||||
|
@ -4,7 +4,7 @@ import java.io.File;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import com.pudonghot.ambition.crm.model.Customer;
|
import com.pudonghot.ambition.crm.model.Customer;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import me.chyxion.tigon.service.BaseCrudByFormService;
|
import me.chyxion.tigon.service.BaseCrudByFormService;
|
||||||
import com.pudonghot.ambition.crm.form.create.CustomerFormForCreate;
|
import com.pudonghot.ambition.crm.form.create.CustomerFormForCreate;
|
||||||
import com.pudonghot.ambition.crm.form.update.CustomerFormForUpdate;
|
import com.pudonghot.ambition.crm.form.update.CustomerFormForUpdate;
|
||||||
|
@ -2,7 +2,7 @@ package com.pudonghot.ambition.crm.service;
|
|||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import me.chyxion.tigon.service.BaseCrudByFormService;
|
import me.chyxion.tigon.service.BaseCrudByFormService;
|
||||||
import com.pudonghot.ambition.crm.model.CustomerYearToDateSale;
|
import com.pudonghot.ambition.crm.model.CustomerYearToDateSale;
|
||||||
import com.pudonghot.ambition.crm.form.create.CustomerYearToDateSaleFormForCreate;
|
import com.pudonghot.ambition.crm.form.create.CustomerYearToDateSaleFormForCreate;
|
||||||
|
@ -2,7 +2,7 @@ package com.pudonghot.ambition.crm.service;
|
|||||||
|
|
||||||
import me.chyxion.tigon.model.ViewModel;
|
import me.chyxion.tigon.model.ViewModel;
|
||||||
import com.pudonghot.ambition.crm.model.HomePage;
|
import com.pudonghot.ambition.crm.model.HomePage;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import me.chyxion.tigon.service.BaseCrudByFormService;
|
import me.chyxion.tigon.service.BaseCrudByFormService;
|
||||||
import com.pudonghot.ambition.crm.form.create.HomePageFormForCreate;
|
import com.pudonghot.ambition.crm.form.create.HomePageFormForCreate;
|
||||||
import com.pudonghot.ambition.crm.form.update.HomePageFormForUpdate;
|
import com.pudonghot.ambition.crm.form.update.HomePageFormForUpdate;
|
||||||
|
@ -5,7 +5,7 @@ import javax.validation.Valid;
|
|||||||
import me.chyxion.tigon.model.ViewModel;
|
import me.chyxion.tigon.model.ViewModel;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import com.pudonghot.ambition.crm.model.User;
|
import com.pudonghot.ambition.crm.model.User;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import me.chyxion.tigon.service.BaseCrudByFormService;
|
import me.chyxion.tigon.service.BaseCrudByFormService;
|
||||||
import com.pudonghot.ambition.crm.form.create.UserFormForCreate;
|
import com.pudonghot.ambition.crm.form.create.UserFormForCreate;
|
||||||
import com.pudonghot.ambition.crm.form.update.UserFormForUpdate;
|
import com.pudonghot.ambition.crm.form.update.UserFormForUpdate;
|
||||||
|
@ -11,7 +11,7 @@ import javax.validation.constraints.Min;
|
|||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import me.chyxion.tigon.service.BaseCrudService;
|
import me.chyxion.tigon.service.BaseCrudService;
|
||||||
import com.pudonghot.ambition.crm.model.WeekGoal;
|
import com.pudonghot.ambition.crm.model.WeekGoal;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.form.update.WeekGoalFormForUpdate;
|
import com.pudonghot.ambition.crm.form.update.WeekGoalFormForUpdate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -46,9 +46,9 @@ public class ApplicationServiceSupport
|
|||||||
implements ApplicationService {
|
implements ApplicationService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApplicationImageMapper imageMapper;
|
private AttachedImageMapper imageMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApplicationAttachmentMapper attachmentMapper;
|
private AttachedFileMapper attachmentMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private DiskFileApi fileApi;
|
private DiskFileApi fileApi;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -72,8 +72,8 @@ public class ApplicationServiceSupport
|
|||||||
final Date now = new Date();
|
final Date now = new Date();
|
||||||
application.setDateUpdated(now);
|
application.setDateUpdated(now);
|
||||||
|
|
||||||
uploadFiles(id, 1, form.getImages(), form.getImageTitles(), form.getCreatedBy(), ApplicationImage::new, imageMapper::insert);
|
uploadFiles(id, 1, form.getImages(), form.getImageTitles(), form.getCreatedBy(), AttachedImage::new, imageMapper::insert);
|
||||||
uploadFiles(id, 1, form.getAttachments(), form.getAttachmentTitles(), form.getCreatedBy(), ApplicationAttachment::new, attachmentMapper::insert);
|
uploadFiles(id, 1, form.getAttachments(), form.getAttachmentTitles(), form.getCreatedBy(), AttachedFile::new, attachmentMapper::insert);
|
||||||
mapper.insert(application);
|
mapper.insert(application);
|
||||||
return toViewModel(application);
|
return toViewModel(application);
|
||||||
}
|
}
|
||||||
@ -130,8 +130,8 @@ public class ApplicationServiceSupport
|
|||||||
@Override
|
@Override
|
||||||
public ViewModel<Application> findViewModel(final String id) {
|
public ViewModel<Application> findViewModel(final String id) {
|
||||||
final Search search =
|
final Search search =
|
||||||
new Search(ApplicationImage.APPLICATION_ID, id)
|
new Search(AttachedImage.OWNER_ID, id)
|
||||||
.asc(ApplicationImage.SORT);
|
.asc(AttachedImage.SORT);
|
||||||
|
|
||||||
return super.findViewModel(id)
|
return super.findViewModel(id)
|
||||||
.setAttr("images", imageMapper.list(search))
|
.setAttr("images", imageMapper.list(search))
|
||||||
@ -142,7 +142,7 @@ public class ApplicationServiceSupport
|
|||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ApplicationImage addImage(final ApplicationImageFormForCreate form) {
|
public AttachedImage addImage(final ApplicationImageFormForCreate form) {
|
||||||
final String applicationId = form.getApplicationId();
|
final String applicationId = form.getApplicationId();
|
||||||
final String createdBy = form.getCreatedBy();
|
final String createdBy = form.getCreatedBy();
|
||||||
validatePerm(applicationId, createdBy, form.isAdmin());
|
validatePerm(applicationId, createdBy, form.isAdmin());
|
||||||
@ -151,7 +151,7 @@ public class ApplicationServiceSupport
|
|||||||
new MultipartFile[] {form.getImage()},
|
new MultipartFile[] {form.getImage()},
|
||||||
new String[] {form.getNote()},
|
new String[] {form.getNote()},
|
||||||
createdBy,
|
createdBy,
|
||||||
ApplicationImage::new,
|
AttachedImage::new,
|
||||||
imageMapper::insert).iterator().next();
|
imageMapper::insert).iterator().next();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ public class ApplicationServiceSupport
|
|||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ApplicationAttachment addAttachment(final ApplicationAttachmentFormForCreate form) {
|
public AttachedFile addAttachment(final ApplicationAttachmentFormForCreate form) {
|
||||||
final String applicationId = form.getApplicationId();
|
final String applicationId = form.getApplicationId();
|
||||||
final String createdBy = form.getCreatedBy();
|
final String createdBy = form.getCreatedBy();
|
||||||
validatePerm(applicationId, createdBy, form.isAdmin());
|
validatePerm(applicationId, createdBy, form.isAdmin());
|
||||||
@ -185,7 +185,7 @@ public class ApplicationServiceSupport
|
|||||||
new MultipartFile[] {form.getAttachment()},
|
new MultipartFile[] {form.getAttachment()},
|
||||||
new String[] {form.getNote()},
|
new String[] {form.getNote()},
|
||||||
createdBy,
|
createdBy,
|
||||||
ApplicationAttachment::new,
|
AttachedFile::new,
|
||||||
attachmentMapper::insert).iterator().next();
|
attachmentMapper::insert).iterator().next();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +227,7 @@ public class ApplicationServiceSupport
|
|||||||
Assert.state(customerApplicationMapper.count(
|
Assert.state(customerApplicationMapper.count(
|
||||||
new Search(CustomerApplication.APPLICATION_ID, id)) == 0,
|
new Search(CustomerApplication.APPLICATION_ID, id)) == 0,
|
||||||
"Application [" + id + "] is in using");
|
"Application [" + id + "] is in using");
|
||||||
final Search appFileSearch = new Search(ApplicationImage.APPLICATION_ID, id);
|
final Search appFileSearch = new Search(AttachedImage.OWNER_ID, id);
|
||||||
imageMapper.list(appFileSearch).forEach(
|
imageMapper.list(appFileSearch).forEach(
|
||||||
image -> fileApi.deleteById(image.getFileId()));
|
image -> fileApi.deleteById(image.getFileId()));
|
||||||
imageMapper.delete(appFileSearch);
|
imageMapper.delete(appFileSearch);
|
||||||
@ -239,7 +239,7 @@ public class ApplicationServiceSupport
|
|||||||
return app;
|
return app;
|
||||||
}
|
}
|
||||||
|
|
||||||
private <T extends ApplicationFile> List<T> uploadFiles(
|
private <T extends Attachment> List<T> uploadFiles(
|
||||||
final String applicationId,
|
final String applicationId,
|
||||||
int sort,
|
int sort,
|
||||||
final MultipartFile[] files,
|
final MultipartFile[] files,
|
||||||
@ -266,7 +266,7 @@ public class ApplicationServiceSupport
|
|||||||
FilenameUtils.getExtension(originalFilename),
|
FilenameUtils.getExtension(originalFilename),
|
||||||
originalFilename);
|
originalFilename);
|
||||||
appFile.setId(fileId);
|
appFile.setId(fileId);
|
||||||
appFile.setApplicationId(applicationId);
|
appFile.setOwnerId(applicationId);
|
||||||
appFile.setFileId(fileInfo.getId());
|
appFile.setFileId(fileInfo.getId());
|
||||||
appFile.setUrl(fileInfo.getUrl());
|
appFile.setUrl(fileInfo.getUrl());
|
||||||
appFile.setSort(sort++);
|
appFile.setSort(sort++);
|
||||||
@ -291,7 +291,7 @@ public class ApplicationServiceSupport
|
|||||||
return appFiles;
|
return appFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
private <T extends ApplicationFile> void updateFile(
|
private <T extends Attachment> void updateFile(
|
||||||
final ApplicationFileFormForUpdate form,
|
final ApplicationFileFormForUpdate form,
|
||||||
final Function<String, T> finder,
|
final Function<String, T> finder,
|
||||||
final Function<String, List<T>> listSort,
|
final Function<String, List<T>> listSort,
|
||||||
@ -300,7 +300,7 @@ public class ApplicationServiceSupport
|
|||||||
final String id = form.getId();
|
final String id = form.getId();
|
||||||
final T appImage = finder.apply(id);
|
final T appImage = finder.apply(id);
|
||||||
Assert.state(appImage != null, "No application file [" + id + "] found");
|
Assert.state(appImage != null, "No application file [" + id + "] found");
|
||||||
final String applicationId = appImage.getApplicationId();
|
final String applicationId = appImage.getOwnerId();
|
||||||
final String updatedBy = form.getUpdatedBy();
|
final String updatedBy = form.getUpdatedBy();
|
||||||
validatePerm(applicationId, updatedBy, form.isAdmin());
|
validatePerm(applicationId, updatedBy, form.isAdmin());
|
||||||
|
|
||||||
@ -326,7 +326,7 @@ public class ApplicationServiceSupport
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private <T extends ApplicationFile> void removeFile(
|
private <T extends Attachment> void removeFile(
|
||||||
final String id,
|
final String id,
|
||||||
final String userId,
|
final String userId,
|
||||||
final boolean admin,
|
final boolean admin,
|
||||||
@ -335,7 +335,7 @@ public class ApplicationServiceSupport
|
|||||||
final Function<String, Integer> sortUpdater) {
|
final Function<String, Integer> sortUpdater) {
|
||||||
final T appFile = finder.apply(id);
|
final T appFile = finder.apply(id);
|
||||||
Assert.state(appFile != null, "No application file [" + id + "] found");
|
Assert.state(appFile != null, "No application file [" + id + "] found");
|
||||||
final String applicationId = appFile.getApplicationId();
|
final String applicationId = appFile.getOwnerId();
|
||||||
validatePerm(applicationId, userId, admin);
|
validatePerm(applicationId, userId, admin);
|
||||||
fileApi.delete(fileFolder(applicationId) + "/" + id);
|
fileApi.delete(fileFolder(applicationId) + "/" + id);
|
||||||
deleter.apply(id);
|
deleter.apply(id);
|
||||||
|
@ -7,7 +7,7 @@ import javax.validation.constraints.Min;
|
|||||||
import me.chyxion.tigon.model.ViewModel;
|
import me.chyxion.tigon.model.ViewModel;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.model.CustomerIssue;
|
import com.pudonghot.ambition.crm.model.CustomerIssue;
|
||||||
import com.pudonghot.ambition.crm.service.UserService;
|
import com.pudonghot.ambition.crm.service.UserService;
|
||||||
import com.pudonghot.ambition.crm.mapper.CustomerIssueMapper;
|
import com.pudonghot.ambition.crm.mapper.CustomerIssueMapper;
|
||||||
|
@ -8,7 +8,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import com.pudonghot.ambition.crm.model.User;
|
import com.pudonghot.ambition.crm.model.User;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.pudonghot.ambition.crm.util.Sha512Utils;
|
import com.pudonghot.ambition.crm.util.Sha512Utils;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.mapper.UserMapper;
|
import com.pudonghot.ambition.crm.mapper.UserMapper;
|
||||||
import com.pudonghot.ambition.crm.service.UserService;
|
import com.pudonghot.ambition.crm.service.UserService;
|
||||||
import com.pudonghot.ambition.crm.form.create.UserFormForCreate;
|
import com.pudonghot.ambition.crm.form.create.UserFormForCreate;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.pudonghot.ambition.crm;
|
package com.pudonghot.ambition.crm;
|
||||||
|
|
||||||
|
import com.pudonghot.ambition.crm.model.AttachedImage;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
import org.joda.time.Interval;
|
import org.joda.time.Interval;
|
||||||
@ -10,7 +11,6 @@ import java.text.ParseException;
|
|||||||
import org.joda.time.DateTimeConstants;
|
import org.joda.time.DateTimeConstants;
|
||||||
import org.apache.commons.lang3.time.DateUtils;
|
import org.apache.commons.lang3.time.DateUtils;
|
||||||
import com.pudonghot.ambition.crm.util.AmDateUtil;
|
import com.pudonghot.ambition.crm.util.AmDateUtil;
|
||||||
import com.pudonghot.ambition.crm.model.ApplicationImage;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
@ -96,7 +96,7 @@ public class TestDriver {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFloat() {
|
public void testFloat() {
|
||||||
ApplicationImage image = new ApplicationImage();
|
AttachedImage image = new AttachedImage();
|
||||||
image.setUrl("http://www.image.com");
|
image.setUrl("http://www.image.com");
|
||||||
int sortOld = 2;
|
int sortOld = 2;
|
||||||
image.setSort(sortOld - 1.5f);
|
image.setSort(sortOld - 1.5f);
|
||||||
|
@ -12,10 +12,17 @@ get_real_path() {
|
|||||||
f=`dirname "$f"`/"$link"
|
f=`dirname "$f"`/"$link"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
eval "$2"="'$f'"
|
echo "$f"
|
||||||
}
|
}
|
||||||
|
|
||||||
get_real_path "$0" prg_path
|
if [ "$1" = "prod" ]; then
|
||||||
|
SERVER=lemo@116.62.189.211
|
||||||
|
else
|
||||||
|
echo "Profile required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
prg_path=$(get_real_path "$0")
|
||||||
echo "Script Path [$prg_path]"
|
echo "Script Path [$prg_path]"
|
||||||
PROJECT_HOME=$(dirname $prg_path)
|
PROJECT_HOME=$(dirname $prg_path)
|
||||||
echo "Project Home [$PROJECT_HOME]"
|
echo "Project Home [$PROJECT_HOME]"
|
||||||
@ -23,18 +30,7 @@ cd "$PROJECT_HOME"
|
|||||||
mvn clean package -o -pl crm -am -DskipTests -Ptest
|
mvn clean package -o -pl crm -am -DskipTests -Ptest
|
||||||
|
|
||||||
SERVICE_HOME=/data/program/lemo-crm
|
SERVICE_HOME=/data/program/lemo-crm
|
||||||
echo "Service Home [$SERVICE_HOME]"
|
echo "Service Home [$SERVICE_HOME], Server [$SERVER]"
|
||||||
# SERVER=ambition@101.236.35.13
|
|
||||||
# SERVER=root@116.62.189.211
|
|
||||||
|
|
||||||
if [ "$1" = "prod" ]; then
|
|
||||||
SERVER=lemo@116.62.189.211
|
|
||||||
else
|
|
||||||
SERVER=ambition@101.236.35.13
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$SERVER $SERVICE_HOME/bin/stop.sh"
|
|
||||||
ssh "$SERVER" "$SERVICE_HOME/bin/stop.sh"
|
|
||||||
|
|
||||||
echo "$SERVER [ -f $SERVICE_HOME/lib/main.jar ] && mv $SERVICE_HOME/lib/main.jar $SERVICE_HOME/main_prev.jar"
|
echo "$SERVER [ -f $SERVICE_HOME/lib/main.jar ] && mv $SERVICE_HOME/lib/main.jar $SERVICE_HOME/main_prev.jar"
|
||||||
ssh "$SERVER" "[ -f $SERVICE_HOME/lib/main.jar ] && mv $SERVICE_HOME/lib/main.jar $SERVICE_HOME/main_prev.jar"
|
ssh "$SERVER" "[ -f $SERVICE_HOME/lib/main.jar ] && mv $SERVICE_HOME/lib/main.jar $SERVICE_HOME/main_prev.jar"
|
||||||
@ -42,6 +38,9 @@ ssh "$SERVER" "[ -f $SERVICE_HOME/lib/main.jar ] && mv $SERVICE_HOME/lib/main.ja
|
|||||||
echo "$PROJECT_HOME/crm/target/ambition-crm.jar $SERVER:$SERVICE_HOME/lib/main.jar"
|
echo "$PROJECT_HOME/crm/target/ambition-crm.jar $SERVER:$SERVICE_HOME/lib/main.jar"
|
||||||
scp "$PROJECT_HOME/crm/target/ambition-crm.jar" "$SERVER:$SERVICE_HOME/lib/main.jar"
|
scp "$PROJECT_HOME/crm/target/ambition-crm.jar" "$SERVER:$SERVICE_HOME/lib/main.jar"
|
||||||
|
|
||||||
|
echo "$SERVER $SERVICE_HOME/bin/stop.sh"
|
||||||
|
ssh "$SERVER" "$SERVICE_HOME/bin/stop.sh"
|
||||||
|
|
||||||
echo "$SERVER $SERVICE_HOME/bin/start.sh"
|
echo "$SERVER $SERVICE_HOME/bin/start.sh"
|
||||||
ssh "$SERVER" "$SERVICE_HOME/bin/start.sh"
|
ssh "$SERVER" "$SERVICE_HOME/bin/start.sh"
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ import java.util.List;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import javax.validation.constraints.Min;
|
import javax.validation.constraints.Min;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -6,7 +6,7 @@ import java.io.InputStream;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.pudonghot.ambition.file;
|
package com.pudonghot.ambition.file;
|
||||||
|
|
||||||
import com.pudonghot.ambition.crm.model.FileInfo;
|
import com.pudonghot.ambition.crm.model.FileInfo;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
@ -6,11 +6,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>crm-mapper</artifactId>
|
<artifactId>crm-mapper</artifactId>
|
||||||
<name>Ambition Mapper</name>
|
<name>Ambition Mapper</name>
|
||||||
<packaging>${packaging}</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<properties>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.pudonghot.ambition</groupId>
|
<groupId>com.pudonghot.ambition</groupId>
|
||||||
@ -20,11 +16,6 @@
|
|||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
|
||||||
<groupId>javax.servlet</groupId>
|
|
||||||
<artifactId>javax.servlet-api</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.pudonghot.ambition</groupId>
|
<groupId>com.pudonghot.ambition</groupId>
|
||||||
<artifactId>crm-model</artifactId>
|
<artifactId>crm-model</artifactId>
|
||||||
@ -54,11 +45,6 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- Test And Optional Dependencies -->
|
<!-- Test And Optional Dependencies -->
|
||||||
<dependency>
|
|
||||||
<groupId>javax.el</groupId>
|
|
||||||
<artifactId>javax.el-api</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework</groupId>
|
<groupId>org.springframework</groupId>
|
||||||
<artifactId>spring-test</artifactId>
|
<artifactId>spring-test</artifactId>
|
||||||
@ -69,35 +55,19 @@
|
|||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-log4j2</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.aspectj</groupId>
|
<groupId>org.aspectj</groupId>
|
||||||
<artifactId>aspectjrt</artifactId>
|
<artifactId>aspectjrt</artifactId>
|
||||||
<version>1.8.0</version>
|
<scope>test</scope>
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.aspectj</groupId>
|
<groupId>org.aspectj</groupId>
|
||||||
<artifactId>aspectjweaver</artifactId>
|
<artifactId>aspectjweaver</artifactId>
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>cglib</groupId>
|
|
||||||
<artifactId>cglib</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
|
||||||
<artifactId>log4j-slf4j-impl</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
|
||||||
<artifactId>log4j-core</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>jcl-over-slf4j</artifactId>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
@ -123,49 +93,6 @@
|
|||||||
<value>true</value>
|
<value>true</value>
|
||||||
</property>
|
</property>
|
||||||
</activation>
|
</activation>
|
||||||
<properties>
|
|
||||||
<packaging>war</packaging>
|
|
||||||
<maven.tomcat.port>8088</maven.tomcat.port>
|
|
||||||
<log.dir>${project.basedir}/.log</log.dir>
|
|
||||||
<log.level>DEBUG</log.level>
|
|
||||||
<log.appender>
|
|
||||||
<![CDATA[
|
|
||||||
<AppenderRef ref="File" level="${log.level}" />
|
|
||||||
<AppenderRef ref="Console" level="${log.level}" />
|
|
||||||
]]>
|
|
||||||
</log.appender>
|
|
||||||
</properties>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>me.chyxion.tigon</groupId>
|
|
||||||
<artifactId>tigon-codegen</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>me.chyxion.tigon</groupId>
|
|
||||||
<artifactId>tigon-props-config</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>me.chyxion.tigon</groupId>
|
|
||||||
<artifactId>tigon-web</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
|
||||||
<artifactId>log4j-slf4j-impl</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.logging.log4j</groupId>
|
|
||||||
<artifactId>log4j-core</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.tomcat.maven</groupId>
|
|
||||||
<artifactId>tomcat7-maven-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</profile>
|
</profile>
|
||||||
<profile>
|
<profile>
|
||||||
<id>dep</id>
|
<id>dep</id>
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
package com.pudonghot.ambition.crm.mapper;
|
|
||||||
|
|
||||||
import me.chyxion.tigon.mybatis.BaseMapper;
|
|
||||||
import com.pudonghot.ambition.crm.model.ApplicationAttachment;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Shaun Chyxion <br>
|
|
||||||
* chyxion@163.com <br>
|
|
||||||
* Mar 11, 2018 11:39:49
|
|
||||||
*/
|
|
||||||
public interface ApplicationAttachmentMapper
|
|
||||||
extends ApplicationFileMapper<ApplicationAttachment>,
|
|
||||||
BaseMapper<String, ApplicationAttachment> {
|
|
||||||
}
|
|
@ -1,38 +0,0 @@
|
|||||||
package com.pudonghot.ambition.crm.mapper;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
|
||||||
import com.pudonghot.ambition.crm.model.ApplicationFile;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Shaun Chyxion <br>
|
|
||||||
* chyxion@163.com <br>
|
|
||||||
* Mar 11, 2018 11:39:49
|
|
||||||
*/
|
|
||||||
interface ApplicationFileMapper<T extends ApplicationFile> {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* find next sort
|
|
||||||
* @param applicationId application id
|
|
||||||
* @return next sort
|
|
||||||
*/
|
|
||||||
int nextSort(@NotBlank @Param("applicationId") String applicationId);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* update sort
|
|
||||||
* @param applicationId application id
|
|
||||||
* @return effected rows
|
|
||||||
*/
|
|
||||||
int updateSort(@NotBlank @Param("applicationId") String applicationId);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* list application files
|
|
||||||
* @param applicationId
|
|
||||||
* @return images
|
|
||||||
*/
|
|
||||||
List<T> listSort(
|
|
||||||
@NotBlank
|
|
||||||
@Param("applicationId")
|
|
||||||
String applicationId);
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
package com.pudonghot.ambition.crm.mapper;
|
|
||||||
|
|
||||||
import me.chyxion.tigon.mybatis.BaseMapper;
|
|
||||||
import com.pudonghot.ambition.crm.model.ApplicationImage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author Shaun Chyxion <br>
|
|
||||||
* chyxion@163.com <br>
|
|
||||||
* Mar 11, 2018 11:39:49
|
|
||||||
*/
|
|
||||||
public interface ApplicationImageMapper
|
|
||||||
extends ApplicationFileMapper<ApplicationImage>,
|
|
||||||
BaseMapper<String, ApplicationImage> {
|
|
||||||
}
|
|
@ -15,24 +15,24 @@
|
|||||||
select
|
select
|
||||||
<include refid="cols" />,
|
<include refid="cols" />,
|
||||||
(select group_concat(url order by sort separator 0x1d) from
|
(select group_concat(url order by sort separator 0x1d) from
|
||||||
crm_application_image
|
crm_attached_image
|
||||||
where application_id = a.id
|
where owner_id = a.id
|
||||||
group by application_id) images,
|
group by owner_id) images,
|
||||||
|
|
||||||
(select group_concat(note order by sort separator 0x1d) from
|
(select group_concat(note order by sort separator 0x1d) from
|
||||||
crm_application_image
|
crm_attached_image
|
||||||
where application_id = a.id
|
where owner_id = a.id
|
||||||
group by application_id) image_titles,
|
group by owner_id) image_titles,
|
||||||
|
|
||||||
(select group_concat(url order by sort separator 0x1d) from
|
(select group_concat(url order by sort separator 0x1d) from
|
||||||
crm_application_attachment
|
crm_attached_file
|
||||||
where application_id = a.id
|
where owner_id = a.id
|
||||||
group by application_id) attachments,
|
group by owner_id) attachments,
|
||||||
|
|
||||||
(select group_concat(note order by sort separator 0x1d) from
|
(select group_concat(note order by sort separator 0x1d) from
|
||||||
crm_application_attachment
|
crm_attached_file
|
||||||
where application_id = a.id
|
where owner_id = a.id
|
||||||
group by application_id) attachment_titles
|
group by owner_id) attachment_titles
|
||||||
|
|
||||||
from
|
from
|
||||||
<include refid="table" /> a
|
<include refid="table" /> a
|
||||||
|
@ -0,0 +1,14 @@
|
|||||||
|
package com.pudonghot.ambition.crm.mapper;
|
||||||
|
|
||||||
|
import me.chyxion.tigon.mybatis.BaseMapper;
|
||||||
|
import com.pudonghot.ambition.crm.model.AttachedFile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Shaun Chyxion <br>
|
||||||
|
* chyxion@163.com <br>
|
||||||
|
* Mar 11, 2018 11:39:49
|
||||||
|
*/
|
||||||
|
public interface AttachedFileMapper
|
||||||
|
extends AttachmentMapper<AttachedFile>,
|
||||||
|
BaseMapper<String, AttachedFile> {
|
||||||
|
}
|
@ -9,17 +9,18 @@
|
|||||||
<!DOCTYPE mapper PUBLIC
|
<!DOCTYPE mapper PUBLIC
|
||||||
"-//mybatis.org//DTD Mapper 3.0//EN"
|
"-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.pudonghot.ambition.crm.mapper.ApplicationAttachmentMapper">
|
<mapper namespace="com.pudonghot.ambition.crm.mapper.AttachedFileMapper">
|
||||||
|
|
||||||
<select id="nextSort" resultType="int">
|
<select id="nextSort" resultType="int">
|
||||||
<include refid="com.pudonghot.ambition.crm.mapper.ApplicationFileMapper.nextSort" />
|
<include refid="com.pudonghot.ambition.crm.mapper.AttachmentMapper.nextSort" />
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="updateSort">
|
<update id="updateSort">
|
||||||
<include refid="com.pudonghot.ambition.crm.mapper.ApplicationFileMapper.updateSort" />
|
<include refid="com.pudonghot.ambition.crm.mapper.AttachmentMapper.updateSort" />
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="listSort" resultType="com.pudonghot.ambition.crm.model.ApplicationAttachment">
|
<select id="listSort" resultType="com.pudonghot.ambition.crm.model.AttachedImage">
|
||||||
<include refid="com.pudonghot.ambition.crm.mapper.ApplicationFileMapper.listSort" />
|
<include refid="com.pudonghot.ambition.crm.mapper.AttachmentMapper.listSort" />
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
@ -0,0 +1,14 @@
|
|||||||
|
package com.pudonghot.ambition.crm.mapper;
|
||||||
|
|
||||||
|
import me.chyxion.tigon.mybatis.BaseMapper;
|
||||||
|
import com.pudonghot.ambition.crm.model.AttachedImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Shaun Chyxion <br>
|
||||||
|
* chyxion@163.com <br>
|
||||||
|
* Mar 11, 2018 11:39:49
|
||||||
|
*/
|
||||||
|
public interface AttachedImageMapper
|
||||||
|
extends AttachmentMapper<AttachedImage>,
|
||||||
|
BaseMapper<String, AttachedImage> {
|
||||||
|
}
|
@ -9,17 +9,18 @@
|
|||||||
<!DOCTYPE mapper PUBLIC
|
<!DOCTYPE mapper PUBLIC
|
||||||
"-//mybatis.org//DTD Mapper 3.0//EN"
|
"-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.pudonghot.ambition.crm.mapper.ApplicationImageMapper">
|
<mapper namespace="com.pudonghot.ambition.crm.mapper.AttachedImageMapper">
|
||||||
|
|
||||||
<select id="nextSort" resultType="int">
|
<select id="nextSort" resultType="int">
|
||||||
<include refid="com.pudonghot.ambition.crm.mapper.ApplicationFileMapper.nextSort" />
|
<include refid="com.pudonghot.ambition.crm.mapper.AttachmentMapper.nextSort" />
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="updateSort">
|
<update id="updateSort">
|
||||||
<include refid="com.pudonghot.ambition.crm.mapper.ApplicationFileMapper.updateSort" />
|
<include refid="com.pudonghot.ambition.crm.mapper.AttachmentMapper.updateSort" />
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="listSort" resultType="com.pudonghot.ambition.crm.model.ApplicationImage">
|
<select id="listSort" resultType="com.pudonghot.ambition.crm.model.AttachedImage">
|
||||||
<include refid="com.pudonghot.ambition.crm.mapper.ApplicationFileMapper.listSort" />
|
<include refid="com.pudonghot.ambition.crm.mapper.AttachmentMapper.listSort" />
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
@ -0,0 +1,38 @@
|
|||||||
|
package com.pudonghot.ambition.crm.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import com.pudonghot.ambition.crm.model.Attachment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Shaun Chyxion <br>
|
||||||
|
* chyxion@163.com <br>
|
||||||
|
* Mar 11, 2018 11:39:49
|
||||||
|
*/
|
||||||
|
interface AttachmentMapper<T extends Attachment> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* find next sort
|
||||||
|
* @param ownerId owner id
|
||||||
|
* @return next sort
|
||||||
|
*/
|
||||||
|
int nextSort(@NotBlank @Param("ownerId") String ownerId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* update sort
|
||||||
|
* @param ownerId owner id
|
||||||
|
* @return effected rows
|
||||||
|
*/
|
||||||
|
int updateSort(@NotBlank @Param("ownerId") String ownerId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* list owner attachments
|
||||||
|
* @param ownerId owner id
|
||||||
|
* @return attachments
|
||||||
|
*/
|
||||||
|
List<T> listSort(
|
||||||
|
@NotBlank
|
||||||
|
@Param("ownerId")
|
||||||
|
String ownerId);
|
||||||
|
}
|
@ -9,12 +9,12 @@
|
|||||||
<!DOCTYPE mapper PUBLIC
|
<!DOCTYPE mapper PUBLIC
|
||||||
"-//mybatis.org//DTD Mapper 3.0//EN"
|
"-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.pudonghot.ambition.crm.mapper.ApplicationFileMapper">
|
<mapper namespace="com.pudonghot.ambition.crm.mapper.AttachmentMapper">
|
||||||
|
|
||||||
<sql id="nextSort">
|
<sql id="nextSort">
|
||||||
select if (application_id, max(sort) + 1, 1)
|
select if (owner_id, max(sort) + 1, 1)
|
||||||
from <include refid="table" />
|
from <include refid="table" />
|
||||||
where application_id = #{applicationId}
|
where owner_id = #{ownerId}
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="updateSort">
|
<sql id="updateSort">
|
||||||
@ -23,7 +23,7 @@
|
|||||||
select id, @cur_row := @cur_row + 1 sort
|
select id, @cur_row := @cur_row + 1 sort
|
||||||
from <include refid="table" />
|
from <include refid="table" />
|
||||||
join (select @cur_row := 0) r
|
join (select @cur_row := 0) r
|
||||||
where application_id = #{applicationId}
|
where owner_id = #{ownerId}
|
||||||
order by <include refid="table" />.sort) s
|
order by <include refid="table" />.sort) s
|
||||||
on a.id = s.id
|
on a.id = s.id
|
||||||
set a.sort = s.sort
|
set a.sort = s.sort
|
||||||
@ -31,14 +31,14 @@
|
|||||||
|
|
||||||
<sql id="listSort">
|
<sql id="listSort">
|
||||||
select id, file_id,
|
select id, file_id,
|
||||||
url, application_id,
|
url, owner_id,
|
||||||
created_by, date_created,
|
created_by, date_created,
|
||||||
updated_by, date_updated,
|
updated_by, date_updated,
|
||||||
enabled, note,
|
enabled, note,
|
||||||
@cur_row := @cur_row + 1 sort
|
@cur_row := @cur_row + 1 sort
|
||||||
from <include refid="table" />
|
from <include refid="table" />
|
||||||
join (select @cur_row := 0) r
|
join (select @cur_row := 0) r
|
||||||
where application_id = #{applicationId}
|
where owner_id = #{ownerId}
|
||||||
order by <include refid="table" />.sort
|
order by <include refid="table" />.sort
|
||||||
</sql>
|
</sql>
|
||||||
</mapper>
|
</mapper>
|
@ -4,7 +4,7 @@ import java.util.List;
|
|||||||
import javax.validation.constraints.Min;
|
import javax.validation.constraints.Min;
|
||||||
import me.chyxion.tigon.mybatis.BaseMapper;
|
import me.chyxion.tigon.mybatis.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.model.CustomerIssue;
|
import com.pudonghot.ambition.crm.model.CustomerIssue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -9,7 +9,7 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
import javax.validation.constraints.Min;
|
import javax.validation.constraints.Min;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import com.pudonghot.ambition.crm.model.Customer;
|
import com.pudonghot.ambition.crm.model.Customer;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -4,7 +4,7 @@ import java.util.List;
|
|||||||
import me.chyxion.tigon.mybatis.BaseMapper;
|
import me.chyxion.tigon.mybatis.BaseMapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.pudonghot.ambition.crm.model.User;
|
import com.pudonghot.ambition.crm.model.User;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
# CodeGen Config
|
|
||||||
base.cols=enabled,note,date_created,date_updated,created_by,updated_by
|
|
||||||
base.package=com.pudonghot.ambition.crm
|
|
||||||
super.base.model.name=M3<String, String>
|
|
||||||
super.base.model.full.name=me.chyxion.tigon.model.M3
|
|
||||||
table.prefix=crm
|
|
@ -1,8 +0,0 @@
|
|||||||
# Config Dev
|
|
||||||
|
|
||||||
# Database
|
|
||||||
datasource.host=127.0.0.1
|
|
||||||
datasource.port=63306
|
|
||||||
datasource.database-name=ambition_crm_test
|
|
||||||
datasource.username=root
|
|
||||||
datasource.password=696@2^~)oZ@^#*Q
|
|
@ -4,7 +4,7 @@ import org.junit.Test;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import com.pudonghot.ambition.crm.model.ApplicationImage;
|
import com.pudonghot.ambition.crm.model.AttachedImage;
|
||||||
import org.springframework.test.context.ContextConfiguration;
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||||
@ -19,14 +19,18 @@ import org.springframework.test.context.junit4.AbstractTransactionalJUnit4Spring
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@RunWith(SpringJUnit4ClassRunner.class)
|
@RunWith(SpringJUnit4ClassRunner.class)
|
||||||
@ContextConfiguration("classpath*:spring/spring-*.xml")
|
@ContextConfiguration("classpath*:spring/spring-*.xml")
|
||||||
public class ApplicationImageMapperTest extends AbstractTransactionalJUnit4SpringContextTests {
|
public class AttachedImageMapperTest extends AbstractTransactionalJUnit4SpringContextTests {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ApplicationImageMapper mapper;
|
private AttachedImageMapper mapper;
|
||||||
|
@Autowired
|
||||||
|
private AttachedFileMapper fileMapper;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testListSort() {
|
public void testListSort() {
|
||||||
final List<ApplicationImage> images =
|
final List<AttachedImage> images =
|
||||||
mapper.listSort("5aadc3be13987ee957e00caf");
|
mapper.listSort("5aadc3be13987ee957e00caf");
|
||||||
log.info("Images: [{}].", images);
|
log.info("Images: [{}].", images);
|
||||||
|
log.info("Next attached file sort: [{}].", fileMapper.nextSort("5aadc3be13987ee957e00caf"));
|
||||||
|
log.info("Next attached image sort: [{}].", mapper.nextSort("5aadc3be13987ee957e00caf"));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
package com.pudonghot.ambition.crm.mapper;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Shaun Chyxion <br>
|
||||||
|
* chyxion@163.com <br>
|
||||||
|
* Nov 24, 2018 12:44:25
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
public class TestDriver {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void run() {
|
||||||
|
log.info("Run.");
|
||||||
|
}
|
||||||
|
}
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import me.chyxion.tigon.format.annotation.Trim;
|
import me.chyxion.tigon.format.annotation.Trim;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import me.chyxion.tigon.format.annotation.EmptyToNull;
|
import me.chyxion.tigon.format.annotation.EmptyToNull;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3,7 +3,7 @@ package com.pudonghot.ambition.crm.form.create;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.BaseForm;
|
import me.chyxion.tigon.form.BaseForm;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -3,7 +3,7 @@ package com.pudonghot.ambition.crm.form.create;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import me.chyxion.tigon.format.annotation.EmptyToNull;
|
import me.chyxion.tigon.format.annotation.EmptyToNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import com.pudonghot.ambition.crm.model.CustomerProperty;
|
import com.pudonghot.ambition.crm.model.CustomerProperty;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,7 +5,7 @@ import lombok.Setter;
|
|||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FC2;
|
import me.chyxion.tigon.form.FC2;
|
||||||
import me.chyxion.tigon.format.annotation.Trim;
|
import me.chyxion.tigon.format.annotation.Trim;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -7,7 +7,7 @@ import javax.validation.constraints.Pattern;
|
|||||||
import me.chyxion.tigon.format.annotation.Trim;
|
import me.chyxion.tigon.format.annotation.Trim;
|
||||||
import org.hibernate.validator.constraints.Email;
|
import org.hibernate.validator.constraints.Email;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import static com.pudonghot.ambition.crm.common.Constants.GENDER_REGEXP;
|
import static com.pudonghot.ambition.crm.common.Constants.GENDER_REGEXP;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3,9 +3,9 @@ package com.pudonghot.ambition.crm.form.update;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FU2;
|
import me.chyxion.tigon.form.FU2;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
import me.chyxion.tigon.format.annotation.Trim;
|
import me.chyxion.tigon.format.annotation.Trim;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
|
||||||
import me.chyxion.tigon.format.annotation.EmptyToNull;
|
import me.chyxion.tigon.format.annotation.EmptyToNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FU2;
|
import me.chyxion.tigon.form.FU2;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -4,7 +4,7 @@ import lombok.Getter;
|
|||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FU2;
|
import me.chyxion.tigon.form.FU2;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -5,7 +5,7 @@ import lombok.Setter;
|
|||||||
import me.chyxion.tigon.form.FU2;
|
import me.chyxion.tigon.form.FU2;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -3,7 +3,7 @@ package com.pudonghot.ambition.crm.form.update;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.form.FU2;
|
import me.chyxion.tigon.form.FU2;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -8,7 +8,7 @@ import javax.validation.constraints.Pattern;
|
|||||||
import me.chyxion.tigon.format.annotation.Trim;
|
import me.chyxion.tigon.format.annotation.Trim;
|
||||||
import org.hibernate.validator.constraints.Email;
|
import org.hibernate.validator.constraints.Email;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import me.chyxion.tigon.format.annotation.EmptyToNull;
|
import me.chyxion.tigon.format.annotation.EmptyToNull;
|
||||||
import static com.pudonghot.ambition.crm.common.Constants.GENDER_REGEXP;
|
import static com.pudonghot.ambition.crm.common.Constants.GENDER_REGEXP;
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package com.pudonghot.ambition.crm.form.update;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.hibernate.validator.constraints.Length;
|
import org.hibernate.validator.constraints.Length;
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version 0.0.1
|
* @version 0.0.1
|
||||||
|
@ -11,7 +11,7 @@ import me.chyxion.tigon.mybatis.Table;
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Table("crm_application_attachment")
|
@Table("crm_attached_file")
|
||||||
public class ApplicationAttachment extends ApplicationFile {
|
public class AttachedFile extends Attachment {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
@ -11,7 +11,7 @@ import me.chyxion.tigon.mybatis.Table;
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Table("crm_application_image")
|
@Table("crm_attached_image")
|
||||||
public class ApplicationImage extends ApplicationFile {
|
public class AttachedImage extends Attachment {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
@ -3,6 +3,7 @@ package com.pudonghot.ambition.crm.model;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import me.chyxion.tigon.model.M3;
|
import me.chyxion.tigon.model.M3;
|
||||||
|
import lombok.experimental.FieldNameConstants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Donghuang <br>
|
* @author Donghuang <br>
|
||||||
@ -11,18 +12,13 @@ import me.chyxion.tigon.model.M3;
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
public class ApplicationFile extends M3<String, String> {
|
@FieldNameConstants(prefix = "")
|
||||||
|
public class Attachment extends M3<String, String> {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
// Column Names
|
|
||||||
public static final String FILE_ID = "file_id";
|
|
||||||
public static final String URL = "url";
|
|
||||||
public static final String APPLICATION_ID = "application_id";
|
|
||||||
public static final String SORT = "sort";
|
|
||||||
|
|
||||||
// Properties
|
// Properties
|
||||||
|
private String ownerId;
|
||||||
private String fileId;
|
private String fileId;
|
||||||
private String url;
|
private String url;
|
||||||
private String applicationId;
|
|
||||||
private float sort;
|
private float sort;
|
||||||
}
|
}
|
@ -98,6 +98,12 @@
|
|||||||
<artifactId>commons-beanutils</artifactId>
|
<artifactId>commons-beanutils</artifactId>
|
||||||
<!-- <version>1.9.2</version> -->
|
<!-- <version>1.9.2</version> -->
|
||||||
<version>1.8.3</version>
|
<version>1.8.3</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>commons-logging</groupId>
|
||||||
|
<artifactId>commons-logging</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jdom</groupId>
|
<groupId>org.jdom</groupId>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user