浏览代码

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

Zhaops 6 年之前
父节点
当前提交
f519d8961e
共有 32 个文件被更改,包括 349 次插入20 次删除
  1. 2 0
      diagbotman-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java
  2. 2 0
      diagbotman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java
  3. 5 0
      diagbotman-service/src/main/java/com/diagbot/dto/GetConsoleOpenedDTO.java
  4. 95 0
      diagbotman-service/src/main/java/com/diagbot/entity/ServiceTokenWithUser.java
  5. 6 0
      diagbotman-service/src/main/java/com/diagbot/entity/wrapper/UserRenewalsWrapper.java
  6. 25 2
      diagbotman-service/src/main/java/com/diagbot/facade/LantoneProductFacade.java
  7. 1 1
      diagbotman-service/src/main/java/com/diagbot/facade/OpenedProductsFacade.java
  8. 8 1
      diagbotman-service/src/main/java/com/diagbot/facade/OrderDetailsFacade.java
  9. 11 7
      diagbotman-service/src/main/java/com/diagbot/facade/ServiceTokenFacade.java
  10. 12 0
      diagbotman-service/src/main/java/com/diagbot/facade/UserRenewalsFacade.java
  11. 6 0
      diagbotman-service/src/main/java/com/diagbot/mapper/OrderDetailsMapper.java
  12. 10 0
      diagbotman-service/src/main/java/com/diagbot/mapper/ServiceTokenMapper.java
  13. 6 0
      diagbotman-service/src/main/java/com/diagbot/mapper/UserRenewalsMapper.java
  14. 2 0
      diagbotman-service/src/main/java/com/diagbot/service/OrderDetailsService.java
  15. 12 0
      diagbotman-service/src/main/java/com/diagbot/service/ServiceTokenService.java
  16. 6 0
      diagbotman-service/src/main/java/com/diagbot/service/UserRenewalsService.java
  17. 5 1
      diagbotman-service/src/main/java/com/diagbot/service/impl/OrderDetailsServiceImpl.java
  18. 9 0
      diagbotman-service/src/main/java/com/diagbot/service/impl/ServiceTokenServiceImpl.java
  19. 9 0
      diagbotman-service/src/main/java/com/diagbot/service/impl/UserRenewalsServiceImpl.java
  20. 25 0
      diagbotman-service/src/main/java/com/diagbot/web/ProductOrderController.java
  21. 1 1
      diagbotman-service/src/main/resources/mapper/LantoneProductMapper.xml
  22. 6 2
      diagbotman-service/src/main/resources/mapper/OpenedProductsMapper.xml
  23. 6 0
      diagbotman-service/src/main/resources/mapper/OrderDetailsMapper.xml
  24. 7 0
      diagbotman-service/src/main/resources/mapper/ServiceTokenMapper.xml
  25. 13 2
      diagbotman-service/src/main/resources/mapper/UserRenewalsMapper.xml
  26. 1 1
      gateway-service/src/main/java/com/diagbot/filter/GlobalGatewayFilter.java
  27. 6 0
      user-service/src/main/java/com/diagbot/client/DiagbotmanClient.java
  28. 12 0
      user-service/src/main/java/com/diagbot/client/hystrix/DiagbotmanServiceHystrix.java
  29. 15 0
      user-service/src/main/java/com/diagbot/facade/UserFacade.java
  30. 6 0
      user-service/src/main/java/com/diagbot/service/TokenService.java
  31. 17 0
      user-service/src/main/java/com/diagbot/service/impl/TokenServiceImpl.java
  32. 2 2
      user-service/src/main/resources/mapper/UserMapper.xml

+ 2 - 0
diagbotman-service/src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -29,6 +29,8 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                         , "/service_filter/getAll", "/serviceToken/hasPermission").permitAll()
                 .antMatchers("/getDiagbotManEnumsData").permitAll()
                 .antMatchers("/productOrder/getInformationAvailableAll").permitAll()
+                .antMatchers("/productOrder/getUserWaitingRenewal").permitAll()
+                .antMatchers("/productOrder/getOrderByUserToAudit").permitAll()
                 .antMatchers("/**").authenticated();
         //        .antMatchers("/**").permitAll();
     }

+ 2 - 0
diagbotman-service/src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -93,6 +93,8 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/service_filter/getAll", request)
                 || matchers("/serviceToken/hasPermission", request)
                 || matchers("/productOrder/getInformationAvailableAll", request)
+                || matchers("/productOrder/getUserWaitingRenewal", request)
+                || matchers("/productOrder/getOrderByUserToAudit", request)
                 || matchers("/", request)) {
             return true;
         }

+ 5 - 0
diagbotman-service/src/main/java/com/diagbot/dto/GetConsoleOpenedDTO.java

@@ -65,4 +65,9 @@ public class GetConsoleOpenedDTO implements Serializable {
      */
     private Integer renewalsStutas;
     
+    /**
+     *  0-过期,1-未过期
+     */
+    private Integer isExpire;
+    
 }

+ 95 - 0
diagbotman-service/src/main/java/com/diagbot/entity/ServiceTokenWithUser.java

@@ -0,0 +1,95 @@
+package com.diagbot.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 服务令牌表 (包含用户id)
+ * </p>
+ *
+ * @author zhaops
+ * @since 2018-09-18
+ */
+@Getter
+@Setter
+public class ServiceTokenWithUser implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    /**
+     * 是否删除 N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 产品服务关联id
+     */
+    private Long productServiceId;
+
+    /**
+     * 服务调用id
+     */
+    private String appKeyId;
+
+    /**
+     * 服务调用密码
+     */
+    private String appKeySecret;
+
+    /**
+     * 令牌类型(1:online,2:手动,3:试用)
+     */
+    private Integer type;
+
+    /**
+     * 状态(0:禁用,1:启用)
+     */
+    private Integer status;
+
+    /**
+     * 开通日期
+     */
+    private Date startingDate;
+
+    /**
+     * 到期时间
+     */
+    private Date expiringDate;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+}

+ 6 - 0
diagbotman-service/src/main/java/com/diagbot/entity/wrapper/UserRenewalsWrapper.java

@@ -51,4 +51,10 @@ public class UserRenewalsWrapper {
      * 是否取消续费
      */
     private Integer cancelRenewals;
+
+    /**
+     * 产品id
+     */
+    private Long productId;
+
 }

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

@@ -8,19 +8,25 @@ import com.diagbot.dto.LantoneProductDTO;
 import com.diagbot.dto.LantoneProductOrgDTO;
 import com.diagbot.dto.OpendProductDTO;
 import com.diagbot.dto.ProductLineDTO;
+import com.diagbot.dto.RenewalsInfosDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.UserOrgDTO;
 import com.diagbot.entity.LantoneProduct;
 import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.OpenedProductsIndex;
+import com.diagbot.entity.OrderDetailsIndex;
 import com.diagbot.entity.ServiceInfo;
 import com.diagbot.entity.User;
 import com.diagbot.entity.wrapper.OpendProductWrapper;
 import com.diagbot.entity.wrapper.ServiceInfoWrapper;
+import com.diagbot.entity.wrapper.UserRenewalsWrapper;
 import com.diagbot.enums.AccessTypeEnum;
+import com.diagbot.enums.AuditStatusEnum;
+import com.diagbot.enums.CancelRenewalsEnum;
 import com.diagbot.enums.ChargeTypeEnum;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.ProductAuditEnum;
+import com.diagbot.enums.RenewalsEnum;
 import com.diagbot.enums.ServiceTypeEnum;
 import com.diagbot.enums.StatusEnum;
 import com.diagbot.enums.TrialStatusEnum;
@@ -59,6 +65,8 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
     private OrderDetailsFacade orderDetailsFacade;
     @Autowired
     private ServiceInfoFacade serviceInfoFacade;
+    @Autowired
+    private UserRenewalsFacade userRenewalsFacade;
 
     /**
      * 产品线管理添加产品
@@ -133,10 +141,25 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
             OpenedProductsIndex openedProductsIndex =new OpenedProductsIndex();
             openedProductsIndex.setProductId(updateProductVO.getId());
             openedProductsIndex.setServiceStatus(StatusEnum.Enable.getKey());
-            if(openedProductsFacade.getByProductId(page,openedProductsIndex).getRecords().size()>0){
+            if(openedProductsFacade.getByProductId(page,openedProductsIndex).getRecords().size() > 0){
                 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
                         "用户正在使用中,停用失败");
             }
+            OrderDetailsIndex orderDetailsIndex =new OrderDetailsIndex();
+            orderDetailsIndex.setProductId(updateProductVO.getId());
+            orderDetailsIndex.setAuditStatus(AuditStatusEnum.NotAudit.getKey());
+            if(orderDetailsFacade.seleAllOrderDetials(orderDetailsIndex).size() > 0){
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                        "该产品无法停用,请先处理申请信息");
+            }
+            UserRenewalsWrapper renewalsInfosDTO =new UserRenewalsWrapper();
+            renewalsInfosDTO.setProductId(updateProductVO.getId());
+            renewalsInfosDTO.setRenewalsStatus(RenewalsEnum.NOT_RENEWALS.getKey());
+            List<RenewalsInfosDTO> list =  userRenewalsFacade.selectUserRenewals(page,renewalsInfosDTO).getRecords();
+            if(list.contains(RenewalsEnum.NOT_RENEWALS.getKey()) && list.contains(CancelRenewalsEnum.NOT_CANCEL.getKey())){
+                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                        "该产品无法停用,请先处理续费申请信息");
+            }
         }
         if (!updateById(lantoneProduct)) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
@@ -341,7 +364,7 @@ public class LantoneProductFacade extends LantoneProductServiceImpl {
             }
             String[] strs1 = acssName.split(",");
             for (int j = 0; j<strs1.length;j++){
-                acssNamebc += AccessTypeEnum.getName(Integer.parseInt(strs[j]))+",";
+                acssNamebc += AccessTypeEnum.getName(Integer.parseInt(strs1[j]))+",";
             }
             lantoneProductDTO.setChargeTypeName(charNamebc);
             lantoneProductDTO.setAccessTypeName(acssNamebc);

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

@@ -247,7 +247,7 @@ public class OpenedProductsFacade extends OpenedProductsServiceImpl {
                 throw new CommonException(CommonErrorCode.NOT_EXISTS, "输入有误,续费时间需大于到期时间");
             }
         }
-        openedProducts.setEndTime(DateUtil.parseDate(modifyOpeningTimeVO.getEndTime()));
+        openedProducts.setEndTime(DateUtil.parseDateTime(DateUtil.formatDateTime(DateUtil.getLastTimeOfDay(DateUtil.parseDate(modifyOpeningTimeVO.getEndTime())))));
         openedProducts.setModifier(UserUtils.getCurrentPrincipleID());
         openedProducts.setGmtModified(DateUtil.now());
         UserRenewals userRenewals = new UserRenewals();

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

@@ -115,7 +115,7 @@ public class OrderDetailsFacade extends OrderDetailsServiceImpl {
         openedProducts.setProductId(orderDetails.getProductId());
         openedProducts.setUserId(orderDetails.getUserId());
         openedProducts.setStartTime(DateUtil.parseDate(auditStatusVO.getStartTime()));
-        openedProducts.setEndTime(DateUtil.parseDate(auditStatusVO.getEndTime()));
+        openedProducts.setEndTime(DateUtil.parseDateTime(DateUtil.formatDateTime(DateUtil.getLastTimeOfDay(DateUtil.parseDate(auditStatusVO.getEndTime())))));
         openedProducts.setOrderId(productOrder.getId());
         openedProductsFacade.save(openedProducts);
         LantoneProduct lantoneProduct =new LantoneProduct();
@@ -188,4 +188,11 @@ public class OrderDetailsFacade extends OrderDetailsServiceImpl {
         }
         return list;
     }
+    /**
+     * 根据用户id查询是否有在审核的数据数量
+     */
+	public int getOrderByUserToAudit(Long userId) {
+    	
+		return baseMapper.getOrderByUserToAudit(userId);
+    }
 }

+ 11 - 7
diagbotman-service/src/main/java/com/diagbot/facade/ServiceTokenFacade.java

@@ -9,6 +9,7 @@ import com.diagbot.entity.OpenedProducts;
 import com.diagbot.entity.ProductService;
 import com.diagbot.entity.ServiceInfo;
 import com.diagbot.entity.ServiceToken;
+import com.diagbot.entity.ServiceTokenWithUser;
 import com.diagbot.entity.wrapper.ServiceTokenWrapper;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.StatusEnum;
@@ -61,13 +62,13 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
         paramMap.put("appkey", appkey);
         paramMap.put("secret", secret);
         //ServiceToken st = this.getServiceToken(paramMap);
-        QueryWrapper<ServiceToken> qw = new QueryWrapper<>();
-        qw.eq("app_key_id", appkey).
-                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 + "】");
+
+        //获取用户的id
+        List<ServiceTokenWithUser> serviceTokenWithUserList = this.getByAppkeyAndSecret(paramMap);
+        if(ListUtil.isEmpty(serviceTokenWithUserList)) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "appkey和secret错误或已失效,appkey=【" + appkey + "】," + "secret=【" + secret + "】");
         }
+        ServiceTokenWithUser st = serviceTokenWithUserList.get(0);
         if (TokenTypeEnum.Trial.getKey() == st.getType()) {
             ProductService ps = productServiceFacade.getById(st.getProductServiceId());
             if (ps == null) {
@@ -98,7 +99,10 @@ public class ServiceTokenFacade extends ServiceTokenServiceImpl {
             }
         }
         hasPermissionDTO.setHasPermission(true);
-        hasPermissionDTO.setUserId(UserUtils.getCurrentPrincipleID());
+        //获取用户的id
+        if(st.getUserId() != null) {
+            hasPermissionDTO.setUserId(st.getUserId().toString());
+        }
         return RespDTO.onSuc(hasPermissionDTO);
     }
 

+ 12 - 0
diagbotman-service/src/main/java/com/diagbot/facade/UserRenewalsFacade.java

@@ -18,6 +18,7 @@ import com.diagbot.enums.VisibleIdTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.idc.VisibleIdCreater;
+import com.diagbot.service.UserRenewalsService;
 import com.diagbot.service.impl.UserRenewalsServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
@@ -52,6 +53,8 @@ public class UserRenewalsFacade extends UserRenewalsServiceImpl {
     private LantoneProductFacade lantoneProductFacade;
     @Autowired
     private OpenedProductsFacade openedProductsFacade;
+    @Autowired
+    private UserRenewalsService userRenewalsService;
 
     /**
      * 产品续费
@@ -183,4 +186,13 @@ public class UserRenewalsFacade extends UserRenewalsServiceImpl {
         }
         return true;
     }
+    /**
+     *查詢用户的待续费数量
+     * @param userRenewals
+     * @return
+     */
+    public int getUserWaitingRenewal(UserRenewals userRenewals){
+    	
+    	return userRenewalsService.getUserWaitingRenewal(userRenewals);
+    }
 }

+ 6 - 0
diagbotman-service/src/main/java/com/diagbot/mapper/OrderDetailsMapper.java

@@ -46,4 +46,10 @@ public interface OrderDetailsMapper extends BaseMapper<OrderDetails> {
      * @return
      */
     public List<Long> getOrderDetailsByUser(Long userId);
+    /**
+     * 根据用户id查询是否有在审核的数据数量
+     * @param userId
+     * @return
+     */
+    public int  getOrderByUserToAudit(Long userId);
 }

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

@@ -2,7 +2,9 @@ package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.diagbot.entity.ServiceToken;
+import com.diagbot.entity.ServiceTokenWithUser;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -14,4 +16,12 @@ import java.util.Map;
  * @since 2018-09-17
  */
 public interface ServiceTokenMapper extends BaseMapper<ServiceToken> {
+
+
+    /**
+     * 根据appkey和secret获取ServiceToken信息
+     * @param map
+     * @return
+     */
+    public List<ServiceTokenWithUser> getByAppkeyAndSecret(Map map);
 }

+ 6 - 0
diagbotman-service/src/main/java/com/diagbot/mapper/UserRenewalsMapper.java

@@ -42,4 +42,10 @@ public interface UserRenewalsMapper extends BaseMapper<UserRenewals> {
      * @return
      */
     public boolean updateRenewalStatus(UserRenewals userRenewals);
+    /**
+     *查詢用户的待续费数量
+     * @param userRenewals
+     * @return
+     */
+    public int getUserWaitingRenewal(UserRenewals userRenewals);
 }

+ 2 - 0
diagbotman-service/src/main/java/com/diagbot/service/OrderDetailsService.java

@@ -45,4 +45,6 @@ public interface OrderDetailsService extends IService<OrderDetails> {
      * @return
      */
     public List<Long> getOrderDetailsByUser(Long userId);
+    
+    public int  getOrderByUserToAudit(Long userId);
 }

+ 12 - 0
diagbotman-service/src/main/java/com/diagbot/service/ServiceTokenService.java

@@ -4,6 +4,10 @@ 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 com.diagbot.entity.ServiceTokenWithUser;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -30,4 +34,12 @@ public interface ServiceTokenService extends IService<ServiceToken> {
      * @return
      */
     ServiceToken selectOneRecord(QueryWrapper<ServiceToken> queryWrapper);
+
+
+    /**
+     * 根据appkey和secret获取ServiceToken信息
+     * @param map
+     * @return
+     */
+    public List<ServiceTokenWithUser> getByAppkeyAndSecret(Map map);
 }

+ 6 - 0
diagbotman-service/src/main/java/com/diagbot/service/UserRenewalsService.java

@@ -42,4 +42,10 @@ public interface UserRenewalsService extends IService<UserRenewals> {
      * @return
      */
     public boolean updateRenewalStatus(UserRenewals userRenewals);
+    /**
+     * 
+     * @param userRenewals
+     * @return
+     */
+    public int getUserWaitingRenewal(UserRenewals userRenewals);
 }

+ 5 - 1
diagbotman-service/src/main/java/com/diagbot/service/impl/OrderDetailsServiceImpl.java

@@ -61,6 +61,10 @@ public class OrderDetailsServiceImpl extends ServiceImpl<OrderDetailsMapper, Ord
     public List<Long> getOrderDetailsByUser(Long userId) {
         return baseMapper.getOrderDetailsByUser(userId);
     }
-
+    @Override
+	public int getOrderByUserToAudit(Long userId) {
+		
+		return baseMapper.getOrderByUserToAudit(userId);
+	}
 
 }

+ 9 - 0
diagbotman-service/src/main/java/com/diagbot/service/impl/ServiceTokenServiceImpl.java

@@ -4,11 +4,15 @@ 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.entity.ServiceTokenWithUser;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.mapper.ServiceTokenMapper;
 import com.diagbot.service.ServiceTokenService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * 服务令牌表 服务实现类
@@ -41,4 +45,9 @@ public class ServiceTokenServiceImpl extends ServiceImpl<ServiceTokenMapper, Ser
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
         return this.baseMapper.selectOne(queryWrapper);
     }
+
+    @Override
+    public List<ServiceTokenWithUser> getByAppkeyAndSecret(Map map) {
+        return baseMapper.getByAppkeyAndSecret(map);
+    }
 }

+ 9 - 0
diagbotman-service/src/main/java/com/diagbot/service/impl/UserRenewalsServiceImpl.java

@@ -41,4 +41,13 @@ public class UserRenewalsServiceImpl extends ServiceImpl<UserRenewalsMapper, Use
 		// TODO Auto-generated method stub
 		return baseMapper.updateRenewalStatus(userRenewals);
 	}
+	/**
+     *查詢用户的待续费数量
+     * @param userRenewals
+     * @return
+     */
+	@Override
+	public int getUserWaitingRenewal(UserRenewals userRenewals){
+		return baseMapper.getUserWaitingRenewal(userRenewals);
+	}
 }

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

@@ -12,9 +12,12 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.UserAndProdutDTO;
 import com.diagbot.dto.WaitExamOrderCouDTO;
 import com.diagbot.entity.OpenedProducts;
+import com.diagbot.entity.UserRenewals;
 import com.diagbot.facade.LantoneProductFacade;
 import com.diagbot.facade.OpenedProductsFacade;
+import com.diagbot.facade.OrderDetailsFacade;
 import com.diagbot.facade.ProductOrderFacade;
+import com.diagbot.facade.UserRenewalsFacade;
 import com.diagbot.vo.ModifyOpeningTimeVO;
 import com.diagbot.vo.OpenUpOnTrialVO;
 import com.diagbot.vo.ProductOrderVO;
@@ -49,6 +52,10 @@ public class ProductOrderController {
     private ProductOrderFacade productOrderFacade;
     @Autowired
     private OpenedProductsFacade openedProductsFacade;
+    @Autowired
+    private OrderDetailsFacade orderDetailsFacade;
+    @Autowired
+    private UserRenewalsFacade userRenewalsFacade;
 
     @ApiOperation(value = "控制台-产品认证进度[by:rengb]", notes = "控制台-产品认证进度")
     @PostMapping("/productAuthProgress")
@@ -157,4 +164,22 @@ public class ProductOrderController {
     	List<UserAndProdutDTO> UserAndProdutData = openedProductsFacade.getInformationAvailableByUserIds(userIds);
     	return RespDTO.onSuc(UserAndProdutData);
     }
+    @ApiOperation(value = "客户中心-查询用户是否有待审核的产品数量[by:wangfeng]", notes = "用户已开通信息")
+    @PostMapping("/getOrderByUserToAudit")
+    @SysLogger("getOrderByUserToAudit")
+    @ApiIgnore
+    public RespDTO<Integer> getOrderByUserToAudit(Long userId){
+    	int sums = orderDetailsFacade.getOrderByUserToAudit(userId);
+    	return RespDTO.onSuc(sums);	
+    }
+    @ApiOperation(value = "客户中心-查询用户续费数量[by:wangfeng]", notes = "用户已开通信息")
+    @PostMapping("/getUserWaitingRenewal")
+    @SysLogger("getUserWaitingRenewal")
+    @ApiIgnore
+    public RespDTO<Integer> getUserWaitingRenewal(Long userId){
+    	UserRenewals userRenewals = new UserRenewals();
+    	userRenewals.setUserId(userId);
+    	int userIdSum = userRenewalsFacade.getUserWaitingRenewal(userRenewals);
+    	return RespDTO.onSuc(userIdSum);	
+    }
 }

+ 1 - 1
diagbotman-service/src/main/resources/mapper/LantoneProductMapper.xml

@@ -102,7 +102,7 @@
     </select>
     
     <select id="selectProductByName" resultMap="BaseResultMap">
-        SELECT * FROM `diag_lantone_product` WHERE `name`=#{name}
+        SELECT * FROM `diag_lantone_product` WHERE is_deleted='N' and `name`=#{name}
     </select>
 
 </mapper>

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

@@ -63,7 +63,8 @@
 			DATE_FORMAT(a.end_time,'%Y-%m-%d') as endTime,
 			a.service_status as serviceStatus,
 			b.access_type as accessType,
-			case when c.id is null then 0 else 1 end as renewalsStutas
+			case when c.id is null then 0 else 1 end as renewalsStutas,
+			case when sysdate()>a.end_time then 0 else 1 end as isExpire
 		from diag_opened_products a join diag_lantone_product b on a.product_id=b.id
 		left join diag_user_renewals c on a.user_id=c.user_id and a.product_id=c.product_id and c.renewals_status=0 and c.cancel_renewals=0 and c.is_deleted='N'
 		where a.is_deleted='N' and b.is_deleted='N' and a.user_id=#{userId}
@@ -154,6 +155,7 @@
         ON a.product_id=b.id
         WHERE
         a.is_deleted = "N"
+        AND b.is_deleted = "N"
         <if test="userId !=null">
             AND a.user_id = #{userId}
         </if>
@@ -189,7 +191,8 @@
             <if test="gmtModified !=null">a.gmt_modified=#{gmtModified},</if>
             <if test="modifier != null">a.modifier=#{modifier},</if>
             <if test="startTime != null">a.start_time = #{startTime},</if>
-            <if test="endTime != null">a.end_time = #{endTime}</if>
+            <if test="endTime != null">a.end_time = #{endTime},</if>
+            <if test="serviceStatus != null">a.service_status = #{serviceStatus}</if>
         </trim>
         WHERE
         a.user_id = #{userId}
@@ -232,6 +235,7 @@
         ON a.product_id=b.id
         WHERE
         a.is_deleted = "N"
+        AND b.is_deleted = "N"
         AND a.user_id in
         <foreach collection="list" item="ids" open="(" close=")" separator=",">
             #{ids}

+ 6 - 0
diagbotman-service/src/main/resources/mapper/OrderDetailsMapper.xml

@@ -54,6 +54,9 @@
         <if test="productId != null and productId !=''">
             AND product_id = #{productId}
         </if>
+        <if test="auditStatus != null and auditStatus !=''">
+            AND a.audit_status = #{auditStatus}
+        </if>
     </select>
 
     <select id="selectAllOrderDetialsByOrderNum" resultType="com.diagbot.entity.OrderDetailStatus">
@@ -77,4 +80,7 @@
     <select id="getOrderDetailsByUser" resultType="java.lang.Long">
         SELECT a.product_id FROM diag_order_details a WHERE a.is_deleted ='N' and a.audit_status != 0 and a.user_id = #{userId}
     </select>
+    <select id="getOrderByUserToAudit" resultType="int">
+        SELECT COUNT(*) FROM diag_order_details a WHERE a.is_deleted ='N' and a.audit_status = 2 and a.user_id = #{userId}
+    </select>
 </mapper>

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

@@ -20,4 +20,11 @@
         <result column="expiring_date" property="expiringDate"/>
         <result column="remark" property="remark"/>
     </resultMap>
+
+
+    <select id="getByAppkeyAndSecret" parameterType="java.util.Map" resultType="com.diagbot.entity.ServiceTokenWithUser">
+        SELECT a.*, c.user_id user_id FROM `diag_service_token` a, diag_product_service b, diag_service_info c
+        where a.is_deleted = 'N' and b.is_deleted = 'N' and c.is_deleted = 'N'
+        and a.app_key_id = #{appkey} and a.app_key_secret = #{secret} and a.product_service_id = b.id and b.service_id = c.id
+    </select>
 </mapper>

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

@@ -31,10 +31,10 @@
         <if test="renewalsInfosVO.renewalsStatus != null">
               AND renewals_status = #{renewalsInfosVO.renewalsStatus}
         </if>
-        <if test="renewalsInfosVO.startTime != null and renewalsInfosVO.endTime != null">
+        <if test="renewalsInfosVO.startTime != null and renewalsInfosVO.endTime != ''">
             AND apply_time BETWEEN #{renewalsInfosVO.startTime} and #{renewalsInfosVO.endTime}
         </if>
-        <if test="renewalsInfosVO.cancelRenewals != null and renewalsInfosVO.cancelRenewals != null">
+        <if test="renewalsInfosVO.cancelRenewals != null">
             AND cancel_renewals = #{renewalsInfosVO.cancelRenewals}
         </if>
         <if test="renewalsInfosVO.userId != null and renewalsInfosVO.userId.size > 0">
@@ -42,6 +42,9 @@
                 user_id = #{renewalsInfosVO.userId}
             </foreach>
         </if>
+        <if test="renewalsInfosVO.productId != null and renewalsInfosVO.productId != ''">
+            AND product_id = #{renewalsInfosVO.productId}
+        </if>
         ORDER BY apply_time DESC
     </select>
 
@@ -55,4 +58,12 @@
 	  </trim>
 	  WHERE a.renewals_no = #{renewalsNo}
 </update>
+    <select id="getUserWaitingRenewal"  resultType="int">
+	SELECT COUNT(*) FROM diag_user_renewals 
+	WHERE 
+	is_deleted = 'N' 
+	AND renewals_status = 0 
+	AND cancel_renewals = 0 
+	AND user_id = #{userId}
+    </select>
 </mapper>

+ 1 - 1
gateway-service/src/main/java/com/diagbot/filter/GlobalGatewayFilter.java

@@ -94,7 +94,7 @@ public class GlobalGatewayFilter implements GlobalFilter {
         if (serviceFilters.get(serviceName) != null) {
             String appkey = request.getHeaders().getFirst("appKeyId");
             String secret = request.getHeaders().getFirst("appKeySecret");
-            Long productId = SERVICE_FILTER.get(serviceName);
+            Long productId = serviceFilters.get(serviceName);
             //获取appkey,secret对应的权限信息
             ServiceToken st = new ServiceToken();
             st.setAppkey(appkey);

+ 6 - 0
user-service/src/main/java/com/diagbot/client/DiagbotmanClient.java

@@ -21,5 +21,11 @@ public interface DiagbotmanClient {
 	
 	@PostMapping(value = "/productOrder/getInformationAvailableAll")
 	RespDTO<List<UserAndProdutDTO>> getInformationAvailableAll(@RequestBody List<Long> userIds);
+	
+	@PostMapping(value = "/productOrder/getUserWaitingRenewal")
+	public RespDTO<Integer> getUserWaitingRenewal(Long userId);
+	
+	@PostMapping(value = "/productOrder/getOrderByUserToAudit")
+	public RespDTO<Integer> getOrderByUserToAudit(Long userId);
 
 }

+ 12 - 0
user-service/src/main/java/com/diagbot/client/hystrix/DiagbotmanServiceHystrix.java

@@ -26,4 +26,16 @@ public class DiagbotmanServiceHystrix implements DiagbotmanClient {
 	        return null;
 	}
 
+	@Override
+	public RespDTO<Integer> getUserWaitingRenewal(Long userId) {
+		log.error("【hystrix】调用{}异常","getInformationAvailableAll");
+		return null;
+	}
+
+	@Override
+	public RespDTO<Integer> getOrderByUserToAudit(Long userId) {
+		log.error("【hystrix】调用{}异常","getInformationAvailableAll");
+		return null;
+	}
+
 }

+ 15 - 0
user-service/src/main/java/com/diagbot/facade/UserFacade.java

@@ -43,6 +43,7 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.exception.ServiceErrorCode;
 import com.diagbot.idc.VisibleIdCreater;
+import com.diagbot.service.TokenService;
 import com.diagbot.service.impl.UserServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
@@ -951,6 +952,18 @@ public class UserFacade extends UserServiceImpl {
         map.put("userId", baseIdVO.getId());
         map.put("modifier", UserUtils.getCurrentPrincipleID());
         map.put("gmtModified", DateUtil.now());
+        //客户中心-查询用户续费数量
+        RespDTO<Integer> renewalSums = diagbotmanClient.getUserWaitingRenewal(baseIdVO.getId());
+        int renewalSum = renewalSums.data;
+        if(renewalSum>0){
+   		 return RespDTO.onError("该用户续费申请单,请先审核");
+      	}
+        //查询用户是否有待审核的产品数量
+        RespDTO<Integer> auditSums = diagbotmanClient.getOrderByUserToAudit(baseIdVO.getId());
+        int auditSum = renewalSums.data;
+        if(auditSum>0){
+   		 return RespDTO.onError("该用户产品申请单,请先审核");
+    	}
         List<Long> userIds = new ArrayList<>();
         userIds.add(baseIdVO.getId());
         RespDTO<List<UserAndProdutDTO>> InformationData = diagbotmanClient.getInformationAvailableAll(userIds);
@@ -971,6 +984,8 @@ public class UserFacade extends UserServiceImpl {
         if (!res) {
             throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL);
         }
+        //删除用户成功后把token也删除
+        tokenFacade.deleteToken(String.valueOf(baseIdVO.getId()));
         return RespDTO.onSuc(res);
     }
 

+ 6 - 0
user-service/src/main/java/com/diagbot/service/TokenService.java

@@ -26,4 +26,10 @@ public interface TokenService {
      */
     Boolean verifyToken(String token, Integer type);
 
+    /**
+     *  删除用户token
+     * @param userId 用户ID
+     * @return 删除是否成功
+     */
+    Boolean deleteToken(String userId);
 }

+ 17 - 0
user-service/src/main/java/com/diagbot/service/impl/TokenServiceImpl.java

@@ -125,4 +125,21 @@ public class TokenServiceImpl implements TokenService {
 
         return res;
     }
+
+    /**
+     *  删除用户token
+     * @param userId 用户ID
+     * @return 删除是否成功
+     */
+    @Override
+    public Boolean deleteToken(String userId){
+        final byte[] redis_key = getUserTokenKey(userId);
+        Long l = (Long) redisForToken.execute(new RedisCallback<Long>() {
+            @Override
+            public Long doInRedis(RedisConnection connection) throws DataAccessException {
+                return connection.del(redis_key);
+            }
+        });
+        return l > 0;
+    }
 }

+ 2 - 2
user-service/src/main/resources/mapper/UserMapper.xml

@@ -412,7 +412,7 @@
             AND u.username LIKE CONCAT('%', #{userOrg.userName}, '%')
         </if>
          <if test="userOrg.startTime != null and userOrg.endTime != null">
-            AND u.gmt_create BETWEEN #{userOrg.startTime} and #{userOrg.endTime}
+            AND u.passauth_time BETWEEN #{userOrg.startTime} and #{userOrg.endTime}
         </if>
         AND u.auth_status = 1
         ORDER BY u.passauth_time DESC
@@ -618,7 +618,7 @@
             AND u.username LIKE CONCAT('%', #{Verified.userName}, '%')
         </if>
          <if test="Verified.startTime != null and Verified.endTime != null">
-            AND u.gmt_create BETWEEN #{Verified.startTime} and #{Verified.endTime}
+            AND u.passauth_time BETWEEN #{Verified.startTime} and #{Verified.endTime}
         </if>
         AND u.auth_status = 1
         ORDER BY u.passauth_time DESC