Browse Source

小程序获取定制功能列表、定制功能访问记录

master
sunyuchao 5 years ago
parent
commit
f83947cc31
  1. 35
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/FunctionDetailFromDTO.java
  2. 56
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/FunctionVisitedFromDTO.java
  3. 50
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FunctionDetailResultDTO.java
  4. 30
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFunctionDetailController.java
  5. 34
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedVisitedController.java
  6. 10
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/CustomerFunctionDetailDao.java
  7. 10
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFunctionDetailService.java
  8. 9
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/FunctionCustomizedVisitedService.java
  9. 21
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFunctionDetailServiceImpl.java
  10. 14
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedVisitedServiceImpl.java
  11. 29
      epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/CustomerFunctionDetailDao.xml

35
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/FunctionDetailFromDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 查询客户定制功能列表-接口入参
* @Author sun
*/
@Data
public class FunctionDetailFromDTO implements Serializable {
private static final long serialVersionUID = -6163303184086480522L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
/**
* 客户ID
*/
@NotBlank(message = "客户Id不能为空", groups = {AddUserShowGroup.class})
private String customerId;
/**
* resi居民端work工作端
*/
@NotBlank(message = "所属端不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class})
private String clientType;
}

56
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/FunctionVisitedFromDTO.java

@ -0,0 +1,56 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 查询客户定制功能列表-接口入参
* @Author sun
*/
@Data
public class FunctionVisitedFromDTO implements Serializable {
private static final long serialVersionUID = -6163303184086480522L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
/**
* 用户Id
*/
private String userId;
/**
* 客户Id
*/
private String customerId;
/**
* 所属端
*/
@NotBlank(message = "所属端不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class})
private String clientType;
/**
* 功能Id
*/
@NotBlank(message = "功能Id不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class})
private String functionId;
/**
* 请求地址
*/
@NotBlank(message = "请求地址不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class})
private String url;
/**
* 结果
*/
@NotBlank(message = "结果不能为空", groups = {AddUserInternalGroup.class, AddUserShowGroup.class})
private String result;
/**
* 原因
*/
private String msg;
}

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

@ -0,0 +1,50 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
/**
* 查询客户定制功能列表-接口返参
* @Author sun
*/
@Data
public class FunctionDetailResultDTO implements Serializable {
private static final long serialVersionUID = 2971689193155710437L;
/**
* 功能Id
*/
private String functionId;
/**
* 自定义功能名称
*/
private String functionName;
/**
* 自定义大图标
*/
private String iconLargeImg;
/**
* 自定义小图标
*/
private String iconSmallImg;
/**
* 请求地址https://+业务域名+外链地址)
*/
private String url;
/**
* 自定义排序
*/
private String dispalyOrder;
/**
* 自定义json(目前是空值)
*/
private ArrayList customerParameter;
}

30
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFunctionDetailController.java

@ -17,7 +17,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -26,6 +28,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.CustomerFunctionDetailDTO;
import com.epmet.dto.FunctionDTO;
import com.epmet.dto.form.FunctionDetailFromDTO;
import com.epmet.dto.result.FunctionDetailResultDTO;
import com.epmet.excel.CustomerFunctionDetailExcel;
import com.epmet.service.CustomerFunctionDetailService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +96,29 @@ public class CustomerFunctionDetailController {
ExcelUtils.exportExcelToTarget(response, null, list, CustomerFunctionDetailExcel.class);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 居民端-获取客户定制功能列表
**/
@PostMapping("resifunctiondetaillist")
public Result<List<FunctionDetailResultDTO>> resiFunctionDetail(@LoginUser TokenDto tokenDto, @RequestBody FunctionDetailFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, FunctionDetailFromDTO.AddUserShowGroup.class);
return new Result<List<FunctionDetailResultDTO>>().ok(customerFunctionDetailService.resiAndWorkFunctionDetail(formDTO));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 工作端-获取客户定制功能列表
**/
@PostMapping("workfunctiondetaillist")
public Result<List<FunctionDetailResultDTO>> workFunctionDetail(@LoginUser TokenDto tokenDto, @RequestBody FunctionDetailFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, FunctionDetailFromDTO.AddUserInternalGroup.class);
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<List<FunctionDetailResultDTO>>().ok(customerFunctionDetailService.resiAndWorkFunctionDetail(formDTO));
}
}

34
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedVisitedController.java

@ -17,7 +17,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -26,6 +28,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.FunctionCustomizedVisitedDTO;
import com.epmet.dto.form.FunctionDetailFromDTO;
import com.epmet.dto.form.FunctionVisitedFromDTO;
import com.epmet.dto.result.FunctionDetailResultDTO;
import com.epmet.excel.FunctionCustomizedVisitedExcel;
import com.epmet.service.FunctionCustomizedVisitedService;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,4 +96,33 @@ public class FunctionCustomizedVisitedController {
ExcelUtils.exportExcelToTarget(response, null, list, FunctionCustomizedVisitedExcel.class);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 居民端-保存定制功能访问记录
**/
@PostMapping("saveresifunctionvisited")
public Result saveResiFunctionVisited(@LoginUser TokenDto tokenDto, @RequestBody FunctionVisitedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, FunctionVisitedFromDTO.AddUserInternalGroup.class, FunctionVisitedFromDTO.AddUserShowGroup.class);
formDTO.setUserId(tokenDto.getUserId());
functionCustomizedVisitedService.saveFunctionVisited(formDTO);
return new Result();
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 工作端-保存定制功能访问记录
**/
@PostMapping("saveworkfunctionvisited")
public Result<List<FunctionDetailResultDTO>> saveWorkFunctionVisited(@LoginUser TokenDto tokenDto, @RequestBody FunctionVisitedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, FunctionVisitedFromDTO.AddUserInternalGroup.class, FunctionVisitedFromDTO.AddUserShowGroup.class);
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
functionCustomizedVisitedService.saveFunctionVisited(formDTO);
return new Result();
}
}

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

@ -19,6 +19,8 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerFunctionDetailDTO;
import com.epmet.dto.form.FunctionDetailFromDTO;
import com.epmet.dto.result.FunctionDetailResultDTO;
import com.epmet.entity.CustomerFunctionDetailEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -44,4 +46,12 @@ public interface CustomerFunctionDetailDao extends BaseDao<CustomerFunctionDetai
* @Date 11:14 2020-08-13
**/
List<CustomerFunctionDetailDTO> selectCustomerIdByFunctionId(@Param("functionId") String functionId);
/**
* @param formDTO
* @return
* @Author sun
* @Description 根据所属端和客户Id查询客户定制功能列表
**/
List<FunctionDetailResultDTO> selectFunctionDetailList(FunctionDetailFromDTO formDTO);
}

10
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFunctionDetailService.java

@ -20,6 +20,8 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.CustomerFunctionDetailDTO;
import com.epmet.dto.form.FunctionDetailFromDTO;
import com.epmet.dto.result.FunctionDetailResultDTO;
import com.epmet.entity.CustomerFunctionDetailEntity;
import java.util.List;
@ -92,4 +94,12 @@ public interface CustomerFunctionDetailService extends BaseService<CustomerFunct
* @date 2020-08-11
*/
void delete(String[] ids);
/**
* @param formDTO
* @return
* @Author sun
* @Description 根据所属端和客户Id查询客户定制功能列表
**/
List<FunctionDetailResultDTO> resiAndWorkFunctionDetail(FunctionDetailFromDTO formDTO);
}

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

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.FunctionCustomizedVisitedDTO;
import com.epmet.dto.form.FunctionVisitedFromDTO;
import com.epmet.entity.FunctionCustomizedVisitedEntity;
import java.util.List;
@ -92,4 +93,12 @@ public interface FunctionCustomizedVisitedService extends BaseService<FunctionCu
* @date 2020-08-13
*/
void delete(String[] ids);
/**
* @param formDTO
* @return
* @Author sun
* @Description 保存定制功能访问记录
**/
void saveFunctionVisited(FunctionVisitedFromDTO formDTO);
}

21
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFunctionDetailServiceImpl.java

@ -20,15 +20,19 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.CustomerFunctionDetailDao;
import com.epmet.dto.CustomerFunctionDetailDTO;
import com.epmet.dto.form.FunctionDetailFromDTO;
import com.epmet.dto.result.FunctionDetailResultDTO;
import com.epmet.entity.CustomerFunctionDetailEntity;
import com.epmet.redis.CustomerFunctionDetailRedis;
import com.epmet.service.CustomerFunctionDetailService;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -46,6 +50,7 @@ import java.util.Map;
@Service
public class CustomerFunctionDetailServiceImpl extends BaseServiceImpl<CustomerFunctionDetailDao, CustomerFunctionDetailEntity> implements CustomerFunctionDetailService {
private Logger logger = LogManager.getLogger(CustomerFunctionDetailServiceImpl.class);
@Autowired
private CustomerFunctionDetailRedis customerFunctionDetailRedis;
@ -101,4 +106,18 @@ public class CustomerFunctionDetailServiceImpl extends BaseServiceImpl<CustomerF
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 根据所属端和客户Id查询客户定制功能列表
**/
@Override
public List<FunctionDetailResultDTO> resiAndWorkFunctionDetail(FunctionDetailFromDTO formDTO) {
//根据客户Id和所属端查询客户定制功能列表数据
logger.info(String.format("根据客户Id和所属端查询客户定制功能列表,对应客户Id->%s,所属端->%s", formDTO.getCustomerId(), formDTO.getClientType()));
List<FunctionDetailResultDTO> list = baseDao.selectFunctionDetailList(formDTO);
return list;
}
}

14
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedVisitedServiceImpl.java

@ -25,6 +25,7 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.FunctionCustomizedVisitedDao;
import com.epmet.dto.FunctionCustomizedVisitedDTO;
import com.epmet.dto.form.FunctionVisitedFromDTO;
import com.epmet.entity.FunctionCustomizedVisitedEntity;
import com.epmet.redis.FunctionCustomizedVisitedRedis;
import com.epmet.service.FunctionCustomizedVisitedService;
@ -101,4 +102,17 @@ public class FunctionCustomizedVisitedServiceImpl extends BaseServiceImpl<Functi
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 保存定制功能访问记录
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void saveFunctionVisited(FunctionVisitedFromDTO formDTO) {
FunctionCustomizedVisitedEntity entity = ConvertUtils.sourceToTarget(formDTO, FunctionCustomizedVisitedEntity.class);
insert(entity);
}
}

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

@ -20,4 +20,33 @@
WHERE DEL_FLAG = '0'
AND FUNCTION_ID = #{functionId}
</select>
<select id="selectFunctionDetailList" resultType="com.epmet.dto.result.FunctionDetailResultDTO">
SELECT
cfd.function_id AS "functionId",
cfd.function_name AS "functionName",
cfd.icon_large_img AS "iconLargeImg",
cfd.icon_small_img AS "iconSmallImg",
CONCAT(
'https://',
cfd.domain_name,
cfd.target_link
) AS "url",
cfd.display_order AS "dispalyOrder"
FROM
customer_function_detail cfd
INNER JOIN `function` f ON cfd.function_id = f.id
INNER JOIN function_customized fc ON cfd.function_id = fc.function_id
WHERE
cfd.del_flag = '0'
AND f.del_flag = '0'
AND fc.del_flag = '0'
AND f.function_group = '1' <!-- 功能类型:0.默认功能,1.定制功能 -->
AND f.shopping_status = '1' <!-- 上架状态:0:下架、1:上架 -->
AND cfd.customer_id = #{customerId}
AND fc.from_app = #{clientType}
ORDER BY
cfd.display_order ASC
</select>
</mapper>

Loading…
Cancel
Save