diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/constant/OperCustomizeConstant.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java similarity index 55% rename from epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/constant/OperCustomizeConstant.java rename to epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java index dfddc87a50..20ffd9c3cd 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/constant/OperCustomizeConstant.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java @@ -6,7 +6,7 @@ * 版权所有,侵权必究! */ -package com.epmet.dto.constant; +package com.epmet.constant; /** * 常量 @@ -17,9 +17,18 @@ public interface OperCustomizeConstant { /** * 数据状态-已发布 */ - String STATUS = "0"; + String STATUS_RELEASED = "0"; /** * 数据状态-草稿 */ - String STATUS_ONE = "1"; + String STATUS_DRAFT = "1"; + + /** + * 数据状态-已发布 + */ + Integer STATUS_IS_RELEASED = 0; + /** + * 数据状态-草稿 + */ + Integer STATUS_IS_DRAFT = 1; } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/ReginConstant.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/ReginConstant.java index 1a1b1fec32..7d930df883 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/ReginConstant.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/ReginConstant.java @@ -1,19 +1,25 @@ package com.epmet.constant; /** - * @Classname ReginEnum - * @Description 所属区域:0.标题区、1.置顶区、2.功能区、3.悬浮区 - * @Date 2020/3/17 15:22 - * @Created by yangs + * 所属区域:0.标题区、1.置顶区、2.功能区、3.悬浮区 + * @date 2020/3/17 15:22 + * @author angs */ public interface ReginConstant { - //所属区域:0.标题区、1.置顶区、2.功能区、3.悬浮区 - //0.标题区 - String titleList="titleList"; - //1.置顶区 - String topList="topList"; - //2.功能区 - String functionList="functionList"; - //3.悬浮区 - String floatingList="floatingList"; + /** + * 标题区 + */ + String TITLE_LIST ="titleList"; + /** + * 置顶区 + */ + String TOP_LIST ="topList"; + /** + * 功能区 + */ + String FUNCTION_LIST ="functionList"; + /** + * 悬浮区 + */ + String FLOATING_LIST="floatingList"; } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java index e528ed9b83..fbe082019b 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java @@ -2,10 +2,9 @@ package com.epmet.controller; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.constant.OperCustomizeConstant; +import com.epmet.constant.OperCustomizeConstant; import com.epmet.dto.form.ComponentListByCustomerFormDTO; import com.epmet.dto.form.CustomerHomeFormDTO; -import com.epmet.dto.form.HomeDesignByCustomerFormDTO; import com.epmet.dto.form.HomeDesignFormDTO; import com.epmet.dto.result.ComponentListByCustomerResultDTO; import com.epmet.dto.result.HomeDesignByCustomerResultDTO; @@ -44,13 +43,15 @@ public class HomeController { /** * @param formDTO * @return com.epmet.commons.tools.utils.Result - * @Author yang - * @Description 获取客户首页配置的设计稿 - * @Date 2020/3/16 13:21 + * @author yang + * @description 获取客户首页配置的设计稿 + * @date 2020/3/16 13:21 **/ @PostMapping("gethomedesignbycustomer") - public Result getHomeDesignByCustomer(@RequestBody HomeDesignByCustomerFormDTO formDTO) { + public Result getHomeDesignByCustomer(@RequestBody CustomerHomeFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); + //草稿数据 + formDTO.setStatus(OperCustomizeConstant.STATUS_DRAFT); return homeService.getHomeDesignByCustomer(formDTO); } @@ -64,8 +65,7 @@ public class HomeController { @PostMapping("savehomedesign") public Result saveHomeDesign(@RequestBody HomeDesignFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - homeService.saveHomeDesign(formDTO); - return new Result(); + return homeService.saveHomeDesign(formDTO); } /** @@ -78,8 +78,7 @@ public class HomeController { @PostMapping("distributehomedesign") public Result distributeHomeDesign(@RequestBody HomeDesignFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - homeService.distributeHomeDesign(formDTO); - return new Result(); + return homeService.distributeHomeDesign(formDTO); } /** @@ -91,8 +90,9 @@ public class HomeController { **/ @PostMapping("gethomereleasebycustomer") public Result getHomeReleaseByCustomer(@RequestBody CustomerHomeFormDTO formDTO) { - formDTO.setStatus(OperCustomizeConstant.STATUS);//已发布数据 + //已发布数据 + formDTO.setStatus(OperCustomizeConstant.STATUS_RELEASED); ValidatorUtils.validateEntity(formDTO); - return homeService.getHomeReleaseByCustomer(formDTO); + return homeService.getHomeDesignByCustomer(formDTO); } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java index 2ad445ea6f..af499fe5d2 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java @@ -19,7 +19,6 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.CustomerHomeFormDTO; -import com.epmet.dto.form.HomeDesignByCustomerFormDTO; import com.epmet.dto.result.CommonComponentDesignResultDTO; import com.epmet.entity.CustomerHomeDetailEntity; import org.apache.ibatis.annotations.Mapper; @@ -42,14 +41,16 @@ public interface CustomerHomeDetailDao extends BaseDao * @author zhaoqifeng * @date 2020/3/16 14:02 */ - void updateCustomerHomeDetailByHomeId(String homeId); + void deleteCustomerHomeDetailByHomeId(String homeId); + /** * * 根据客户id,所属端获取客户首页配置的设计稿 + * + * @param form 客户参数 + * @return List * @author yangshaoping * @date 2020/3/1714:02 */ - List getCustomerHomeDetailComponent(HomeDesignByCustomerFormDTO form); - - List getHomeReleaseByCustomer(CustomerHomeFormDTO form); + List selectCustomerHomeDetail(CustomerHomeFormDTO form); } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java index 375d092f81..c6c1e0771c 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java @@ -24,37 +24,43 @@ public interface HomeService { Result getComponentListByCustomer(ComponentListByCustomerFormDTO formDTO); /** - * @param formDTO + * + * 获取客户首页配置的设计稿 + * + * @param formDTO 参数 * @return com.epmet.commons.tools.utils.Result - * @Author yang - * @Description 获取客户首页配置的设计稿 - * @Date 2020/3/16 13:21 + * @author yang + * @date 2020/3/16 13:21 **/ - Result getHomeDesignByCustomer(HomeDesignByCustomerFormDTO formDTO); + Result getHomeDesignByCustomer(CustomerHomeFormDTO formDTO); /** * * 首页设计稿组件上传数据 - * @param: formDTO - * @author: zhaoqifeng - * @date: 2020/03/16 13:49:41 + * + * @param formDTO 参数 + * @return Result + * @author zhaoqifeng + * @date 2020/03/16 13:49:41 */ - void saveHomeDesign(HomeDesignFormDTO formDTO); + Result saveHomeDesign(HomeDesignFormDTO formDTO); /** * * 首页设计稿发版 - * @param: formDTO - * @author: zhaoqifeng - * @date: 2020/03/16 13:49:41 + * + * @param formDTO 参数 + * @return Result + * @author zhaoqifeng + * @date 2020/03/16 13:49:41 */ - void distributeHomeDesign(HomeDesignFormDTO formDTO); + Result distributeHomeDesign(HomeDesignFormDTO formDTO); - /** - * @param formDTO - * @return com.epmet.commons.tools.utils.Result - * @Author sun - * @Description 获取客户首页发布数据 - **/ - Result getHomeReleaseByCustomer(CustomerHomeFormDTO formDTO); +// /** +// * @param formDTO +// * @return com.epmet.commons.tools.utils.Result +// * @Author sun +// * @Description 获取客户首页发布数据 +// **/ +// Result getHomeReleaseByCustomer(CustomerHomeFormDTO formDTO); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java index 68d3faff90..60689d7f01 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java @@ -1,6 +1,8 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.OperCustomizeConstant; import com.epmet.constant.ReginConstant; import com.epmet.dao.CustomerHomeDao; import com.epmet.dao.CustomerHomeDetailDao; @@ -11,136 +13,115 @@ import com.epmet.dto.result.ComponentListByCustomerResultDTO; import com.epmet.dto.result.HomeDesignByCustomerResultDTO; import com.epmet.entity.CustomerHomeDetailEntity; import com.epmet.entity.CustomerHomeEntity; +import com.epmet.service.CustomerHomeDetailService; import com.epmet.service.HomeService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** - * @Description 客户定制化服务-首页 - * @Author yinzuomei - * @Date 2020/3/11 13:14 + * 客户定制化服务-首页 + * + * @author yinzuomei + * @date 2020/3/11 13:14 */ +@Slf4j @Service public class HomeServiceImpl implements HomeService { - @Autowired - private HomeComponentDao homeComponentDao; - @Autowired - private CustomerHomeDetailDao customerHomeDetailDao; + @Autowired + private HomeComponentDao homeComponentDao; + @Autowired + private CustomerHomeDetailDao customerHomeDetailDao; @Autowired private CustomerHomeDao customerHomeDao; + @Autowired + private CustomerHomeDetailService customerHomeDetailService; - @Override - public Result getComponentListByCustomer(ComponentListByCustomerFormDTO formDTO) { - ComponentListByCustomerResultDTO resultDTO = new ComponentListByCustomerResultDTO(); - resultDTO.setCommonList(homeComponentDao.selectListCommonComponentResultDTO(formDTO)); - resultDTO.setFunctionList(homeComponentDao.selectListFunctionComponentResultDTO(formDTO)); - return new Result().ok(resultDTO); - } - - @Override - public Result getHomeDesignByCustomer(HomeDesignByCustomerFormDTO formDTO) { - HomeDesignByCustomerResultDTO resultDTO = new HomeDesignByCustomerResultDTO(); - //根据客户id,所属端获取客户首页配置的设计稿 - List list = customerHomeDetailDao.getCustomerHomeDetailComponent(formDTO); - List titlelist=new ArrayList(); - List toplist=new ArrayList(); - List functionlist=new ArrayList(); - List floatlist=new ArrayList(); - List usedComponent=new ArrayList<>();//使用过的组件集合 - for(CommonComponentDesignResultDTO c:list){ - usedComponent.add(c.getComponentId()); - //所属区域:0.标题区、1.置顶区、2.功能区、3.悬浮区 - if(ReginConstant.titleList.equals(c.getRegion())){ - titlelist.add(c); - }else if(ReginConstant.topList.equals(c.getRegion())){ - toplist.add(c); - }else if(ReginConstant.functionList.equals(c.getRegion())){ - functionlist.add(c); - }else if(ReginConstant.floatingList.equals(c.getRegion())){ - floatlist.add(c); - } - } - resultDTO.setTitleList(titlelist); - resultDTO.setTopList(toplist); - resultDTO.setFloatingList(floatlist); - resultDTO.setFunctionList(functionlist); - resultDTO.setUsedComponentIdList(usedComponent); - return new Result().ok(resultDTO); - } + @Override + public Result getComponentListByCustomer(ComponentListByCustomerFormDTO formDTO) { + ComponentListByCustomerResultDTO resultDTO = new ComponentListByCustomerResultDTO(); + resultDTO.setCommonList(homeComponentDao.selectListCommonComponentResultDTO(formDTO)); + resultDTO.setFunctionList(homeComponentDao.selectListFunctionComponentResultDTO(formDTO)); + return new Result().ok(resultDTO); + } @Override - public void saveHomeDesign(HomeDesignFormDTO formDTO) { + public Result getHomeDesignByCustomer(CustomerHomeFormDTO formDTO) { + HomeDesignByCustomerResultDTO resultDTO = new HomeDesignByCustomerResultDTO(); + //根据客户id,所属端获取客户首页配置的设计稿 + List list = customerHomeDetailDao.selectCustomerHomeDetail(formDTO); + List titleList = new ArrayList<>(); + List topList = new ArrayList<>(); + List functionList = new ArrayList<>(); + List floatingList = new ArrayList<>(); + //使用过的组件集合 + List usedComponent = new ArrayList<>(); + for (CommonComponentDesignResultDTO c : list) { + usedComponent.add(c.getComponentId()); + //所属区域:0.标题区、1.置顶区、2.功能区、3.悬浮区 + if (ReginConstant.TITLE_LIST.equals(c.getRegion())) { + titleList.add(c); + } else if (ReginConstant.TOP_LIST.equals(c.getRegion())) { + topList.add(c); + } else if (ReginConstant.FUNCTION_LIST.equals(c.getRegion())) { + functionList.add(c); + } else if (ReginConstant.FLOATING_LIST.equals(c.getRegion())) { + floatingList.add(c); + } + } + resultDTO.setTitleList(titleList); + resultDTO.setTopList(topList); + resultDTO.setFloatingList(floatingList); + resultDTO.setFunctionList(functionList); + if (OperCustomizeConstant.STATUS_DRAFT.equals(formDTO.getStatus())) { + resultDTO.setUsedComponentIdList(usedComponent); + } + return new Result().ok(resultDTO); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result saveHomeDesign(HomeDesignFormDTO formDTO) { //根据客户ID和所属端类型从客户首页表找到对应的已发布和草稿 List customerHomeList = customerHomeDao.selectCustomerHomeList(formDTO); //只处理草稿的数据 - for(CustomerHomeEntity entity : customerHomeList) { - if (entity.getStatus() == 1) { + for (CustomerHomeEntity entity : customerHomeList) { + if (OperCustomizeConstant.STATUS_IS_DRAFT.equals(entity.getStatus())) { saveCustomerHomeDetail(formDTO, entity); } } + + return new Result(); } @Override - public void distributeHomeDesign(HomeDesignFormDTO formDTO) { + @Transactional(rollbackFor = Exception.class) + public Result distributeHomeDesign(HomeDesignFormDTO formDTO) { //根据客户ID和所属端类型从客户首页表找到对应的已发布和草稿 List customerHomeList = customerHomeDao.selectCustomerHomeList(formDTO); //草稿和模板数据都要处理 - for(CustomerHomeEntity entity : customerHomeList) { + for (CustomerHomeEntity entity : customerHomeList) { saveCustomerHomeDetail(formDTO, entity); } + + return new Result(); } - private void saveCustomerHomeDetail(HomeDesignFormDTO formDTO, CustomerHomeEntity entity) { + private void saveCustomerHomeDetail(HomeDesignFormDTO formDTO, CustomerHomeEntity customerHomeEntity) { //根据homeID清空客户首页详情表中的数据 - customerHomeDetailDao.updateCustomerHomeDetailByHomeId(entity.getId()); + customerHomeDetailDao.deleteCustomerHomeDetailByHomeId(customerHomeEntity.getId()); + + List list = ConvertUtils.sourceToTarget(formDTO.getComponentList(), CustomerHomeDetailEntity.class); //将数据存入客户首页详情表 - for (HomeComponentFormDTO homeComponentForm : formDTO.getComponentList()) { - CustomerHomeDetailEntity customerHomeDetailEntity = new CustomerHomeDetailEntity(); - customerHomeDetailEntity.setHomeId(entity.getId()); - customerHomeDetailEntity.setComponentId(homeComponentForm.getComponentId()); - customerHomeDetailEntity.setRegion(homeComponentForm.getRegion()); - customerHomeDetailEntity.setConfiguration(homeComponentForm.getConfiguration()); - customerHomeDetailEntity.setDemoData(homeComponentForm.getDemoData()); - customerHomeDetailEntity.setDisplayOrder(homeComponentForm.getDisplayOrder()); - customerHomeDetailDao.insert(customerHomeDetailEntity); + customerHomeDetailService.insertBatch(list); - } } - @Override - public Result getHomeReleaseByCustomer(CustomerHomeFormDTO formDTO) { - HomeDesignByCustomerResultDTO resultDTO = new HomeDesignByCustomerResultDTO(); - //根据客户id,所属端获取客户首页配置的设计稿 - List list = customerHomeDetailDao.getHomeReleaseByCustomer(formDTO); - List titlelist=new ArrayList(); - List toplist=new ArrayList(); - List functionlist=new ArrayList(); - List floatlist=new ArrayList(); - //List usedComponent=new ArrayList<>();//使用过的组件集合 - for(CommonComponentDesignResultDTO c:list){ - //usedComponent.add(c.getComponentId()); - //所属区域:0.标题区、1.置顶区、2.功能区、3.悬浮区 - if(ReginConstant.titleList.equals(c.getRegion())){ - titlelist.add(c); - }else if(ReginConstant.topList.equals(c.getRegion())){ - toplist.add(c); - }else if(ReginConstant.functionList.equals(c.getRegion())){ - functionlist.add(c); - }else if(ReginConstant.floatingList.equals(c.getRegion())){ - floatlist.add(c); - } - } - resultDTO.setTitleList(titlelist); - resultDTO.setTopList(toplist); - resultDTO.setFloatingList(floatlist); - resultDTO.setFunctionList(functionlist); - //resultDTO.setUsedComponentIdList(usedComponent); - return new Result().ok(resultDTO); - } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml index c5695e7ee8..f32a0c63be 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml @@ -18,7 +18,7 @@ - + UPDATE CUSTOMER_HOME_DETAIL set @@ -28,49 +28,17 @@ AND DEL_FLAG = 0 - - SELECT - b.COMPONENT_ID, - c.COMPONENT_NAME, - c.COMPONENT_FRONT_ID, - b.REGION, - b.CONFIGURATION, - b.DEMO_DATA, - b.DISPLAY_ORDER - FROM - ( - SELECT - a.id - FROM - customer_home a - WHERE - a.DEL_FLAG = 0 - AND a.CUSTOMER_ID = #{customerId} - AND a.CLIENT_TYPE = #{clientType} - and a.`STATUS`=1 - ORDER BY - a.CREATED_TIME DESC - LIMIT 1 - ) a - INNER JOIN customer_home_detail b ON a.id = b.HOME_ID - LEFT JOIN home_component c ON b.COMPONENT_ID = c.id - WHERE - b.DEL_FLAG = 0 and c.DEL_FLAG=0 - - - - \ No newline at end of file