diff --git a/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/ApplicationServiceSupport.java b/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/ApplicationServiceSupport.java index 55c789c..507753b 100644 --- a/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/ApplicationServiceSupport.java +++ b/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/ApplicationServiceSupport.java @@ -122,20 +122,24 @@ public class ApplicationServiceSupport final String updatedBy = form.getUpdatedBy(); validatePerm(applicationId, updatedBy, form.isAdmin()); - // client sort is array index + boolean sortUpdated = false; final float sort = form.getSort(); final float sortOld = appImage.getSort(); if (sort < sortOld) { + sortUpdated = true; appImage.setSort(sortOld - 1.5f); } else if (sort > sortOld) { + sortUpdated = true; appImage.setSort(sortOld + 1.5f); } appImage.setNote(form.getNote()); appImage.setDateUpdated(new Date()); appImage.setUpdatedBy(updatedBy); imageMapper.update(appImage); - imageMapper.updateSort(applicationId); + if (sortUpdated) { + imageMapper.listSort(applicationId).forEach(imageMapper::update); + } } private void uploadImages(final String applicationId, int sort, final MultipartFile[] images, final String[] titles, final String createdBy) { diff --git a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapper.java b/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapper.java index 1bd937d..53ac673 100644 --- a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapper.java +++ b/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapper.java @@ -1,5 +1,6 @@ package com.pudonghot.ambition.crm.mapper; +import java.util.List; import me.chyxion.tigon.mybatis.BaseMapper; import org.apache.ibatis.annotations.Param; import org.hibernate.validator.constraints.NotBlank; @@ -25,4 +26,14 @@ public interface ApplicationImageMapper extends BaseMapper listSort( + @NotBlank + @Param("applicationId") + String applicationId); } diff --git a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapper.xml b/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapper.xml index 81ce232..f4b0bfa 100644 --- a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapper.xml +++ b/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapper.xml @@ -28,4 +28,16 @@ on a.id = s.id set a.sort = s.sort + + diff --git a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapperTest.java b/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapperTest.java new file mode 100644 index 0000000..66276d2 --- /dev/null +++ b/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/ApplicationImageMapperTest.java @@ -0,0 +1,32 @@ +package com.pudonghot.ambition.crm.mapper; + +import org.junit.Test; +import java.util.List; +import org.junit.runner.RunWith; +import lombok.extern.slf4j.Slf4j; +import com.pudonghot.ambition.crm.model.ApplicationImage; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; + +/** + * @version 0.0.1 + * @author Auto Generated
+ * Tech Support Shaun Chyxion
+ * Jun 19, 2017 10:35:51 PM + */ +@Slf4j +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration("classpath*:spring/spring-*.xml") +public class ApplicationImageMapperTest extends AbstractTransactionalJUnit4SpringContextTests { + @Autowired + private ApplicationImageMapper mapper; + + @Test + public void testListSort() { + final List images = + mapper.listSort("5aadc3be13987ee957e00caf"); + log.info("Images: [{}].", images); + } +} diff --git a/server/mapper/src/test/resources/spring/config.properties b/server/mapper/src/test/resources/spring/config.properties index da65bf3..19f709b 100644 --- a/server/mapper/src/test/resources/spring/config.properties +++ b/server/mapper/src/test/resources/spring/config.properties @@ -1,6 +1,6 @@ # MySQL datasource.host=127.0.0.1 datasource.port=63306 -datasource.database-name=ambition_crm +datasource.database-name=ambition_crm_test datasource.username=root datasource.password=696@2^~)oZ@^#*Q diff --git a/web/app/routes/customer-application/edit.js b/web/app/routes/customer-application/edit.js index 380691d..7d0f13a 100644 --- a/web/app/routes/customer-application/edit.js +++ b/web/app/routes/customer-application/edit.js @@ -5,7 +5,11 @@ export default BaseEditRoute.extend({ afterModel(model) { const me = this; me._super(...arguments); - // model.images = [{}]; + if (model.owner && model.users) { + let owner = model.users.findBy('id', model.owner); + owner && (owner.selected = true); + } + this.set('breadcrumbs', [{route: 'customer-application.list', params: 1, text: 'Customer Application'}, {text: 'Edit Customer Application[' + model.name + ']'}]);