Browse Source

客户首页数据初始化

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
7cf2efa06d
  1. 11
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java
  2. 14
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerHomeController.java
  3. 9
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeService.java
  4. 9
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeTemplateService.java
  5. 183
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeServiceImpl.java
  6. 7
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeTemplateServiceImpl.java
  7. 20
      epmet-module/oper-customize/oper-customize-server/src/main/resources/db.migration/customer_foot_bar.sql

11
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java

@ -31,4 +31,15 @@ public interface OperCustomizeConstant {
* 数据状态-草稿
*/
Integer STATUS_IS_DRAFT = 1;
/**
* 政府端
*/
Integer GOV = 1;
/**
* 居民端
*/
Integer RESIDENT = 0;
}

14
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerHomeController.java

@ -91,4 +91,18 @@ public class CustomerHomeController {
ExcelUtils.exportExcelToTarget(response, null, list, CustomerHomeExcel.class);
}
/**
* 创建客户初始化数据
* @author zhaoqifeng
* @date 2020/5/22 11:04
* @param dto
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("init")
public Result init(@RequestBody CustomerHomeDTO dto){
//效验数据
customerHomeService.init(dto);
return new Result();
}
}

9
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeService.java

@ -92,4 +92,13 @@ public interface CustomerHomeService extends BaseService<CustomerHomeEntity> {
* @date 2020-03-10
*/
void delete(String[] ids);
/**
* 创建客户初始化数据
* @author zhaoqifeng
* @date 2020/5/22 11:04
* @param dto
* @return void
*/
void init(CustomerHomeDTO dto);
}

9
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeTemplateService.java

@ -92,4 +92,13 @@ public interface CustomerHomeTemplateService extends BaseService<CustomerHomeTem
* @date 2020-03-10
*/
void delete(String[] ids);
/**
* 根据所属端查找模板
* @author zhaoqifeng
* @date 2020/5/22 11:14
* @param client
* @return java.util.List<com.epmet.dto.CustomerHomeTemplateDTO>
*/
List<CustomerHomeTemplateDTO> getTemplateByClient(Integer client);
}

183
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeServiceImpl.java

@ -23,11 +23,16 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.OperCustomizeConstant;
import com.epmet.dao.CustomerHomeDao;
import com.epmet.dto.CustomerHomeDTO;
import com.epmet.dto.CustomerHomeTemplateDTO;
import com.epmet.dto.FunctionDTO;
import com.epmet.entity.CustomerFunctionEntity;
import com.epmet.entity.CustomerHomeDetailEntity;
import com.epmet.entity.CustomerHomeEntity;
import com.epmet.redis.CustomerHomeRedis;
import com.epmet.service.CustomerHomeService;
import com.epmet.service.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -36,9 +41,10 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 客户首页表
* 客户首页表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-10
@ -46,59 +52,124 @@ import java.util.Map;
@Service
public class CustomerHomeServiceImpl extends BaseServiceImpl<CustomerHomeDao, CustomerHomeEntity> implements CustomerHomeService {
@Autowired
private CustomerHomeRedis customerHomeRedis;
@Override
public PageData<CustomerHomeDTO> page(Map<String, Object> params) {
IPage<CustomerHomeEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, CustomerHomeDTO.class);
}
@Override
public List<CustomerHomeDTO> list(Map<String, Object> params) {
List<CustomerHomeEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, CustomerHomeDTO.class);
}
private QueryWrapper<CustomerHomeEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerHomeEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public CustomerHomeDTO get(String id) {
CustomerHomeEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, CustomerHomeDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(CustomerHomeDTO dto) {
CustomerHomeEntity entity = ConvertUtils.sourceToTarget(dto, CustomerHomeEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CustomerHomeDTO dto) {
CustomerHomeEntity entity = ConvertUtils.sourceToTarget(dto, CustomerHomeEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Autowired
private CustomerHomeRedis customerHomeRedis;
@Autowired
private CustomerHomeDetailService customerHomeDetailService;
@Autowired
private CustomerHomeTemplateService customerHomeTemplateService;
@Autowired
private FunctionService functionService;
@Autowired
private CustomerFunctionService customerFunctionService;
@Override
public PageData<CustomerHomeDTO> page(Map<String, Object> params) {
IPage<CustomerHomeEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, CustomerHomeDTO.class);
}
@Override
public List<CustomerHomeDTO> list(Map<String, Object> params) {
List<CustomerHomeEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, CustomerHomeDTO.class);
}
private QueryWrapper<CustomerHomeEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerHomeEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public CustomerHomeDTO get(String id) {
CustomerHomeEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, CustomerHomeDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(CustomerHomeDTO dto) {
CustomerHomeEntity entity = ConvertUtils.sourceToTarget(dto, CustomerHomeEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CustomerHomeDTO dto) {
CustomerHomeEntity entity = ConvertUtils.sourceToTarget(dto, CustomerHomeEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void init(CustomerHomeDTO dto) {
//居民端模板
List<CustomerHomeTemplateDTO> resiTempList = customerHomeTemplateService.getTemplateByClient(OperCustomizeConstant.RESIDENT);
//居民端草稿
saveHome(dto.getCustomerId(), OperCustomizeConstant.RESIDENT, OperCustomizeConstant.STATUS_IS_DRAFT, resiTempList);
//居民端已发布
saveHome(dto.getCustomerId(), OperCustomizeConstant.RESIDENT, OperCustomizeConstant.STATUS_IS_RELEASED, resiTempList);
//政府端模板
List<CustomerHomeTemplateDTO> govTempList = customerHomeTemplateService.getTemplateByClient(OperCustomizeConstant.GOV);
//政府端草稿
saveHome(dto.getCustomerId(), OperCustomizeConstant.GOV, OperCustomizeConstant.STATUS_IS_DRAFT, govTempList);
//政府端已发布
saveHome(dto.getCustomerId(), OperCustomizeConstant.GOV, OperCustomizeConstant.STATUS_IS_RELEASED, govTempList);
//customer_function数据
List<FunctionDTO> functionList = functionService.queryFunctionList().getData();
List<CustomerFunctionEntity> customerFunctionList = functionList.stream().map(function -> {
CustomerFunctionEntity entity = new CustomerFunctionEntity();
entity.setCustomerId(dto.getCustomerId());
entity.setFunctionId(function.getId());
return entity;
}).collect(Collectors.toList());
customerFunctionService.insertBatch(customerFunctionList);
}
/**
* 往customer_home和customer_home_detail存入数据
*
* @param customerId 客户ID
* @param client 状态 0已发布 1草稿
* @return void
* @author zhaoqifeng
* @date 2020/5/22 13:36
*/
private void saveHome(String customerId, Integer client, Integer status, List<CustomerHomeTemplateDTO> tempList) {
CustomerHomeEntity entity = new CustomerHomeEntity();
entity.setCustomerId(customerId);
entity.setClientType(client);
entity.setStatus(status);
baseDao.insert(entity);
List<CustomerHomeDetailEntity> list = tempList.stream().map(temp -> {
CustomerHomeDetailEntity detailEntity = new CustomerHomeDetailEntity();
detailEntity.setHomeId(entity.getId());
detailEntity.setComponentId(temp.getComponentId());
detailEntity.setConfiguration(temp.getConfiguration());
detailEntity.setDemoData(temp.getDemoData());
detailEntity.setDisplayOrder(temp.getDisplayOrder());
detailEntity.setRegion(temp.getRegion());
return detailEntity;
}).collect(Collectors.toList());
customerHomeDetailService.insertBatch(list);
}
}

7
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeTemplateServiceImpl.java

@ -101,4 +101,11 @@ public class CustomerHomeTemplateServiceImpl extends BaseServiceImpl<CustomerHom
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public List<CustomerHomeTemplateDTO> getTemplateByClient(Integer client) {
QueryWrapper<CustomerHomeTemplateEntity> wrapper = new QueryWrapper<>();
wrapper.eq("CLIENT_TYPE", client);
return ConvertUtils.sourceToTarget(baseDao.selectList(wrapper), CustomerHomeTemplateDTO.class);
}
}

20
epmet-module/oper-customize/oper-customize-server/src/main/resources/db.migration/customer_foot_bar.sql

@ -35,3 +35,23 @@ INSERT INTO `customer_foot_bar` VALUES ('3', '数据', 'data', '数据', NULL, N
INSERT INTO `customer_foot_bar` VALUES ('4', '发现', 'find', '发现', NULL, NULL, 0, 0, 'wxz', '2020-04-22 11:21:48', 'wxz', '2020-04-22 11:21:53');
-- SET FOREIGN_KEY_CHECKS = 1;
DROP TABLE IF EXISTS `customer_home_template`;
CREATE TABLE `customer_home_template` (
`ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识',
`COMPONENT_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组件ID home_component.ID',
`CLIENT_TYPE` int(11) NOT NULL COMMENT '所属端类型:0.居民端,1.政府端',
`REGION` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组件的“适用区域”titleList.标题区、topList.置顶区、functionList.功能区、floatingList.悬浮区',
`CONFIGURATION` varchar(3072) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '高级配置 JSON串',
`DEMO_DATA` varchar(3072) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '演示数据 JSON串',
`DISPLAY_ORDER` int(11) NOT NULL COMMENT '显示顺序',
`DEL_FLAG` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标识',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime(0) NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime(0) NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '客户首页模板表 ' ROW_FORMAT = Compact;
alter table customer_home_template add column DEL_FLAG char(1) NOT NULL DEFAULT '0' COMMENT '删除标识' after DISPLAY_ORDER;
Loading…
Cancel
Save