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

Merge remote-tracking branch 'origin/master'

Mr.qian 3 недель назад
Родитель
Сommit
9cd3ed4e14

+ 1 - 0
cif-service/src/main/java/com/txz/cif/core/cache/CacheType.java

@@ -12,6 +12,7 @@ public enum CacheType {
 	AppSecretKey,
 
 	Top2,
+	Top4,
 
 	sjtcRefundCallback,
 

+ 40 - 0
cif-service/src/main/java/com/txz/cif/dubbo/client/NoticeDubboServiceClient.java

@@ -0,0 +1,40 @@
+package com.txz.cif.dubbo.client;
+
+
+import com.txz.mall.enums.NoticeEnum;
+import com.txz.mall.service.NoticeDubboService;
+import com.txz.mall.service.OrderDubboService;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.Reference;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class NoticeDubboServiceClient {
+
+    @Reference
+    private NoticeDubboService noticeDubboService;
+
+    /**
+     * 添加充值/提现通知
+     */
+    public void addMoneyNotice(NoticeEnum noticeType, Long... uids) {
+        log.info("cif:addMoneyNotice start");
+        noticeDubboService.addMoneyNotice(noticeType,uids);
+        log.info("cif:addMoneyNotice end");
+    }
+
+    ;
+
+    /**
+     * 添加收益通知
+     */
+    public void addRewardNotice(NoticeEnum noticeType, String noticeMessage, Long... uids) {
+        log.info("cif:addRewardNotice start");
+        noticeDubboService.addRewardNotice(noticeType,noticeMessage,uids);
+        log.info("cif:addRewardNotice end");
+    }
+
+
+}

+ 29 - 0
cif-service/src/main/java/com/txz/cif/service/impl/RedEnvelopeServiceImpl.java

@@ -9,6 +9,7 @@ import com.txz.cif.core.ServiceException;
 import com.txz.cif.dao.RedEnvelopeMapper;
 import com.txz.cif.dto.EarningsDTO;
 import com.txz.cif.dto.Result;
+import com.txz.cif.dubbo.client.NoticeDubboServiceClient;
 import com.txz.cif.dubbo.client.OperatingConfigDubboServiceClient;
 import com.txz.cif.enums.BizTypeEnum;
 import com.txz.cif.model.*;
@@ -18,6 +19,7 @@ import com.txz.cif.service.*;
 import com.txz.cif.core.AbstractService;
 import com.txz.cif.web.bo.UserTopBo;
 import com.txz.cif.web.para.RedEnvelopeParam;
+import com.txz.mall.enums.NoticeEnum;
 import com.txz.operating.dto.ConfigDTO;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -56,6 +58,9 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
     @Resource
     private ConfigMemberService configMemberService;
 
+    @Resource
+    private NoticeDubboServiceClient noticeDubboServiceClient;
+
     /**
      * 类型 1充值 2提现 3参团 4退款 5开团红包 6参团红包 7签到红包 8下级红包佣金 9下下级红包佣金
      * @param param
@@ -209,10 +214,34 @@ public class RedEnvelopeServiceImpl extends AbstractService<RedEnvelope> impleme
                     .settleTime(settleTime)
                     .createUser(param.getUserIds().get(0).getUserId()+"")
                     .build();
+            try{
+                noticeDubboServiceClient.addRewardNotice(getNoticeEunm(bizType),param.getUserIds().get(0).getOrderNo(),redEnvelope.getUserId());
+            }catch (Exception e){
+
+            }
             return redEnvelope;
         } else {
             return null;
         }
     }
 
+    private NoticeEnum getNoticeEunm(Integer bizType) {
+        NoticeEnum ret = null;
+        switch (bizType){
+            case 5001:
+                return NoticeEnum.REWARD_OPEN_GROUP_BUY;
+            case 5002:
+                return NoticeEnum.REWARD_GROUP_BUY;
+            case 5003:
+                return NoticeEnum.REWARD_CHECKIN;
+            case 5004:
+                return NoticeEnum.REWARD_FIRST_COMMISSION;
+            case 5005:
+                return NoticeEnum.REWARD_SECONDARY_COMMISSION;
+            case 5006:
+                return NoticeEnum.REWARD_REFER_FRIENDS;
+        }
+        return ret;
+    }
+
 }

+ 1 - 5
cif-service/src/main/java/com/txz/cif/web/AccountApiController.java

@@ -136,12 +136,8 @@ public class AccountApiController extends AbstractApiController {
 		PageHelper.startPage(param.getPage(), param.getSize());
 		Condition c = new Condition(AccountFlow.class);
 		Criteria criteria = c.createCriteria().andEqualTo("userId",user.getId());
-		if (param.getType() != null){
-			criteria.andEqualTo("type",param.getType());
-		}
 		if (param.getType() == 1 ){
-			Date todayStart = DateUtil.beginOfDay(DateUtil.date());
-			criteria.andGreaterThanOrEqualTo("createTime", todayStart);
+			criteria.andGreaterThanOrEqualTo("createTime", DateUtil.today());
 		} else if (param.getType() == 2){
 			Date yesterdayStart = DateUtil.beginOfDay(DateUtil.yesterday());
 			Date todayStart = DateUtil.beginOfDay(DateUtil.date());

+ 12 - 1
cif-service/src/main/java/com/txz/cif/web/RechargeRecordApiController.java

@@ -21,6 +21,7 @@ import com.txz.cif.core.ResultGenerator;
 import com.txz.cif.dto.BizLogDTO;
 import com.txz.cif.dto.tfpay.CheckSignDTO;
 import com.txz.cif.dto.tfpay.TFCreateOrderDTO;
+import com.txz.cif.dubbo.client.NoticeDubboServiceClient;
 import com.txz.cif.model.*;
 import com.txz.cif.service.*;
 import com.txz.cif.service.impl.BizLogServiceImpl;
@@ -31,6 +32,7 @@ import com.txz.cif.web.ro.TFPayNotifyDTO;
 import com.txz.cif.web.vo.CreatePayVO;
 import com.txz.cif.web.vo.PaymentPriceVO;
 import com.txz.core.ServiceException;
+import com.txz.mall.enums.NoticeEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
@@ -87,7 +89,11 @@ public class RechargeRecordApiController {
     private LockTemplate lockTemplate;
     @Autowired
     private BizLogServiceImpl bizLogServiceImpl;
-    
+
+    @Resource
+    private NoticeDubboServiceClient noticeDubboServiceClient;
+
+
     @GetMapping("/goodsList/{methodId:^\\d+$}")
     @ApiOperation(value = "充值商品", httpMethod = "GET")
     public Result<PaymentPriceVO> goodsList(@PathVariable("methodId") Long methodId) {
@@ -329,6 +335,11 @@ public class RechargeRecordApiController {
             } catch (Exception e) {
                 log.error("新增充值回调日志失败", e);
             }
+            try {
+                noticeDubboServiceClient.addMoneyNotice(NoticeEnum.MONEY_RECHARGE_SUCCESS,record.getUserId());
+            }catch (Exception e) {
+                log.error("新增充值回调消息失败", e);
+            }
             return "OK";
         } finally {
             lockTemplate.releaseLock(lockInfo);

+ 3 - 3
cif-service/src/main/java/com/txz/cif/web/RedEnvelopeApiController.java

@@ -103,7 +103,7 @@ public class RedEnvelopeApiController {
 	@GetMapping("/top")
 	@ApiOperation(value = "排行榜type 1 7天收益排行",httpMethod = "GET")
 	public Result<TopBO> top(@RequestParam(defaultValue = "1") Integer type, @RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer size) {
-		String key = CacheKey.generateKey(CacheType.Top2,type+":"+page+":"+size).toString();
+		String key = CacheKey.generateKey(CacheType.Top4,type+":"+page+":"+size).toString();
 		Object o = redisUtil.get(key);
 		if (o != null){
 			return ResultGenerator.genSuccessResult(JSONUtil.toBean(o.toString(),TopBO.class));
@@ -136,7 +136,7 @@ public class RedEnvelopeApiController {
 		}).collect(Collectors.toList()));
 		bo.setUsers(pageInfo);
 		bo.setUpdateTime(DateUtil.date());
-		redisUtil.set(key,JSONUtil.toJsonStr(pageInfo),1, TimeUnit.DAYS);
-		return ResultGenerator.genSuccessResult(pageInfo);
+		redisUtil.set(key,JSONUtil.toJsonStr(bo),5, TimeUnit.MINUTES);
+		return ResultGenerator.genSuccessResult(bo);
 	}
 }

+ 20 - 3
cif-service/src/main/java/com/txz/cif/web/WithdrawRecordApiController.java

@@ -15,6 +15,7 @@ import com.txz.cif.core.Result;
 import com.txz.cif.core.ResultCode;
 import com.txz.cif.core.ResultGenerator;
 import com.txz.cif.dto.tfpay.CheckWithdrawSignDTO;
+import com.txz.cif.dubbo.client.NoticeDubboServiceClient;
 import com.txz.cif.dubbo.client.OperatingConfigDubboServiceClient;
 import com.txz.cif.model.*;
 import com.txz.cif.service.*;
@@ -22,6 +23,7 @@ import com.txz.cif.util.TFPayUtil;
 import com.txz.cif.web.para.RecordParam;
 import com.txz.cif.web.para.WithdrawParam;
 import com.txz.cif.web.ro.TFWithdrawCallbackDTO;
+import com.txz.mall.enums.NoticeEnum;
 import com.txz.operating.dto.ConfigDTO;
 import io.jsonwebtoken.Claims;
 import io.swagger.annotations.Api;
@@ -78,7 +80,10 @@ public class WithdrawRecordApiController {
     
     @Resource
     private OperatingConfigDubboServiceClient operatingConfigDubboServiceClient;
-    
+
+
+    @Resource
+    private NoticeDubboServiceClient noticeDubboServiceClient;
     @PostMapping("/add")
     @ApiOperation(value = "新增提现订单", httpMethod = "POST")
     public Result add(@RequestBody WithdrawParam param, @RequestHeader(value = X_CLIENT_TOKEN, required = false) String token) {
@@ -267,13 +272,20 @@ public class WithdrawRecordApiController {
             //     log.error("新增充值回调日志失败", e);
             // }
             // return ResultGenerator.genSuccessResult();
-            
+            WithdrawRecord record = records.get(0);
+            NoticeEnum ne = null;
             Integer type = 8;
             if (StrUtil.equals("1", dto.getReturncode())) {
-                withdrawRecordService.success(records.get(0), DateUtil.parse(dto.getDatetime(), "yyyyMMddHHmmss"));
+                withdrawRecordService.success(record, DateUtil.parse(dto.getDatetime(), "yyyyMMddHHmmss"));
+                if (record.getAccountType() == 1) {
+                    ne = NoticeEnum.MONEY_WITHDRAWAL_WALLET_SUCCESS;
+                } else  if (record.getAccountType() == 2) {
+                    ne = NoticeEnum.MONEY_WITHDRAWAL_ACCOUNT_SUCCESS;
+                }
             } else {
                 withdrawRecordService.fail(records.get(0));
                 type = 9;
+                ne = NoticeEnum.MONEY_WITHDRAWAL_FAIL;
             }
             try {
                 // 新增充值回调日志
@@ -290,6 +302,11 @@ public class WithdrawRecordApiController {
                 // }
                 
             }
+            try {
+                noticeDubboServiceClient.addMoneyNotice(ne,record.getUserId());
+            }catch (Exception e) {
+                log.error("新增提现回调消息失败", e);
+            }
             return "OK";
         } finally {
             lockTemplate.releaseLock(lockInfo);

+ 1 - 1
cif-service/src/main/java/com/txz/cif/web/bo/TopBO.java

@@ -14,7 +14,7 @@ import java.util.Date;
 @NoArgsConstructor
 public class TopBO {
 
-    private PageInfo<TopBO> users;
+    private PageInfo<UserTopBo> users;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;