Browse Source

定制功能-新增、删除、查询方法

dev_shibei_match
zhangyongzhangyong 5 years ago
parent
commit
a8a034b06c
  1. 23
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CommonFunctionIdFormDTO.java
  2. 72
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/SaveFunctionCustomizedFormDTO.java
  3. 66
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FunctionCustomizedDetailResultDTO.java
  4. 46
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java
  5. 13
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFunctionDetailDao.java
  6. 23
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/FunctionCustomizedDao.java
  7. 2
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/FunctionCustomizedEntity.java
  8. 34
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/FunctionCustomizedService.java
  9. 71
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java
  10. 9
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFunctionDetailDao.xml
  11. 24
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/FunctionCustomizedDao.xml

23
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CommonFunctionIdFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 入参为定制功能ID
*
* @author zhangyong
* @since v1.0.0 2020-08-13
*/
@Data
public class CommonFunctionIdFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 定制功能ID
*/
@NotBlank(message = "定制功能ID不能为空")
private String functionId;
}

72
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/SaveFunctionCustomizedFormDTO.java

@ -0,0 +1,72 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* 定制功能新增 入参
*
* @author zhangyong
* @since v1.0.0 2020-08-13
*/
@Data
public class SaveFunctionCustomizedFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 功能名称
*/
@NotBlank(message = "功能名称不能为空")
private String functionName;
/**
* 功能类型0.默认功能1.定制功能
*/
@NotBlank(message = "功能类型:0.默认功能,1.定制功能不能为空")
private String functionGroup;
/**
* 功能说明
*/
@NotBlank(message = "功能说明不能为空")
private String functionExplain;
/**
* 默认大图标
*/
@NotBlank(message = "默认大图标不能为空")
private String iconLargeImg;
/**
* 默认小图标
*/
@NotBlank(message = "默认小图标不能为空")
private String iconSmallImg;
/**
* 外链地址
*/
@NotBlank(message = "外链地址不能为空")
private String targetLink;
/**
* 上架状态0下架1上架
*/
@NotBlank(message = "上架状态:0:下架、1:上架不能为空")
private String shoppingStatus;
/**
* 业务域名(https;//... 无端口号)
*/
@NotBlank(message = "业务域名(https;//... 无端口号)不能为空")
private String domainName;
/**
* 来源app(政府端:gov居民端:resi)
*/
@NotBlank(message = "来源app(政府端:gov、居民端:resi)不能为空")
private String fromApp;
}

66
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FunctionCustomizedDetailResultDTO.java

@ -0,0 +1,66 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 定制功能详情 返回值
*
* @author zhangyong
* @since v1.0.0 2020-08-13
*/
@Data
public class FunctionCustomizedDetailResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 功能ID(function.ID)
*/
private String functionId;
/**
* 上架状态0下架1上架
*/
private String shoppingStatus;
/**
* 功能说明
*/
private String functionExplain;
/**
* 定制详情ID
*/
private String customizedId;
/**
* 默认名称
*/
private String customizedName;
/**
* 默认大图标
*/
private String iconLargeImg;
/**
* 默认小图标
*/
private String iconSmallImg;
/**
* 外链地址
*/
private String targetLink;
/**
* 业务域名
*/
private String domainName;
/**
* 来源app(政府端:gov居民端:resi)
*/
private String fromApp;
}

46
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java

@ -26,6 +26,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.FunctionCustomizedDTO; import com.epmet.dto.FunctionCustomizedDTO;
import com.epmet.dto.form.CommonFunctionIdFormDTO;
import com.epmet.dto.form.SaveFunctionCustomizedFormDTO;
import com.epmet.dto.result.FunctionCustomizedDetailResultDTO;
import com.epmet.excel.FunctionCustomizedExcel; import com.epmet.excel.FunctionCustomizedExcel;
import com.epmet.service.FunctionCustomizedService; import com.epmet.service.FunctionCustomizedService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +94,47 @@ public class FunctionCustomizedController {
ExcelUtils.exportExcelToTarget(response, null, list, FunctionCustomizedExcel.class); ExcelUtils.exportExcelToTarget(response, null, list, FunctionCustomizedExcel.class);
} }
/**
* 定制功能新增(功能表定制功能表)
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @Author zhangyong
* @Date 09:54 2020-08-13
**/
@PostMapping("savefunctioncustomized")
public Result saveFunctionCustomized(@RequestBody SaveFunctionCustomizedFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
functionCustomizedService.saveFunctionCustomized(formDTO);
return new Result();
}
/**
* 定制功能详情
* 根据定制功能Id查询对应的详情数据
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.FunctionCustomizedDetailResultDTO>
* @Author zhangyong
* @Date 10:36 2020-08-13
**/
@PostMapping("getfunctioncustomized")
public Result<FunctionCustomizedDetailResultDTO> getFunctionCustomized(@RequestBody CommonFunctionIdFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return functionCustomizedService.getFunctionCustomized(formDTO);
}
/**
* 定制功能删除
* 单条删除在没有客户使用的前提下可以逻辑删除(客户定制功能详情表 没查到就是没人在使用)
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @Author zhangyong
* @Date 11:03 2020-08-13
**/
@PostMapping("deletefunctioncustomized")
public Result deleteFunctionCustomized(@RequestBody CommonFunctionIdFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return functionCustomizedService.deleteFunctionCustomized(formDTO);
}
} }

13
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFunctionDetailDao.java

@ -20,6 +20,9 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.CustomerFunctionDetailEntity; import com.epmet.entity.CustomerFunctionDetailEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 客户定制功能详情表 * 客户定制功能详情表
@ -30,4 +33,14 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface CustomerFunctionDetailDao extends BaseDao<CustomerFunctionDetailEntity> { public interface CustomerFunctionDetailDao extends BaseDao<CustomerFunctionDetailEntity> {
/**
* 根据functionId查询使用该功能的客户id customizedId
* 可用来判断该功能是否有客户在使用
*
* @param functionId
* @return java.util.List<java.lang.String>
* @Author zhangyong
* @Date 11:14 2020-08-13
**/
List<String> selectCustomerIdByFunctionId(@Param("functionId") String functionId);
} }

23
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/FunctionCustomizedDao.java

@ -18,8 +18,11 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.CommonFunctionIdFormDTO;
import com.epmet.dto.result.FunctionCustomizedDetailResultDTO;
import com.epmet.entity.FunctionCustomizedEntity; import com.epmet.entity.FunctionCustomizedEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 定制功能 * 定制功能
@ -30,4 +33,24 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface FunctionCustomizedDao extends BaseDao<FunctionCustomizedEntity> { public interface FunctionCustomizedDao extends BaseDao<FunctionCustomizedEntity> {
/**
* 定制功能详情
* 根据定制功能Id查询对应的详情数据
*
* @param formDTO
* @return com.epmet.dto.result.FunctionCustomizedDetailResultDTO
* @Author zhangyong
* @Date 10:36 2020-08-13
**/
FunctionCustomizedDetailResultDTO getFunctionCustomizedByFunctionId(CommonFunctionIdFormDTO formDTO);
/**
* 根据functionId, 对定制功能表进行逻辑删除
*
* @param functionId
* @return void
* @Author zhangyong
* @Date 13:31 2020-08-13
**/
void delByFunctionId(@Param("functionId") String functionId);
} }

2
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/FunctionCustomizedEntity.java

@ -66,7 +66,7 @@ public class FunctionCustomizedEntity extends BaseEpmetEntity {
/** /**
* 业务域名 * 业务域名
*/ */
private String realmName; private String domainName;
/** /**
* 来源app(政府端:gov居民端:resi) * 来源app(政府端:gov居民端:resi)

34
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/FunctionCustomizedService.java

@ -19,7 +19,11 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.FunctionCustomizedDTO; import com.epmet.dto.FunctionCustomizedDTO;
import com.epmet.dto.form.CommonFunctionIdFormDTO;
import com.epmet.dto.form.SaveFunctionCustomizedFormDTO;
import com.epmet.dto.result.FunctionCustomizedDetailResultDTO;
import com.epmet.entity.FunctionCustomizedEntity; import com.epmet.entity.FunctionCustomizedEntity;
import java.util.List; import java.util.List;
@ -92,4 +96,34 @@ public interface FunctionCustomizedService extends BaseService<FunctionCustomize
* @date 2020-08-11 * @date 2020-08-11
*/ */
void delete(String[] ids); void delete(String[] ids);
/**
* 定制功能新增(功能表定制功能表)
*
* @param formDTO
* @Author zhangyong
* @Date 09:54 2020-08-13
**/
void saveFunctionCustomized(SaveFunctionCustomizedFormDTO formDTO);
/**
* 定制功能详情
* 根据定制功能Id查询对应的详情数据
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.FunctionCustomizedDetailResultDTO>
* @Author zhangyong
* @Date 10:36 2020-08-13
**/
Result<FunctionCustomizedDetailResultDTO> getFunctionCustomized(CommonFunctionIdFormDTO formDTO);
/**
* 定制功能删除
* 单条删除在没有客户使用的前提下可以逻辑删除(客户定制功能详情表 没查到就是没人在使用)
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @Author zhangyong
* @Date 11:03 2020-08-13
**/
Result deleteFunctionCustomized(CommonFunctionIdFormDTO formDTO);
} }

71
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java

@ -20,14 +20,23 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerFunctionDetailDao;
import com.epmet.dao.FunctionCustomizedDao; import com.epmet.dao.FunctionCustomizedDao;
import com.epmet.dao.FunctionDao;
import com.epmet.dto.FunctionCustomizedDTO; import com.epmet.dto.FunctionCustomizedDTO;
import com.epmet.dto.form.CommonFunctionIdFormDTO;
import com.epmet.dto.form.SaveFunctionCustomizedFormDTO;
import com.epmet.dto.result.FunctionCustomizedDetailResultDTO;
import com.epmet.entity.FunctionCustomizedEntity; import com.epmet.entity.FunctionCustomizedEntity;
import com.epmet.entity.FunctionEntity;
import com.epmet.redis.FunctionCustomizedRedis; import com.epmet.redis.FunctionCustomizedRedis;
import com.epmet.service.FunctionCustomizedService; import com.epmet.service.FunctionCustomizedService;
import com.epmet.service.FunctionService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -48,6 +57,10 @@ public class FunctionCustomizedServiceImpl extends BaseServiceImpl<FunctionCusto
@Autowired @Autowired
private FunctionCustomizedRedis functionCustomizedRedis; private FunctionCustomizedRedis functionCustomizedRedis;
@Autowired
private FunctionService functionService;
@Autowired
private CustomerFunctionDetailDao customerFunctionDetailDao;
@Override @Override
public PageData<FunctionCustomizedDTO> page(Map<String, Object> params) { public PageData<FunctionCustomizedDTO> page(Map<String, Object> params) {
@ -101,4 +114,62 @@ public class FunctionCustomizedServiceImpl extends BaseServiceImpl<FunctionCusto
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void saveFunctionCustomized(SaveFunctionCustomizedFormDTO formDTO) {
// 1、定制功能新增,保存数据到 功能表
FunctionEntity functionEntity = this.saveFunction(formDTO);
// 2、定制功能新增,保存数据到 定制功能表
FunctionCustomizedEntity entity = new FunctionCustomizedEntity();
entity.setFunctionId(functionEntity.getId());
entity.setCustomizedName(formDTO.getFunctionName());
entity.setIconLargeImg(formDTO.getIconLargeImg());
entity.setIconSmallImg(formDTO.getIconSmallImg());
entity.setTargetLink(formDTO.getTargetLink());
entity.setDomainName(formDTO.getDomainName());
entity.setFromApp(formDTO.getFromApp());
insert(entity);
}
@Override
public Result<FunctionCustomizedDetailResultDTO> getFunctionCustomized(CommonFunctionIdFormDTO formDTO) {
FunctionCustomizedDetailResultDTO resultDTO = baseDao.getFunctionCustomizedByFunctionId(formDTO);
return new Result<FunctionCustomizedDetailResultDTO>().ok(resultDTO);
}
@Override
public Result deleteFunctionCustomized(CommonFunctionIdFormDTO formDTO) {
// 1.客户定制功能详情表 ,没查到就是没人在使用
List<String> customizedId = customerFunctionDetailDao.selectCustomerIdByFunctionId(formDTO.getFunctionId());
if (customizedId != null && customizedId.size() > NumConstant.ZERO){
return new Result<>().error(8000, "功能正在使用中,不允许删除!");
} else {
// 2.单条逻辑删除 - 功能表
String[] ids = new String[1];
ids[0] = formDTO.getFunctionId();
functionService.delete(ids);
// 3.单条逻辑删除 - 定制功能表
baseDao.delByFunctionId(formDTO.getFunctionId());
}
return new Result();
}
/**
* 保存数据到 功能表
* @param formDTO
* @return com.epmet.entity.FunctionEntity
* @Author zhangyong
* @Date 10:03 2020-08-13
**/
private FunctionEntity saveFunction(SaveFunctionCustomizedFormDTO formDTO){
FunctionEntity entity = new FunctionEntity();
entity.setFunctionName(formDTO.getFunctionName());
entity.setFunctionIcon(formDTO.getIconLargeImg());
entity.setFunctionGroup(Integer.valueOf(formDTO.getFunctionGroup()));
entity.setShoppingStatus(Integer.valueOf(formDTO.getShoppingStatus()));
entity.setFunctionExplain(formDTO.getFunctionExplain());
functionService.insert(entity);
return entity;
}
} }

9
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFunctionDetailDao.xml

@ -3,5 +3,14 @@
<mapper namespace="com.epmet.dao.CustomerFunctionDetailDao"> <mapper namespace="com.epmet.dao.CustomerFunctionDetailDao">
<!-- 根据functionId查询使用该功能的,客户id -->
<select id="selectCustomerIdByFunctionId" parameterType="String"
resultType="String">
SELECT
CUSTOMER_ID customizedId
FROM customer_function_detail
WHERE DEL_FLAG = '0'
AND FUNCTION_ID = #{functionId}
</select>
</mapper> </mapper>

24
epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/FunctionCustomizedDao.xml

@ -2,7 +2,27 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.FunctionCustomizedDao"> <mapper namespace="com.epmet.dao.FunctionCustomizedDao">
<!-- 定制功能详情查询 -->
<select id="getFunctionCustomizedByFunctionId" parameterType="com.epmet.dto.form.CommonFunctionIdFormDTO"
resultType="com.epmet.dto.result.FunctionCustomizedDetailResultDTO">
SELECT
cu.FUNCTION_ID functionId,
f.SHOPPING_STATUS shoppingStatus,
f.FUNCTION_EXPLAIN functionExplain,
cu.ID customizedId,
cu.CUSTOMIZED_NAME customizedName,
cu.ICON_LARGE_IMG iconLargeImg,
cu.ICON_SMALL_IMG iconSmallImg,
cu.TARGET_LINK targetLink,
cu.DOMAIN_NAME domainName,
cu.FROM_APP fromApp
FROM function_customized cu
LEFT JOIN `function` f ON cu.FUNCTION_ID = f.ID
WHERE cu.DEL_FLAG = '0'
AND cu.FUNCTION_ID = #{functionId}
</select>
<update id="delByFunctionId" parameterType="String">
update function_customized set DEL_FLAG = 1 where FUNCTION_ID = #{functionId} and DEL_FLAG = '0'
</update>
</mapper> </mapper>
Loading…
Cancel
Save