Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev/one' into dev/one

# Conflicts:
#	diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java
wangyu 6 rokov pred
rodič
commit
3b7ee0837c

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java

@@ -47,9 +47,9 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
      */
     public Boolean addProducts(AddProductsVO addProductsVO) {
         LantoneProduct lantoneProduct =new LantoneProduct();
+        BeanUtil.copyProperties(addProductsVO,lantoneProduct);
         lantoneProduct.setGmtCreate(DateUtil.now());
         lantoneProduct.setCreator(UserUtils.getCurrentPrincipleID());
-        BeanUtil.copyProperties(addProductsVO,lantoneProduct);
         if (!save(lantoneProduct)) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
                     "产品添加失败");

+ 100 - 8
diagbotman-service/src/main/java/com/diagbot/facade/ServiceTokenFacade.java

@@ -1,15 +1,20 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.ProductService;
+import com.diagbot.entity.ServiceInfo;
 import com.diagbot.entity.ServiceToken;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.StatusEnum;
 import com.diagbot.enums.TokenTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ServiceTokenServiceImpl;
 import com.diagbot.util.ListUtil;
+import com.diagbot.util.UserUtils;
 import com.diagbot.vo.ServiceTokenVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -32,10 +37,13 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
     ProductServiceFacade productServiceFacade;
     @Autowired
     OpenedProductsFacade openedProductsFacade;
+    @Autowired
+    ServiceInfoFacade serviceInfoFacade;
 
 
     /**
      * 获取资源的url
+     *
      * @param serviceTokenVo 参数
      * @return 是否有权限
      */
@@ -45,11 +53,15 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
         Map<String, Object> paramMap = new HashMap<>();
         paramMap.put("appkey", appkey);
         paramMap.put("secret", secret);
-        ServiceToken st = this.getServiceToken(paramMap);
-        if(null == st) {
+        //ServiceToken st = this.getServiceToken(paramMap);
+        QueryWrapper<ServiceToken> qw = new QueryWrapper<>();
+        qw.eq("app_key_id", appkey);
+        qw.eq("app_key_secret", secret);
+        ServiceToken st = this.selectOneRecord(qw);
+        if (null == st) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "appkey或secret错误,appkey=【" + appkey + "】," + "secret=【" + secret + "】");
         }
-        if(TokenTypeEnum.Trial.getKey() == st.getType()) {
+        if (TokenTypeEnum.Trial.getKey() == st.getType()) {
             ProductService ps = productServiceFacade.getById(st.getProductServiceId());
             if (ps == null) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "无权限访问!");
@@ -63,21 +75,101 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
             }
         } else {
             List<OpenedProducts> opList = openedProductsFacade.getByAppkeyAndSecret(paramMap);
-            if(ListUtil.isEmpty(opList)) {
+            if (ListUtil.isEmpty(opList)) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "无权限访问!");
             }
-            if(opList.size() != 1) {
+            if (opList.size() != 1) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前appkey和secret对应多条数据!");
             }
             OpenedProducts op = opList.get(0);// 正常只有一条数据
             Date date = new Date();
-            if(!(StatusEnum.Enable.getKey() == op.getServiceStatus())) {
+            if (!(StatusEnum.Enable.getKey() == op.getServiceStatus())) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前服务已停用!");
             }
-            if(op.getEndTime().getTime() < date.getTime()) {
+            if (op.getEndTime().getTime() < date.getTime()) {
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "访问权限已过期!");
             }
         }
         return RespDTO.onSuc(true);
     }
-}
+
+    /**
+     * 根据产品服务关联id获取令牌
+     *
+     * @param productServiceId
+     * @return
+     */
+    public ServiceToken getByProductServiceId(Long productServiceId) {
+        QueryWrapper<ServiceToken> qw = new QueryWrapper<>();
+        qw.eq("product_sevice_id", productServiceId);
+        return this.selectOneRecord(qw);
+    }
+
+    /**
+     * 根据产品服务关联id删除令牌
+     *
+     * @param productServiceId
+     * @return
+     */
+    public Integer deleteByProductServiceId(Long productServiceId) {
+        checkCurrentUser(productServiceId);
+        UpdateWrapper<ServiceToken> uw = new UpdateWrapper<>();
+        uw.eq("product_sevice_id", productServiceId);
+        ServiceToken serviceToken = new ServiceToken();
+        serviceToken.setIsDeleted(IsDeleteEnum.Y.getKey());
+        return this.updateRecord(serviceToken, uw);
+    }
+
+    /**
+     * 启用令牌
+     *
+     * @param productServiceId
+     * @return
+     */
+    public Integer enableToken(Long productServiceId) {
+        checkCurrentUser(productServiceId);
+        UpdateWrapper<ServiceToken> uw = new UpdateWrapper<>();
+        uw.eq("product_sevice_id", productServiceId);
+        uw.eq("type", TokenTypeEnum.Manual.getKey());
+        ServiceToken serviceToken = new ServiceToken();
+        serviceToken.setStatus(StatusEnum.Enable.getKey());
+        return this.updateRecord(serviceToken, uw);
+    }
+
+    /**
+     * 禁用令牌
+     *
+     * @param productServiceId
+     * @return
+     */
+    public Integer disableToken(Long productServiceId) {
+        checkCurrentUser(productServiceId);
+        UpdateWrapper<ServiceToken> uw = new UpdateWrapper<>();
+        uw.eq("product_sevice_id", productServiceId);
+        uw.eq("type", TokenTypeEnum.Manual.getKey());
+        ServiceToken serviceToken = new ServiceToken();
+        serviceToken.setStatus(StatusEnum.Disable.getKey());
+        return this.updateRecord(serviceToken, uw);
+    }
+
+    /**
+     * 校验令牌所属用户是否当前登录用户
+     *
+     * @param productServiceId
+     * @return
+     */
+    public Boolean checkCurrentUser(Long productServiceId) {
+        Long userId = Long.parseLong(UserUtils.getCurrentPrincipleID());
+        ProductService productService = productServiceFacade.getById(productServiceId);
+        if (productService == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "产品服务端关联不存在");
+        }
+        ServiceInfo serviceInfo = serviceInfoFacade.getById(productService.getServiceId());
+        if (serviceInfo == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "服务端不存在");
+        } else if (serviceInfo.getUserId() != userId) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "登录用户与令牌所属用户不一致");
+        }
+        return true;
+    }
+}

+ 0 - 11
diagbotman-service/src/main/java/com/diagbot/mapper/ServiceTokenMapper.java

@@ -14,15 +14,4 @@ import java.util.Map;
  * @since 2018-09-17
  */
 public interface ServiceTokenMapper extends BaseMapper<ServiceToken> {
-
-
-    ServiceToken getServiceToken(Map map);
-
-    ServiceToken getByProductServiceId(Long productServiceId);
-
-    Integer deleteByProductServiceId(Long productServiceId);
-
-    Integer enableToken(Long productServiceId);
-
-    Integer disableToken(Long productServiceId);
 }

+ 16 - 15
diagbotman-service/src/main/java/com/diagbot/service/ServiceTokenService.java

@@ -1,10 +1,10 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.entity.ServiceToken;
 
-import java.util.Map;
-
 /**
  * <p>
  * 服务令牌表 服务类
@@ -14,19 +14,20 @@ import java.util.Map;
  * @since 2018-09-17
  */
 public interface ServiceTokenService extends IService<ServiceToken> {
-
     /**
-     * @Description: 根据参数获取服务令牌
-     * @Author: ztg
-     * @Date: 2018/9/18 16:38
+     * 更新令牌
+     *
+     * @param entity
+     * @param updateWrapper
+     * @return
      */
-    ServiceToken getServiceToken(Map<String, Object> paramMap);
-
-    ServiceToken getByProductServiceId(Long productServiceId);
-
-    Integer deleteByProductServiceId(Long productServiceId);
+    Integer updateRecord(ServiceToken entity, UpdateWrapper<ServiceToken> updateWrapper);
 
-    Integer enableToken(Long productServiceId);
-
-    Integer disableToken(Long productServiceId);
-}
+    /**
+     * 查找令牌(单记录)
+     *
+     * @param queryWrapper
+     * @return
+     */
+    ServiceToken selectOneRecord(QueryWrapper<ServiceToken> queryWrapper);
+}

+ 22 - 24
diagbotman-service/src/main/java/com/diagbot/service/impl/ServiceTokenServiceImpl.java

@@ -1,14 +1,14 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.entity.ServiceToken;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.mapper.ServiceTokenMapper;
 import com.diagbot.service.ServiceTokenService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Map;
-
 /**
  * <p>
  * 服务令牌表 服务实现类
@@ -19,28 +19,26 @@ import java.util.Map;
  */
 @Service
 public class ServiceTokenServiceImpl extends ServiceImpl<ServiceTokenMapper, ServiceToken> implements ServiceTokenService {
-
-    @Autowired
-    ServiceTokenMapper serviceTokenMapper;
-
-    @Override
-    public ServiceToken getServiceToken(Map<String, Object> paramMap) {
-        return serviceTokenMapper.getServiceToken(paramMap);
-    }
-
-    public ServiceToken getByProductServiceId(Long productServiceId) {
-        return baseMapper.getByProductServiceId(productServiceId);
-    }
-
-    public Integer deleteByProductServiceId(Long productServiceId) {
-        return baseMapper.deleteByProductServiceId(productServiceId);
-    }
-
-    public Integer enableToken(Long productServiceId) {
-        return baseMapper.enableToken(productServiceId);
+    /**
+     * 更新令牌
+     *
+     * @param entity
+     * @param updateWrapper
+     * @return
+     */
+    public Integer updateRecord(ServiceToken entity, UpdateWrapper<ServiceToken> updateWrapper) {
+        updateWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        return this.baseMapper.update(entity, updateWrapper);
     }
 
-    public Integer disableToken(Long productServiceId) {
-        return baseMapper.disableToken(productServiceId);
+    /**
+     * 查找令牌(单记录)
+     *
+     * @param queryWrapper
+     * @return
+     */
+    public ServiceToken selectOneRecord(QueryWrapper<ServiceToken> queryWrapper) {
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        return this.baseMapper.selectOne(queryWrapper);
     }
 }

+ 6 - 6
diagbotman-service/src/main/java/com/diagbot/web/ProductOrderController.java

@@ -54,42 +54,42 @@ public class ProductOrderController {
 	@Autowired
 	private OpenedProductsFacade openedProductsFacade;
 
-	@ApiOperation(value = "控制台-产品认证进度(示例)[by:rengb]",notes="控制台-产品认证进度")
+	@ApiOperation(value = "控制台-产品认证进度[by:rengb]",notes="控制台-产品认证进度")
 	@PostMapping("/productAuthProgress")
 	@SysLogger("productAuthProgress")
 	public RespDTO<List<ProductAuthProgressDTO>> productAuthProgress() {
 		return RespDTO.onSuc(productOrderFacade.productAuthProgress());
 	}
 	
-	@ApiOperation(value = "控制台-已开通产品(示例)[by:rengb]",notes="控制台-已开通产品")
+	@ApiOperation(value = "控制台-已开通产品[by:rengb]",notes="控制台-已开通产品")
 	@PostMapping("/getConsoleOpened")
 	@SysLogger("getConsoleOpened")
 	public RespDTO<List<GetConsoleOpenedDTO>> getConsoleOpened() {
 		return RespDTO.onSuc(openedProductsFacade.getConsoleOpened());
 	}
 	
-	@ApiOperation(value = "控制台-可试用产品(示例)[by:rengb]",notes="控制台-可试用产品")
+	@ApiOperation(value = "控制台-可试用产品[by:rengb]",notes="控制台-可试用产品")
 	@PostMapping("/getConsoleOnTrial")
 	@SysLogger("getConsoleOnTrial")
 	public RespDTO<List<GetConsoleOnTrialDTO>> getConsoleOnTrial() {
 		return RespDTO.onSuc(openedProductsFacade.getConsoleOnTrial());
 	}
 	
-	@ApiOperation(value = "控制台-产品立即试用接口(示例)[by:rengb]",notes="控制台-产品立即试用接口")
+	@ApiOperation(value = "控制台-产品立即试用接口[by:rengb]",notes="控制台-产品立即试用接口")
 	@PostMapping("/openUpOnTrial")
 	@SysLogger("openUpOnTrial")
 	public RespDTO<OpenUpOnTrialDTO> openUpOnTrial(OpenUpOnTrialVO openUpOnTrialVO) {
 		return RespDTO.onSuc(openedProductsFacade.openUpOnTrial(openUpOnTrialVO));
 	}
 	
-	@ApiOperation(value = "控制台-可展示的选项卡(示例)[by:rengb]",notes="控制台-可展示的选项卡")
+	@ApiOperation(value = "控制台-可展示的选项卡[by:rengb]",notes="控制台-可展示的选项卡")
 	@PostMapping("/enShowOption")
 	@SysLogger("enShowOption")
 	public RespDTO<EnShowOptionDTO> enShowOption() {
 		return RespDTO.onSuc(openedProductsFacade.enShowOption());
 	}
 	
-	@ApiOperation(value = "控制台-待审核订单个数(示例)[by:rengb]",notes="控制台-待审核订单个数")
+	@ApiOperation(value = "控制台-待审核订单个数[by:rengb]",notes="控制台-待审核订单个数")
 	@PostMapping("/waitExamOrderCou")
 	@SysLogger("waitExamOrderCou")
 	public RespDTO<WaitExamOrderCouDTO> waitExamOrderCou() {

+ 2 - 2
diagbotman-service/src/main/resources/mapper/OpenedProductsMapper.xml

@@ -90,7 +90,7 @@
 			DATE_FORMAT(d.expiring_date,'%Y-%m-%d') as expiringDate
 		FROM diag_lantone_product a LEFT JOIN diag_product_service b on a.id=b.product_id
 		JOIN diag_service_info c on b.service_id=c.id
-		JOIN diag_service_token d on b.id=d.product_sevice_id
+		JOIN diag_service_token d on b.id=d.product_service_id
 		where a.is_deleted='N' and b.is_deleted='N' and c.is_deleted='N' and d.is_deleted='N'
 		and a.trial_status=1
 		and c.type=2
@@ -103,7 +103,7 @@
 			count(1)
 		FROM diag_lantone_product a LEFT JOIN diag_product_service b on a.id=b.product_id
 		JOIN diag_service_info c on b.service_id=c.id
-		JOIN diag_service_token d on b.id=d.product_sevice_id
+		JOIN diag_service_token d on b.id=d.product_service_id
 		where a.is_deleted='N' and b.is_deleted='N' and c.is_deleted='N' and d.is_deleted='N'
 		and a.trial_status=1
 		and c.type=2

+ 0 - 26
diagbotman-service/src/main/resources/mapper/ServiceTokenMapper.xml

@@ -19,30 +19,4 @@
         <result column="expiring_date" property="expiringDate" />
         <result column="remark" property="remark" />
     </resultMap>
-
-
-    <select id="getServiceToken" resultMap="BaseResultMap" parameterType="java.util.Map">
-        SELECT a.* FROM `diag_service_token` a  where a.is_deleted = 'N' and a.app_key_id = #{appkey} and a.app_key_secret = #{secret}
-    </select>
-
-    <select id="getByProductServiceId" resultMap="BaseResultMap" parameterType="java.lang.Long">
-        select * from diag_service_token
-        where product_sevice_id = #{productServiceId} and is_deleted = 'N'
-    </select>
-
-    <update id="deleteByProductServiceId"  parameterType="java.lang.Long">
-        update diag_service_token set is_deleted='Y'
-        where product_sevice_id = #{productServiceId} and is_deleted = 'N'
-    </update>
-
-    <update id="enableToken" parameterType="java.lang.Long">
-        update diag_service_token set status=1
-        where product_sevice_id = #{productServiceId} and is_deleted = 'N'
-    </update>
-
-    <update id="disableToken" parameterType="java.lang.Long">
-        update diag_service_token set status=0
-        where product_sevice_id = #{productServiceId} and is_deleted = 'N'
-    </update>
-
 </mapper>

+ 2 - 2
user-service/src/main/java/com/diagbot/web/UserAuthenticationController.java

@@ -80,14 +80,14 @@ public class UserAuthenticationController {
         return RespDTO.onSuc(map);
     }
 
-    @ApiOperation(value = "控制台-账号认证进度(示例)[by:rengb]", notes = "控制台-账号认证进度")
+    @ApiOperation(value = "控制台-账号认证进度[by:rengb]", notes = "控制台-账号认证进度")
     @PostMapping("/queryAuthProgress")
     @SysLogger("queryAuthProgress")
     public RespDTO<QueryAuthProgressDTO> queryAuthProgress() {
         return RespDTO.onSuc(userAuthenticationFacade.queryAuthProgress());
     }
 
-    @ApiOperation(value = "控制台-待认证账号数量(示例)[by:rengb]", notes = "控制台-待认证账号数量")
+    @ApiOperation(value = "控制台-待认证账号数量[by:rengb]", notes = "控制台-待认证账号数量")
     @PostMapping("/waitAuthen")
     @SysLogger("waitAuthen")
     public RespDTO<WaitAuthenDTO> waitAuthen() {

+ 1 - 1
user-service/src/main/java/com/diagbot/web/UserController.java

@@ -230,7 +230,7 @@ public class UserController {
         return RespDTO.onSuc(userFacade.removeById(id));
     }
 
-    @ApiOperation(value = "控制台账户信息(示例)[by:rengb]", notes = "控制台账户信息")
+    @ApiOperation(value = "控制台账户信息[by:rengb]", notes = "控制台账户信息")
     @PostMapping("/getConsoleUserInfo")
     @SysLogger("getConsoleUserInfo")
     public RespDTO<GetConsoleUserInfoDTO> getConsoleUserInfo() {