Explorar o código

企业缴费流水

guomengjiao hai 3 meses
pai
achega
6ecf12bc8e

+ 12 - 7
renren-admin/src/main/java/io/renren/modules/listener/EnterpriseVipListener.java

@@ -1,12 +1,9 @@
 package io.renren.modules.listener;
 
-import cn.hutool.core.util.NumberUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.rabbitmq.client.Channel;
 import io.renren.common.canstant.QueueConstant;
 import io.renren.common.enums.EnterpriseStatusEnum;
-import io.renren.modules.qmgj.dao.MemberInfoDao;
-import io.renren.modules.qmgj.entity.MemberInfoEntity;
 import io.renren.modules.qyh.entity.EnterpriseEntity;
 import io.renren.modules.qyh.service.EnterpriseService;
 import lombok.extern.slf4j.Slf4j;
@@ -16,7 +13,7 @@ import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import java.io.IOException;
-import java.time.LocalDate;
+import java.time.LocalDateTime;
 
 @Component
 @Slf4j
@@ -30,14 +27,22 @@ public class EnterpriseVipListener {
         String s = new String(message.getBody());
         JSONObject jsonObject = JSONObject.parseObject(s);
         Long id = Long.parseLong(jsonObject.get("enterpriseId").toString());
-        EnterpriseEntity enterpriseEntity = enterpriseService.getById(id);
+        long deliveryTag = message.getMessageProperties().getDeliveryTag();
         try {
-            if(!LocalDate.now().equals(enterpriseEntity.getExpiredTime().toLocalDate())) {
+            EnterpriseEntity enterpriseEntity = enterpriseService.getById(id);
+            if (enterpriseEntity == null) {
+                log.info("企业不存在,ID: {}", id);
+                channel.basicAck(deliveryTag, false);
+                return;
+            }
+            if (enterpriseEntity.getExpiredTime().isAfter(LocalDateTime.now())) {
                 log.info("该企业已成功续费会员");
-                channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
+                channel.basicAck(deliveryTag, false);
+                return;
             }
             enterpriseEntity.setStatus(EnterpriseStatusEnum.EXPIRED.value());
             enterpriseService.updateById(enterpriseEntity);
+            channel.basicAck(deliveryTag, false);
         } catch (IOException e) {
             e.printStackTrace();
         }

+ 1 - 6
renren-admin/src/main/java/io/renren/modules/qyh/api/ApiEnterpriseController.java

@@ -56,7 +56,6 @@ public class ApiEnterpriseController {
         return R.ok();
     }
 
-    //审核通过后上传企业展示信息
     @PostMapping("/uploadEnterpriseInfo")
     @RepeatSubmit()
     @ApiOperation("上传企业展示信息")
@@ -92,11 +91,7 @@ public class ApiEnterpriseController {
             return R.error("缺少参数");
         }
         long id = Long.parseLong(params.get("id").toString());
-        String code = MapUtil.getStr(params, "code");
-        if (StrUtil.isBlank(code)) {
-            return R.error("缺少参数");
-        }
-        return enterpriseService.openOrVip(id, code);
+        return enterpriseService.openOrVip(id);
     }
 
     /**

+ 10 - 0
renren-admin/src/main/java/io/renren/modules/qyh/controller/EnterpriseController.java

@@ -1,5 +1,7 @@
 package io.renren.modules.qyh.controller;
 
+import io.renren.common.enums.OrderBusinessTypeEnum;
+import io.renren.common.enums.YnEnum;
 import io.renren.common.utils.R;
 import io.renren.modules.qyh.service.EnterpriseService;
 import io.renren.modules.sys.controller.AbstractController;
@@ -42,4 +44,12 @@ public class EnterpriseController extends AbstractController {
         return R.ok().put("page", enterpriseService.queryApiPage(params));
     }
 
+    @GetMapping("/orderPage")
+    @ApiOperation("缴费流水分页")
+    @RequiresPermissions("qyh:enterprise:list")
+    public R apiPage(@RequestParam Map<String, Object> params) {
+        params.put("businessType", OrderBusinessTypeEnum.ENTERPRISE_PAYMENT.value());
+        params.put("payStatus", YnEnum.YES.value());
+        return R.ok().put("page", enterpriseService.orderPage(params));
+    }
 }

+ 2 - 0
renren-admin/src/main/java/io/renren/modules/qyh/mapper/EnterpriseMapper.java

@@ -18,4 +18,6 @@ public interface EnterpriseMapper extends BaseMapper<EnterpriseEntity> {
     IPage<EnterpriseVO> pageEnterprise(IPage<EnterpriseEntity> iPage, @Param("params") Map<String, Object> params);
 
     IPage<EnterpriseVO> pageApiEnterprise(IPage<EnterpriseEntity> iPage, @Param("params") Map<String, Object> params);
+
+    IPage<EnterpriseVO> orderPage(IPage<EnterpriseEntity> iPage, @Param("params") Map<String, Object> params);
 }

+ 7 - 0
renren-admin/src/main/java/io/renren/modules/qyh/model/vo/EnterpriseVO.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
@@ -79,4 +80,10 @@ public class EnterpriseVO implements Serializable {
 	@ApiModelProperty(value = "审核时间")
 	private LocalDateTime auditTime;
 
+	@ApiModelProperty(value = "缴费金额")
+	private BigDecimal actuallyPaid;
+
+	@ApiModelProperty(value = "缴费时间")
+	private LocalDateTime payTime;
+
 }

+ 3 - 1
renren-admin/src/main/java/io/renren/modules/qyh/service/EnterpriseService.java

@@ -38,8 +38,10 @@ public interface EnterpriseService extends IService<EnterpriseEntity> {
 
     EnterpriseEntity apiInfo(Long id);
 
-    R openOrVip(Long id, String code);
+    R openOrVip(Long id);
 
     String enterprisePaysCallback(HttpServletRequest request, HttpServletResponse response) throws Exception;
+
+    PageUtils orderPage(Map<String, Object> params);
 }
 

+ 10 - 1
renren-admin/src/main/java/io/renren/modules/qyh/service/impl/EnterpriseServiceImpl.java

@@ -242,7 +242,7 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public R openOrVip(Long id, String code) {
+    public R openOrVip(Long id) {
         EnterpriseEntity enterpriseEntity = getById(id);
         if (ObjectUtil.isNull(enterpriseEntity)) {
             throw new RRException("企业id不存在");
@@ -368,6 +368,15 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
         return StringUtil.GetMapToXML(returnData);
     }
 
+    @Override
+    public PageUtils orderPage(Map<String, Object> params) {
+        Integer page = MapUtil.getInt(params, Constant.PAGE);
+        Integer limit = MapUtil.getInt(params, Constant.LIMIT);
+        IPage<EnterpriseEntity> iPage = new Page<>(page, limit);
+        IPage<EnterpriseVO> enterprisePage = baseMapper.orderPage(iPage, params);
+        return new PageUtils(enterprisePage);
+    }
+
     private void validateEnterpriseExists(EnterpriseDTO dto) {
         Integer memberCount = baseMapper.selectCount(
                 new LambdaQueryWrapper<EnterpriseEntity>().eq(EnterpriseEntity::getMemberId, dto.getMemberId())

+ 26 - 0
renren-admin/src/main/resources/mapper/qyh/EnterpriseDao.xml

@@ -77,4 +77,30 @@
         ORDER BY qe.create_time DESC
     </select>
 
+    <select id="orderPage" resultType="io.renren.modules.qyh.model.vo.EnterpriseVO">
+        SELECT
+        qe.*,
+        qo.actually_paid,
+        qo.pay_time
+        FROM
+        `qyh_enterprise` qe
+        inner join qyh_order qo on qe.id = qo.business_id and qo.business_type = #{params.businessType}
+        <where>
+            qe.is_delete = '0' and qe.status IS NOT NULL and qo.pay_status = #{params.payStatus}
+            <if test="params.enterpriseName != null and params.enterpriseName != ''">
+                AND qe.`enterprise_name` LIKE CONCAT('%',#{params.enterpriseName},'%')
+            </if>
+            <if test="params.licenseNo != null and params.licenseNo != ''">
+                AND qe.`license_no` LIKE CONCAT('%',#{params.licenseNo},'%')
+            </if>
+            <if test="params.startTime != null and params.endTime != null">
+                <![CDATA[
+                    AND qo.pay_time >= #{params.startTime}
+                    AND qo.pay_time <= #{params.endTime}
+                ]]>
+            </if>
+        </where>
+        ORDER BY qo.pay_time DESC
+    </select>
+
 </mapper>