Browse Source

获取客户首页配置的设计稿-代码提交

dev
yangshaoping 6 years ago
parent
commit
d372c14732
  1. 28
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/HomeDesignByCustomerFormDTO.java
  2. 50
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CommonComponentDesignResultDTO.java
  3. 37
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/HomeDesignByCustomerResultDTO.java
  4. 15
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java
  5. 5
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDao.java
  6. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java
  7. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeTemplateDao.java
  8. 11
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java
  9. 56
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java
  10. 32
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml

28
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/HomeDesignByCustomerFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 运营端-客户定制化服务-获取客户首页配置的设计稿-入参
* @Author yangshaoping
* @Date 2020/3/16 11:27
*/
@Data
public class HomeDesignByCustomerFormDTO implements Serializable {
private static final long serialVersionUID = 5272251336837515372L;
/**
* 客户ID
*/
@NotBlank(message = "客户ID不能为空")
private String customerId;
/**
* 所属端类型0.居民端1.政府端
*/
@NotBlank(message = "所属端类型不能为空(0居民端1政府端)")
private String clientType;
}

50
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CommonComponentDesignResultDTO.java

@ -0,0 +1,50 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 运营端-客户定制化服务-获取客户可用组件列表-返参[commonList(通用组件列表)属性对应DTO]
* @Author yang
* @Date 2020/3/16 12:59
*/
@Data
public class CommonComponentDesignResultDTO implements Serializable {
private static final long serialVersionUID = 2971689193155710437L;
/**
* 组件id
*/
private String componentId;
/**
* 组件名称
*/
private String componentName;
/**
* 所属区域
*/
private String region;
/**
* 组件前端标识
*/
private String componentFrontId;
/**
* 高级设置
*/
private String configuration;
/**
* 默认数据
*/
private String demoData;
/**
* 显示顺序
*/
private int displayOrder;
}

37
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/HomeDesignByCustomerResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
/**
* @Description 运营端-客户定制化服务-获取客户首页配置的设计稿返参
* @Author yang
* @Date 2020/3/16 12:57
*/
@Data
public class HomeDesignByCustomerResultDTO implements Serializable {
private static final long serialVersionUID = 1496786567582303921L;
/**
* 标题区
*/
private CommonComponentDesignResultDTO titleList;
/**
* 置顶区
*/
private CommonComponentDesignResultDTO topList;
/**
* 功能区
*/
private List<CommonComponentDesignResultDTO> functionList;
/**
* 悬浮区
*/
private CommonComponentDesignResultDTO floatingList;
/**
*用于标识已使用的功能组件id列表不含通用组件
*/
private List<String> usedComponentIdList;
}

15
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java

@ -3,7 +3,9 @@ package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.ComponentListByCustomerFormDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.result.ComponentListByCustomerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
import com.epmet.service.HomeService;
import net.bytebuddy.asm.Advice;
import org.springframework.beans.factory.annotation.Autowired;
@ -33,4 +35,17 @@ public class HomeController {
ValidatorUtils.validateEntity(formDTO);
return homeService.getComponentListByCustomer(formDTO);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.HomeDesignByCustomerResultDTO>
* @Author yang
* @Description 获取客户首页配置的设计稿
* @Date 2020/3/16 13:21
**/
@PostMapping("gethomedesignbycustomer")
public Result<HomeDesignByCustomerResultDTO> getHomeDesignByCustomer(@RequestBody HomeDesignByCustomerFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return homeService.getHomeDesignByCustomer(formDTO);
}
}

5
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDao.java

@ -18,6 +18,8 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerHomeDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.entity.CustomerHomeEntity;
import org.apache.ibatis.annotations.Mapper;
@ -29,5 +31,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface CustomerHomeDao extends BaseDao<CustomerHomeEntity> {
//根据客户id,所属端口,查询客户是否有发版模板信息
CustomerHomeDTO getCustomerHomeDetailByCustomerAndClientType(HomeDesignByCustomerFormDTO form);
}

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java

@ -29,5 +29,5 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface CustomerHomeDetailDao extends BaseDao<CustomerHomeDetailEntity> {
}

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeTemplateDao.java

@ -29,5 +29,5 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface CustomerHomeTemplateDao extends BaseDao<CustomerHomeTemplateEntity> {
}

11
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java

@ -2,7 +2,9 @@ package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ComponentListByCustomerFormDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.result.ComponentListByCustomerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
/**
* @Description 客户定制化服务-首页
@ -18,4 +20,13 @@ public interface HomeService {
* @Date 2020/3/11 13:22
**/
Result<ComponentListByCustomerResultDTO> getComponentListByCustomer(ComponentListByCustomerFormDTO formDTO);
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.HomeDesignByCustomerResultDTO>
* @Author yang
* @Description 获取客户首页配置的设计稿
* @Date 2020/3/16 13:21
**/
Result<HomeDesignByCustomerResultDTO> getHomeDesignByCustomer(HomeDesignByCustomerFormDTO formDTO);
}

56
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java

@ -1,13 +1,25 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerHomeDao;
import com.epmet.dao.CustomerHomeDetailDao;
import com.epmet.dao.CustomerHomeTemplateDao;
import com.epmet.dao.HomeComponentDao;
import com.epmet.dto.CustomerHomeDTO;
import com.epmet.dto.form.ComponentListByCustomerFormDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.result.CommonComponentDesignResultDTO;
import com.epmet.dto.result.ComponentListByCustomerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
import com.epmet.service.HomeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* @Description 客户定制化服务-首页
* @Author yinzuomei
@ -15,14 +27,40 @@ import org.springframework.stereotype.Service;
*/
@Service
public class HomeServiceImpl implements HomeService {
@Autowired
private HomeComponentDao homeComponentDao;
@Autowired
private HomeComponentDao homeComponentDao;
@Autowired
private CustomerHomeDetailDao customerHomeDetailDao;
@Override
public Result<ComponentListByCustomerResultDTO> getComponentListByCustomer(ComponentListByCustomerFormDTO formDTO) {
ComponentListByCustomerResultDTO resultDTO = new ComponentListByCustomerResultDTO();
resultDTO.setCommonList(homeComponentDao.selectListCommonComponentResultDTO(formDTO));
resultDTO.setFunctionList(homeComponentDao.selectListFunctionComponentResultDTO(formDTO));
return new Result<ComponentListByCustomerResultDTO>().ok(resultDTO);
}
@Override
public Result<ComponentListByCustomerResultDTO> getComponentListByCustomer(ComponentListByCustomerFormDTO formDTO) {
ComponentListByCustomerResultDTO resultDTO = new ComponentListByCustomerResultDTO();
resultDTO.setCommonList(homeComponentDao.selectListCommonComponentResultDTO(formDTO));
resultDTO.setFunctionList(homeComponentDao.selectListFunctionComponentResultDTO(formDTO));
return new Result<ComponentListByCustomerResultDTO>().ok(resultDTO);
}
@Override
public Result<HomeDesignByCustomerResultDTO> getHomeDesignByCustomer(HomeDesignByCustomerFormDTO formDTO) {
HomeDesignByCustomerResultDTO resultDTO = new HomeDesignByCustomerResultDTO();
List<CommonComponentDesignResultDTO> list = customerHomeDetailDao.getCustomerHomeDetailComponent(formDTO);
List<CommonComponentDesignResultDTO> flist=new ArrayList<CommonComponentDesignResultDTO>();//功能组件
List<String> usedComponent=new ArrayList<>();//使用的组件集合
for(CommonComponentDesignResultDTO c:list){
usedComponent.add(c.getComponentId());
//所属区域:0.标题区、1.置顶区、2.功能区、3.悬浮区
if("0".equals(c.getRegion())){
resultDTO.setTitleList(c);
}else if("1".equals(c.getRegion())){
resultDTO.setTopList(c);
}else if("2".equals(c.getRegion())){
flist.add(c);
}else if("3".equals(c.getRegion())){
resultDTO.setFloatingList(c);
}
}
resultDTO.setFunctionList(flist);
resultDTO.setUsedComponentIdList(usedComponent);
return new Result<HomeDesignByCustomerResultDTO>().ok(resultDTO);
}
}

32
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml

@ -19,4 +19,36 @@
</resultMap>
<!-- 客户草稿列表查询 -->
<select id="getCustomerHomeDetailComponent" parameterType="com.epmet.dto.form.HomeDesignByCustomerFormDTO"
resultType="com.epmet.dto.result.CommonComponentDesignResultDTO">
SELECT
b.COMPONENT_ID,
c.COMPONENT_NAME,
b.REGION,
b.CONFIGURATION,
b.DEMO_DATA,
b.DISPLAY_ORDER
FROM
(
SELECT
*
FROM
customer_home a
WHERE 1 = 1
AND a.DEL_FLAG = 0
AND a.CUSTOMER_ID = ${customerId}
AND a.CLIENT_TYPE = ${clientType}
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
a.DEL_FLAG = 0
ORDER BY
a.CREATED_TIME DESC
LIMIT 1
</select>
</mapper>
Loading…
Cancel
Save