Просмотр исходного кода

朗通后台——续费接口——显示

wangyu 6 лет назад
Родитель
Сommit
628b648aa2

+ 60 - 0
diagbotman-service/src/main/java/com/diagbot/dto/RenewalsInfosDTO.java

@@ -0,0 +1,60 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/10/15 9:38
+ */
+@Setter
+@Getter
+public class RenewalsInfosDTO {
+    /**
+     * 续费id
+     */
+    private Long id;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+    /**
+     * 续费状态(1.已续费0.未续费)
+     */
+    private Integer renewalsStutas;
+
+    /**
+     * 申请时间
+     */
+    private Date applyTime;
+
+    /**
+     * 用户名
+     */
+    private String username;
+
+    /**
+     * 联系人
+     */
+    private String linkman;
+
+    /**
+     * 机构名称
+     */
+    private String orgName;
+
+    /**
+     * 产品名称
+     */
+    private String productName;
+
+    /**
+     * 产品id
+     */
+    private Long productId;
+}

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

@@ -0,0 +1,44 @@
+package com.diagbot.entity.wrapper;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/10/15 13:07
+ */
+@Setter
+@Getter
+public class UserRenewalsWrapper {
+
+    /**
+     * 页数
+     */
+    private Long current;
+    /**
+     * 每页显示条数
+     */
+    private Long size;
+    /**
+     * 续费状态
+     */
+    private Integer renewalsStutas;
+
+    /**
+     * 机构名称
+     */
+    private String orgName;
+
+    /**
+     * 开始时间
+     */
+    private String applyTime;
+
+    /**
+     * 用户id
+     */
+    private List<Long> userId;
+}

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

@@ -1,16 +1,29 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.client.UserServiceClient;
+import com.diagbot.dto.ProductLineDTO;
+import com.diagbot.dto.RenewalsInfosDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.UserOrgDTO;
 import com.diagbot.entity.UserRenewals;
+import com.diagbot.entity.wrapper.UserRenewalsWrapper;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.UserRenewalsServiceImpl;
+import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddRenewalsInfoVO;
+import com.diagbot.vo.RenewalsInfosVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.InitBinder;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -19,6 +32,10 @@ import java.util.List;
  */
 @Component
 public class UserRenewalsFacade extends UserRenewalsServiceImpl {
+    @Autowired
+    private UserServiceClient userServiceClient;
+    @Autowired
+    private LantoneProductFacade lantoneProductFacade;
 
     public RespDTO<Boolean> addRenewalsInfos(AddRenewalsInfoVO addRenewalsInfoVO){
         UserRenewals userRenewals =new UserRenewals();
@@ -37,4 +54,52 @@ public class UserRenewalsFacade extends UserRenewalsServiceImpl {
         userRenewals.setProductId(addRenewalsInfoVO.getProductId());
         return RespDTO.onSuc(this.save(userRenewals));
     }
+
+    @InitBinder
+    public IPage renewalsInfo(RenewalsInfosVO renewalsInfosVO){
+        Page page =new Page();
+        if(renewalsInfosVO.getCurrent() ==null ){
+            renewalsInfosVO.setCurrent(1L);
+        }
+        if(renewalsInfosVO.getSize() ==null){
+            renewalsInfosVO.setSize(10L);
+        }
+        if(renewalsInfosVO.getCurrent() !=0 && renewalsInfosVO.getSize() != 0){
+            page.setCurrent(renewalsInfosVO.getCurrent());
+            page.setSize(renewalsInfosVO.getSize());
+        }
+        UserRenewalsWrapper userRenewalsWrapper =new UserRenewalsWrapper();
+        BeanUtil.copyProperties(renewalsInfosVO,userRenewalsWrapper);
+        if(renewalsInfosVO.getOrgName()!=null && renewalsInfosVO.getOrgName()!=""){
+            RespDTO<List<Long>> rlist = userServiceClient.getUserByOrgName(renewalsInfosVO.getOrgName());
+            userRenewalsWrapper.setUserId(rlist.data);
+        }
+        List<RenewalsInfosDTO> list = this.selectUserRenewals(page,userRenewalsWrapper).getRecords();
+        List<ProductLineDTO> productList =lantoneProductFacade.productLine().data;
+        List<Long> userIds =new ArrayList<>();
+        for (RenewalsInfosDTO renewalsInfosDTO:list) {
+            Long userId = renewalsInfosDTO.getUserId();
+            userIds.add(userId);
+        }
+        RespDTO<Map<Long, UserOrgDTO>> mapRespDTO = userServiceClient.getUserAndOrg(userIds);
+        if(mapRespDTO == null || !"0".equals(mapRespDTO.code) ) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+                    "获取用户和机构信息失败");
+        }
+        Map<Long, UserOrgDTO> dataMap = mapRespDTO.data;
+        for(RenewalsInfosDTO bean : list) {
+            UserOrgDTO uo = dataMap.get(bean.getUserId());
+            for (ProductLineDTO productLineDTO:productList) {
+                if (productLineDTO.getId()==bean.getProductId()){
+                    bean.setProductName(productLineDTO.getName());
+                }
+            }
+            if(uo != null) {
+                bean.setUsername(uo.getUsername());
+                bean.setLinkman(uo.getLinkman());
+                bean.setOrgName(uo.getOrgName());
+            }
+        }
+        return page;
+    }
 }

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

@@ -1,7 +1,12 @@
 package com.diagbot.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.dto.RenewalsInfosDTO;
 import com.diagbot.entity.UserRenewals;
+import com.diagbot.entity.wrapper.UserRenewalsWrapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -20,4 +25,12 @@ public interface UserRenewalsMapper extends BaseMapper<UserRenewals> {
      * @return
      */
     public List<Long> selectProductIdByUserId(Long userId);
+
+    /**
+     * 查询续费相关信息系
+     * @param page
+     * @param userRenewalsWrapper
+     * @return
+     */
+    public IPage<RenewalsInfosDTO> selectUserRenewals(Page page,@Param("renewalsInfosVO") UserRenewalsWrapper userRenewalsWrapper);
 }

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

@@ -1,7 +1,12 @@
 package com.diagbot.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.RenewalsInfosDTO;
 import com.diagbot.entity.UserRenewals;
+import com.diagbot.entity.wrapper.UserRenewalsWrapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -21,4 +26,12 @@ public interface UserRenewalsService extends IService<UserRenewals> {
      * @return
      */
     public List<Long> selectProductIdByUserId(Long userId);
+
+    /**
+     * 查询续费相关信息系
+     * @param page
+     * @param userRenewalsWrapper
+     * @return
+     */
+    public IPage<RenewalsInfosDTO> selectUserRenewals(Page page, @Param("renewalsInfosVO") UserRenewalsWrapper userRenewalsWrapper);
 }

+ 11 - 1
diagbotman-service/src/main/java/com/diagbot/service/impl/UserRenewalsServiceImpl.java

@@ -1,9 +1,14 @@
 package com.diagbot.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.RenewalsInfosDTO;
 import com.diagbot.entity.UserRenewals;
+import com.diagbot.entity.wrapper.UserRenewalsWrapper;
 import com.diagbot.mapper.UserRenewalsMapper;
 import com.diagbot.service.UserRenewalsService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -23,4 +28,9 @@ public class UserRenewalsServiceImpl extends ServiceImpl<UserRenewalsMapper, Use
     public List<Long> selectProductIdByUserId(Long userId) {
         return baseMapper.selectProductIdByUserId(userId);
     }
+
+    @Override
+    public IPage<RenewalsInfosDTO> selectUserRenewals(Page page, @Param("renewalsInfosVO") UserRenewalsWrapper userRenewalsWrapper) {
+        return baseMapper.selectUserRenewals(page,userRenewalsWrapper);
+    }
 }

+ 37 - 0
diagbotman-service/src/main/java/com/diagbot/vo/RenewalsInfosVO.java

@@ -0,0 +1,37 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/10/15 9:38
+ */
+@Setter
+@Getter
+public class RenewalsInfosVO {
+    /**
+     * 页数
+     */
+    private Long current;
+    /**
+     * 每页显示条数
+     */
+    private Long size;
+    /**
+     * 续费状态
+     */
+    private Integer renewalsStutas;
+
+    /**
+     * 机构名称
+     */
+    private String orgName;
+
+    /**
+     * 开始时间
+     */
+    private String applyTime;
+
+}

+ 24 - 0
diagbotman-service/src/main/java/com/diagbot/web/UserRenewalsController.java

@@ -1,7 +1,17 @@
 package com.diagbot.web;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RenewalsInfosDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.UserRenewalsFacade;
+import com.diagbot.vo.RenewalsInfosVO;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -17,5 +27,19 @@ import org.springframework.web.bind.annotation.RestController;
 @Api(value = "续费API", tags = { "续费API" })
 @RequestMapping("/userRenewals")
 public class UserRenewalsController {
+    @Autowired
+    private UserRenewalsFacade userRenewalsFacade;
 
+    @ApiOperation(value = "续费管理——显示[by:wangyu]",
+            notes = "name:产品名,必填<br>" +
+                    "decription:产品描述,必填<br> " +
+                    "url:产品访问路径,必填<br>" +
+                    "charge_type:计费方式,必填<br>" +
+                    "access_type:接入模式,必填<br>" +
+                    "trialStatus:试用状态(是否可试用),必填<br>")
+    @PostMapping("/renewalsInfos")
+    @SysLogger("renewalsInfos")
+    public RespDTO<IPage<RenewalsInfosDTO>> renewalsInfos(@RequestBody RenewalsInfosVO renewalsInfosVO) {
+        return RespDTO.onSuc(userRenewalsFacade.renewalsInfo(renewalsInfosVO));
+    }
 }

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

@@ -88,9 +88,8 @@
             AND audit_status=#{product.auditStatus}
         </if>
         <if test="product.userId != null and product.userId.size > 0">
-            AND user_id IN
-            <foreach item="product.userId" collection="product.userId" open="(" separator="," close=")">
-                #{product.userId}
+            <foreach item="product.userId" collection="product.userId" open="and" separator="or" >
+                 user_id = #{product.userId}
             </foreach>
         </if>
         <if test="product.startTime != null and product.endTime != null">

+ 15 - 0
diagbotman-service/src/main/resources/mapper/UserRenewalsMapper.xml

@@ -19,4 +19,19 @@
     <select id="selectProductIdByUserId" resultType="java.lang.Long">
         SELECT r.product_id FROM `diag_user_renewals` r WHERE r.is_deleted = 'N' and r.renewals_stutas = 0 AND r.user_id =#{userId}
     </select>
+    
+    <select id="selectUserRenewals" resultType="com.diagbot.dto.RenewalsInfosDTO">
+        SELECT * FROM `diag_user_renewals` WHERE is_deleted = 'N'
+        <if test="renewalsInfosVO.renewalsStutas != null and renewalsInfosVO.renewalsStutas != ''">
+              AND renewals_stutas = #{renewalsInfosVO.renewalsStutas}
+        </if>
+        <if test="renewalsInfosVO.applyTime != null and renewalsInfosVO.applyTime != ''">
+            AND apply_time = #{renewalsInfosVO.applyTime}
+        </if>
+        <if test="renewalsInfosVO.userId != null and renewalsInfosVO.userId.size > 0">
+            <foreach collection="renewalsInfosVO.userId" item="renewalsInfosVO.userId" open="and" separator="or">
+                user_id = #{renewalsInfosVO.userId}
+            </foreach>
+        </if>
+    </select>
 </mapper>