Browse Source

完成应用维护

master
wxz 5 years ago
parent
commit
320a9dbc4c
  1. 3
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/ExternalAppFormDTO.java
  2. 12
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/ExternalAppResultDTO.java
  3. 32
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java
  4. 7
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/ExternalAppDao.java
  5. 5
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java
  6. 73
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java
  7. 34
      epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/ExternalAppDao.xml

3
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/ExternalAppFormDTO.java

@ -19,4 +19,7 @@ public class ExternalAppFormDTO {
@NotBlank(message = "缺少所属客户ID", groups = { AddExternalApp.class, UpdateExternalApp.class })
private String customerId;
private Integer pageNo = 1;
private Integer pageSize = 10;
}

12
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/result/ExternalAppResultDTO.java

@ -5,7 +5,7 @@ import lombok.Data;
@Data
public class ExternalAppResultDTO {
public String id;
public String appId;
/**
* APP名字
*/
@ -16,4 +16,14 @@ public class ExternalAppResultDTO {
*/
private String customerId;
/**
* 客户名称
*/
private String customerName;
/**
* 秘钥
*/
private String secret;
}

32
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/ExternalAppController.java

@ -1,6 +1,7 @@
package com.epmet.controller;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.ExternalAppAuthFormDTO;
@ -18,8 +19,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
@RestController
@RequestMapping("/externalapp")
public class ExternalAppController {
@ -67,4 +66,33 @@ public class ExternalAppController {
return new Result<ExternalAppResultDTO>().ok(dto);
}
/**
* 修改应用
* @param formDTO
* @return
*/
@PostMapping("/update")
public Result<ExternalAppResultDTO> update(@RequestBody ExternalAppFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ExternalAppFormDTO.UpdateExternalApp.class);
String appId = formDTO.getAppId();
String appName = formDTO.getAppName();
String customerId = formDTO.getCustomerId();
ExternalAppResultDTO dto = externalAppService.updateById(appId, appName, customerId);
return new Result<ExternalAppResultDTO>().ok(dto);
}
/**
* 查询列表
* @param formDTO
* @return
*/
@PostMapping("/list")
public Result<PageData<ExternalAppResultDTO>> list(@RequestBody ExternalAppFormDTO formDTO) {
PageData<ExternalAppResultDTO> page = externalAppService.listPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getCustomerId());
return new Result<PageData<ExternalAppResultDTO>>().ok(page);
}
}

7
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/ExternalAppDao.java

@ -18,10 +18,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ExternalAppResultDTO;
import com.epmet.entity.ExternalAppEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 外部应用列表
*
@ -32,4 +35,8 @@ import org.apache.ibatis.annotations.Param;
public interface ExternalAppDao extends BaseDao<ExternalAppEntity> {
Integer countByAppNameAndCustomerId(@Param("appName") String appName, @Param("customerId") String customerId);
ExternalAppResultDTO getByNameAndCustomerId(@Param("appName") String appName, @Param("customerId") String customerId);
List<ExternalAppResultDTO> list(@Param("customerId") String customerId);
}

5
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/ExternalAppService.java

@ -17,6 +17,7 @@
package com.epmet.service;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.result.ExternalAppResultDTO;
/**
@ -27,4 +28,8 @@ import com.epmet.dto.result.ExternalAppResultDTO;
*/
public interface ExternalAppService {
ExternalAppResultDTO add(String appName, String customerId);
ExternalAppResultDTO updateById(String appId, String appName, String customerId);
PageData<ExternalAppResultDTO> listPage(Integer pageNo, Integer pageSize, String customerId);
}

73
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ExternalAppServiceImpl.java

@ -19,13 +19,22 @@ package com.epmet.service.impl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dao.ExternalAppDao;
import com.epmet.dao.ExternalAppSecretDao;
import com.epmet.dao.ExternalCustomerDao;
import com.epmet.dto.result.ExternalAppResultDTO;
import com.epmet.entity.ExternalAppEntity;
import com.epmet.entity.ExternalAppSecretEntity;
import com.epmet.service.ExternalAppService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.UUID;
/**
* 外部应用列表
@ -39,9 +48,13 @@ public class ExternalAppServiceImpl implements ExternalAppService {
@Autowired
private ExternalAppDao externalAppDao;
@Autowired
private ExternalAppSecretDao externalAppSecretDao;
@Autowired
private ExternalCustomerDao externalCustomerDao;
@Transactional
@Override
public ExternalAppResultDTO add(String appName, String customerId) {
Integer count = externalAppDao.countByAppNameAndCustomerId(appName, customerId);
@ -55,16 +68,66 @@ public class ExternalAppServiceImpl implements ExternalAppService {
EpmetErrorCode.OPER_EXTERNAL_CUSTOMER_NOT_EXISTS.getMsg());
}
ExternalAppEntity entity = new ExternalAppEntity();
entity.setAppName(appName);
entity.setCustomerId(customerId);
externalAppDao.insert(entity);
// 应用表插入
ExternalAppEntity appEntity = new ExternalAppEntity();
appEntity.setAppName(appName);
appEntity.setCustomerId(customerId);
externalAppDao.insert(appEntity);
// 秘钥表插入
ExternalAppSecretEntity secretEntity = new ExternalAppSecretEntity();
secretEntity.setAppId(appEntity.getId());
secretEntity.setSecret(genSecret());
externalAppSecretDao.insert(secretEntity);
ExternalAppResultDTO dto = new ExternalAppResultDTO();
dto.setAppName(appName);
dto.setCustomerId(customerId);
dto.setId(entity.getId());
dto.setAppId(appEntity.getId());
return dto;
}
/**
* 生成秘钥
* @return
*/
private String genSecret() {
String part1 = UUID.randomUUID().toString();
String part2 = UUID.randomUUID().toString();
return part1.concat(part2).replace("-", "");
}
@Override
public ExternalAppResultDTO updateById(String appId, String appName, String customerId) {
ExternalAppEntity exists = externalAppDao.selectById(appId);
if (exists == null) {
throw new RenException(EpmetErrorCode.OPER_EXTERNAL_CUSTOMER_NOT_EXISTS.getCode(),
EpmetErrorCode.OPER_EXTERNAL_CUSTOMER_NOT_EXISTS.getMsg());
}
ExternalAppResultDTO byName = externalAppDao.getByNameAndCustomerId(appName, customerId);
if (byName != null && !byName.getAppId().equals(appId)) {
// 说明改了之后的名字跟当前客户内的其他应用重复
throw new RenException(EpmetErrorCode.OPER_EXTERNAL_APP_EXISTS.getCode(), "应用名称重复");
}
exists.setAppName(appName);
exists.setCustomerId(customerId);
externalAppDao.updateById(exists);
ExternalAppResultDTO resultDTO = new ExternalAppResultDTO();
resultDTO.setAppId(appId);
resultDTO.setCustomerId(customerId);
resultDTO.setAppName(appName);
return resultDTO;
}
@Override
public PageData<ExternalAppResultDTO> listPage(Integer pageNo, Integer pageSize, String customerId) {
PageHelper.startPage(pageNo, pageSize);
List<ExternalAppResultDTO> list = externalAppDao.list(customerId);
PageInfo<ExternalAppResultDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
}

34
epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/ExternalAppDao.xml

@ -24,6 +24,40 @@
WHERE
APP_NAME = #{appName}
AND CUSTOMER_ID = #{customerId}
AND DEL_FLAG = 0
</select>
<select id="list" resultType="com.epmet.dto.result.ExternalAppResultDTO">
SELECT
ea.ID appId,
ea.APP_NAME,
ea.CUSTOMER_ID,
ec.CUSTOMER_NAME ,
eas.SECRET
FROM
external_app ea
INNER JOIN external_customer ec ON ( ea.CUSTOMER_ID = ec.ID )
LEFT JOIN external_app_secret eas ON (ea.ID = eas.APP_ID)
<where>
ea.DEL_FLAG = 0
<if test="customerId != null and customerId != ''">
AND ea.CUSTOMER_ID = #{customerId}
</if>
</where>
</select>
<select id="getByNameAndCustomerId" resultType="com.epmet.dto.result.ExternalAppResultDTO">
SELECT
ID AS appId,
APP_NAME ,
CUSTOMER_ID
FROM
external_app
WHERE
APP_NAME = #{appName}
AND
CUSTOMER_ID = #{customerId}
AND DEL_FLAG = 0
</select>

Loading…
Cancel
Save