lijilei 3 anni fa
parent
commit
5c426a29d4

+ 6 - 4
book-push/src/main/java/com/book/push/Application.java

@@ -18,11 +18,13 @@ public class Application {
     public static void main(String[] args) {
 
         //下面语句使得日志输出使用异步处理,减小输出日志对性能的影响
-//        System.setProperty("Log4jContextSelector",
-//                "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
+        System.setProperty("Log4jContextSelector",
+                "org.apache.logging.log4j.core.async.AsyncLoggerContextSelector");
         SpringApplication.run(Application.class);
         System.out.println("---------------------------------------------------------------------------------------------------------------");
-        System.out.println("----------------     -         application book-push run success                 ---------------------------");
-        System.out.println("------------------------------------------------------------------------------------------------------------");
+        System.out.println("----------------                                                                   ---------------------------");
+        System.out.println("----------------              application book-push run success                    ---------------------------");
+        System.out.println("----------------                                                                   ---------------------------");
+        System.out.println("---------------------------------------------------------------------------------------------------------------");
     }
 }

+ 3 - 2
book-push/src/main/java/com/book/push/handler/MenuHandler.java

@@ -62,8 +62,9 @@ public class MenuHandler extends AbstractHandler {
         String msg = "";
 //        String msg = "<a href=\"weixin://bizmsgmenu?msgmenucontent=签到&msgmenuid=0\">点我签到</a>";
         if ("签到".equals(wxMessage.getEventKey())) {
-            msg = "<a href=\"weixin://bizmsgmenu?msgmenucontent=签到&msgmenuid=0\">\uD83D\uDC49\uD83D\uDC49点击领取免费书币</a>";
-
+//            msg = "<a href=\"weixin://bizmsgmenu?msgmenucontent=签到&msgmenuid=0\">\uD83D\uDC49\uD83D\uDC49点击领取免费书币</a>";
+            msg = "<a href=\"weixin://kefumenu?kefumenucontent=签到&kefumenuid=0\">\uD83D\uDC49\uD83D\uDC49点击领取免费书币</a>";
+//            weixin://kefumenu?kefumenucontent=蓝字开口测试&kefumenuid=0
             WxMpXmlOutTextMessage wxMpXmlOutTextMessage = WxMpXmlOutMessage.TEXT().content(msg)
                     .fromUser(appid).toUser(openid)
                     .build();

+ 1 - 0
book-push/src/main/java/com/book/push/service/dao/impl/UserServiceImpl.java

@@ -122,6 +122,7 @@ public class UserServiceImpl implements UserService {
         // 更新到用户
         User user = selectById(userId);
         User user1 = new User();
+        user1.setId(userId);
         user1.setKandian(user.getKandian() + kandian);
         user1.setFreeKandian(freeCount);
         int i = userMapper.updateByPrimaryKeySelective(user1);

+ 5 - 2
book-push/src/main/java/com/book/push/service/push/impl/PushCustomMessageTask.java

@@ -4,6 +4,7 @@ import com.book.dao.cps.pojo.Custom;
 import com.book.push.service.dao.CustomService;
 import com.book.push.service.push.DelayTask;
 import com.book.push.service.push.vo.CustomMessage;
+import lombok.extern.slf4j.Slf4j;
 import me.chanjar.weixin.common.error.WxErrorException;
 import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
 import me.chanjar.weixin.open.api.WxOpenMpService;
@@ -16,7 +17,7 @@ import java.util.List;
  *
  * @author win7
  */
-
+@Slf4j
 public class PushCustomMessageTask extends DelayTask<CustomMessage> {
     private WxOpenMpService wxMpService;
 
@@ -33,6 +34,7 @@ public class PushCustomMessageTask extends DelayTask<CustomMessage> {
     @Override
     public void run() {
         List<WxMpKefuMessage> messageList = entity.getMessageList();
+        log.info("发送客服消息:共{}人,消息内容:\n{}",messageList.size(),messageList);
         int success = 0;
         int fail = 0;
         for (int i = 0; i < messageList.size(); i++) {
@@ -43,10 +45,11 @@ public class PushCustomMessageTask extends DelayTask<CustomMessage> {
             } catch (WxErrorException e) {
                 fail++;
                 System.out.println("客服笑死发送失败:" + wxMpKefuMessage);
+                log.warn("客服消息发送失败:" + wxMpKefuMessage);
                 e.printStackTrace();
             }
         }
-        System.out.println("发送成功:" + success + ",失败::" + fail);
+        log.info("发送成功:" + success + ",失败::" + fail);
         Custom custom = entity.getCustom();
         custom.setSuccessNum(success);
         custom.setFailNum(fail);

+ 2 - 2
book-push/src/main/java/com/book/push/task/KefuTask.java

@@ -39,7 +39,7 @@ import java.util.concurrent.TimeUnit;
  */
 
 @Component
-
+@Slf4j
 public class KefuTask {
     @Autowired
     private CustomService customService;
@@ -88,7 +88,7 @@ public class KefuTask {
 
             List<WxMpKefuMessage> messageList = new ArrayList<>();
 
-
+            log.info("检测到客服消息:消息id:{},符合条件的人数:{}",custom.getId(),userList.size());
             for (User user : userList) {
 
                 if ("0".equals(custom.getMessageType())) {

+ 2 - 2
book-push/src/main/resources/log4j2.xml

@@ -55,12 +55,12 @@
     <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
     <loggers>
         <!-- com.example 包下日志采用异步模式 -->
-      <!--  <AsyncLogger name="com.book" level="info" additivity="false" includeLocation="true">
+        <AsyncLogger name="com.book" level="info" additivity="false" includeLocation="true">
             <AppenderRef ref="Console" />
             <AppenderRef ref="RollingFileInfo" />
             <AppenderRef ref="RollingFileWarn" />
             <AppenderRef ref="RollingFileError" />
-        </AsyncLogger>-->
+        </AsyncLogger>
         <!--过滤掉spring和mybatis的一些无用的DEBUG信息-->
         <logger name="org.springframework" level="INFO"/>
         <logger name="org.mybatis" level="INFO"/>

+ 1 - 0
book-server/src/main/java/com/book/server/service/impl/BookServiceImpl.java

@@ -796,6 +796,7 @@ public class BookServiceImpl implements BookService {
         // 更新到用户
         User user = cacheService.getUserByIdCache(userId);
         User user1 = new User();
+        user1.setId(userId);
         user1.setKandian(user.getKandian() + kandian);
         user1.setFreeKandian(freeCount);
         int i = userMapper.updateByPrimaryKeySelective(user1);

+ 13 - 8
book-server/src/main/java/com/book/server/service/impl/WxPayServiceImpl.java

@@ -36,7 +36,8 @@ public class WxPayServiceImpl implements WxPayService {
     public static final String PALMPAY_APPID = "";
     public static final String PALMPAY_APPKEY = "";
     public static final String PALMPAY_MCHID = "";
-    public static final String PALMPAY_URL = "https://pay.palmpay.cn/sdkServer/thirdpays/pay/WECHAT_SUB";
+//    public static final String PALMPAY_URL = "https://pay.palmpay.cn/sdkServer/thirdpays/pay/WECHAT_SUB";
+    public static final String PALMPAY_URL = "http://101.200.72.53:18085/sdkServer/thirdpays/pay/WECHAT_SUB";
     @Autowired
     private GoodsMapper goodsMapper;
     @Autowired
@@ -86,8 +87,8 @@ public class WxPayServiceImpl implements WxPayService {
 
         Integer ophostId = adminConfig.getOphostId();
         Ophost ophost = ophostMapper.selectByPrimaryKey(ophostId);
-        Config url_pay = configMapper.selectByName("url_pay");
-        String url = "http://" + url_pay.getValue();
+//        Config url_pay = configMapper.selectByName("url_pay");
+        String url = "http://" + wxpay.getPayHost();
         AdminExtend adminExtend = adminExtendMapper.selectByPrimaryKey(channelId);
         //todo 入库
         long orderid = TimeUnit.NANOSECONDS.convert(System.currentTimeMillis(), TimeUnit.MILLISECONDS) + wxPayRequest.getUserId();
@@ -150,8 +151,8 @@ public class WxPayServiceImpl implements WxPayService {
         WxPayInfo wxPayInfo = new WxPayInfo();
         wxPayInfo.setUserId(userByUserId.getId() + "");
         wxPayInfo.setOrderId(String.valueOf(order.getId()));
-        if (StringUtils.isNotEmpty(wxpay.getAppid()) || StringUtils.isNotEmpty(wxPayRequest.getOpenid())) {
-            map.put("subAppid", wxpay.getAppid());
+        if ( StringUtils.isNotEmpty(wxPayRequest.getOpenid())) {
+            map.put("subAppid", wxpay.getAppid()==null?"":wxpay.getAppid());
             map.put("openid", wxPayRequest.getOpenid());
 
             String result = HTTPSUtil.sendGetByHttps(PALMPAY_URL, map);
@@ -208,27 +209,29 @@ public class WxPayServiceImpl implements WxPayService {
         String openid = map.get("openid");
         String timeEnd = map.get("timeEnd");
         if ("success".equals(status)) {
-            Integer id = Integer.valueOf(outTradeNo.substring(8, outTradeNo.length()));
+            Integer id = Integer.valueOf(outTradeNo.substring(14, outTradeNo.length()));
+            log.info("订单号:" + id);
             Orders order = ordersMapper.selectByPrimaryKey(id);
             if (order == null) {
                 log.error("订单不存在");
                 return "error";
             }
+
             if (!"1".equals(order.getState())) {
                 Orders orders = new Orders();
                 orders.setId(id);
                 orders.setOutTradeNo(outTradeNo);
-                orders.setState(1);
+                orders.setState("1");
                 orders.setPdorderid(pdorderid);
                 orders.setTransactionId(chorderid);
                 orders.setUpdatetime(DateUtils.getNow());
                 orders.setFinishtime(DateUtils.getNow());
                 ordersMapper.updateByPrimaryKeySelective(orders);
                 bookService.insertKandian(order.getUserId(), "1", order.getKandian(), order.getFreeKandian());
+                cacheService.updateUserByIdCache(order.getUserId());
             }
 
 
-            cacheService.updateUserByIdCache(order.getUserId());
         }
 
         return "success";
@@ -314,5 +317,7 @@ public class WxPayServiceImpl implements WxPayService {
         WxPayInfo wxPayInfo = new WxPayInfo();
         wxPayInfo.setPayInfo(map1);
         System.out.println(JsonUtils.toJsonStr(wxPayInfo));
+        String s = "202109091408295802";
+        System.out.println(s.substring(14));
     }
 }

+ 17 - 0
book-server/src/test/java/com/book/server/service/impl/BookServiceImplTest.java

@@ -1,5 +1,8 @@
 package com.book.server.service.impl;
 
+import com.book.dao.cps.mapper.OrdersMapper;
+import com.book.dao.cps.pojo.Orders;
+import com.book.dao.utils.DateUtils;
 import com.book.server.service.BookService;
 import junit.framework.TestCase;
 import org.junit.Test;
@@ -14,10 +17,24 @@ public class BookServiceImplTest {
 
     @Autowired
     private BookServiceImpl bookService;
+    @Autowired
+    private OrdersMapper ordersMapper;
 
     @Test
     public void testGetDefaultFreeChapterNum() {
         int defaultFreeChapterNum = bookService.getDefaultFreeChapterNum();
         System.out.println(defaultFreeChapterNum);
     }
+    @Test
+    public void testUpdateOrderState() {
+        Orders orders = new Orders();
+        orders.setId(5800);
+        orders.setOutTradeNo("1632278760978000107");
+        orders.setState("1");
+        orders.setPdorderid("2312312");
+        orders.setTransactionId("chorderid1");
+        orders.setUpdatetime(DateUtils.getNow());
+        orders.setFinishtime(DateUtils.getNow());
+       ordersMapper.updateByPrimaryKeySelective(orders);
+    }
 }