Browse Source

Merge branch 'dev1.0-opercustomize' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev1.0-resiguide

dev_shibei_match
sunyuchao 6 years ago
parent
commit
11f2122c86
  1. 42
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/HomeComponentFormDTO.java
  2. 28
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/HomeDesignByCustomerFormDTO.java
  3. 33
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/HomeDesignFormDTO.java
  4. 50
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CommonComponentDesignResultDTO.java
  5. 37
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/HomeDesignByCustomerResultDTO.java
  6. 45
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/HomeController.java
  7. 15
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDao.java
  8. 16
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeDetailDao.java
  9. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerHomeTemplateDao.java
  10. 30
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/HomeService.java
  11. 94
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/HomeServiceImpl.java
  12. 13
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDao.xml
  13. 38
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDetailDao.xml

42
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/HomeComponentFormDTO.java

@ -0,0 +1,42 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* 运营端-客户定制化服务-首页设计稿组件上传数据-入参
* @author zhaoqifeng
* @date 2020/3/16 11:27
*/
@Data
public class HomeComponentFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 组件id
*/
private String componentId;
/**
* 所属区域
*/
private Integer region;
/**
* 高级配置项
*/
private String configuration;
/**
* 默认数据
*/
private String demoData;
/**
* 显示顺序
*/
private Integer displayOrder;
}

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;
}

33
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/HomeDesignFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.form;
/**
* 运营端-客户定制化服务-首页设计稿组件上传数据-入参
* @author zhaoqifeng
* @date 2020/3/16 11:27
*/
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class HomeDesignFormDTO implements Serializable {
private static final long serialVersionUID = -246434129998560246L;
/**
* 客户id
*/
private String customerId;
/**
* 所属端类型 0:居民端 1:政府端
*/
private String clientType;
/**
* 组件集合
*/
private List<HomeComponentFormDTO> componentList;
}

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;
}

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

@ -3,9 +3,11 @@ 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.form.HomeDesignFormDTO;
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;
import org.springframework.web.bind.annotation.*;
@ -33,4 +35,45 @@ 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);
}
/**
* 首页设计稿组件上传数据
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* Date 2020/3/16 13:21
**/
@PostMapping("savehomedesign")
public Result saveHomeDesign(@RequestBody HomeDesignFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
homeService.saveHomeDesign(formDTO);
return new Result();
}
/**
* 首页设计稿发版
* @param formDTO 参数
* @return com.epmet.commons.tools.utils.Result
* @author zhaoqifeng
* Date 2020/3/16 13:21
**/
@PostMapping("distributehomedesign")
public Result distributeHomeDesign(@RequestBody HomeDesignFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
homeService.distributeHomeDesign(formDTO);
return new Result();
}
}

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

@ -18,9 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.HomeDesignFormDTO;
import com.epmet.entity.CustomerHomeEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 客户首页表
*
@ -29,5 +32,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface CustomerHomeDao extends BaseDao<CustomerHomeEntity> {
/**
*
* 客户首页列表查询
*
* @param formDTO
* @return java.util.List<com.epmet.dto.result.CommonComponentResultDTO>
* @author zhaoqifeng
* @date 2020/3/16 14:02
**/
List<CustomerHomeEntity> selectCustomerHomeList(HomeDesignFormDTO formDTO);
}

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

@ -18,9 +18,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.result.CommonComponentDesignResultDTO;
import com.epmet.entity.CustomerHomeDetailEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 客户首页详情表
*
@ -29,5 +33,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface CustomerHomeDetailDao extends BaseDao<CustomerHomeDetailEntity> {
/**
*
* 根据界面id清除数据
*
* @param homeId 界面ID
* @author zhaoqifeng
* @date 2020/3/16 14:02
*/
void updateCustomerHomeDetailByHomeId(String homeId);
List<CommonComponentDesignResultDTO> getCustomerHomeDetailComponent(HomeDesignByCustomerFormDTO form);
}

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> {
}

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

@ -2,7 +2,10 @@ 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.form.HomeDesignFormDTO;
import com.epmet.dto.result.ComponentListByCustomerResultDTO;
import com.epmet.dto.result.HomeDesignByCustomerResultDTO;
/**
* @Description 客户定制化服务-首页
@ -18,4 +21,31 @@ 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);
/**
*
* 首页设计稿组件上传数据
* @param: formDTO
* @author: zhaoqifeng
* @date: 2020/03/16 13:49:41
*/
void saveHomeDesign(HomeDesignFormDTO formDTO);
/**
*
* 首页设计稿发版
* @param: formDTO
* @author: zhaoqifeng
* @date: 2020/03/16 13:49:41
*/
void distributeHomeDesign(HomeDesignFormDTO formDTO);
}

94
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.HomeComponentDao;
import com.epmet.dto.form.ComponentListByCustomerFormDTO;
import com.epmet.dto.form.HomeComponentFormDTO;
import com.epmet.dto.form.HomeDesignByCustomerFormDTO;
import com.epmet.dto.form.HomeDesignFormDTO;
import com.epmet.dto.result.CommonComponentDesignResultDTO;
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.HomeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @Description 客户定制化服务-首页
* @Author yinzuomei
@ -15,14 +27,84 @@ import org.springframework.stereotype.Service;
*/
@Service
public class HomeServiceImpl implements HomeService {
@Autowired
private HomeComponentDao homeComponentDao;
@Autowired
private CustomerHomeDetailDao customerHomeDetailDao;
@Autowired
private HomeComponentDao homeComponentDao;
private CustomerHomeDao customerHomeDao;
@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);
}
@Override
public void saveHomeDesign(HomeDesignFormDTO formDTO) {
//根据客户ID和所属端类型从客户首页表找到对应的已发布和草稿
List<CustomerHomeEntity> customerHomeList = customerHomeDao.selectCustomerHomeList(formDTO);
//只处理草稿的数据
for(CustomerHomeEntity entity : customerHomeList) {
if (entity.getStatus() == 1) {
saveCustomerHomeDetail(formDTO, entity);
}
}
}
@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);
public void distributeHomeDesign(HomeDesignFormDTO formDTO) {
//根据客户ID和所属端类型从客户首页表找到对应的已发布和草稿
List<CustomerHomeEntity> customerHomeList = customerHomeDao.selectCustomerHomeList(formDTO);
//草稿和模板数据都要处理
for(CustomerHomeEntity entity : customerHomeList) {
saveCustomerHomeDetail(formDTO, entity);
}
}
private void saveCustomerHomeDetail(HomeDesignFormDTO formDTO, CustomerHomeEntity entity) {
//根据homeID清空客户首页详情表中的数据
customerHomeDetailDao.updateCustomerHomeDetailByHomeId(entity.getId());
//将数据存入客户首页详情表
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);
}
}
}

13
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerHomeDao.xml

@ -16,5 +16,18 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 功能组件列表查询 -->
<select id="selectCustomerHomeList" parameterType="com.epmet.dto.form.HomeDesignFormDTO"
resultMap="customerHomeMap">
SELECT
*
FROM
CUSTOMER_HOME ch
WHERE
CUSTOMER_ID = #{customerId}
AND CLIENT_TYPE = #{clientType}
AND DEL_FLAG = '0'
</select>
</mapper>

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

@ -18,5 +18,43 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<update id="updateCustomerHomeDetailByHomeId" parameterType="java.lang.String">
UPDATE
CUSTOMER_HOME_DETAIL
set
DEL_FLAG = 1
WHERE
HOME_ID = #{homeId}
AND DEL_FLAG = 0
</update>
<!-- 客户草稿列表查询 -->
<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
</select>
</mapper>
Loading…
Cancel
Save