Browse Source

Merge branch 'master' into develop

‘linchangsheng’ 3 months ago
parent
commit
f0f82d262c

+ 25 - 20
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/order/PayOrderLogic.java

@@ -424,31 +424,12 @@ public class PayOrderLogic {
             final User user = userService.getById(workerOrder.getUserId());
             workerOrder.setIdentity(user.getIdCard());
         }
-
         List<WorkerOrderItem> workerOrderItems = workerOrderItemService.lambdaQuery().eq(WorkerOrderItem::getOrderId, workerOrder.getOrderId()).list();
 
-        for (WorkerOrderItem workerOrderItem : workerOrderItems) {
-            if (websitNormChargeService.lambdaQuery().eq(WebsitNormCharge::getNormName,workerOrderItem.getGoodsName())
-                    .eq(WebsitNormCharge::getNormType,"M").count() < 1
-                    && partsImportService.lambdaQuery().eq(PartsImport::getPartName,workerOrderItem.getGoodsName())
-                    .count() < 1
-            ) {
-                workerOrderItem.setChargeType("SERV");
-            }
-
-        }
-
         workerOrder.setSource(commonLogic.getSource().equals("A")?OrderInfoSourceEnum.A.getRemark():OrderInfoSourceEnum.B.getRemark() );
 
 
-        if (!StringUtil.isEmpty(workerOrder.getWorkerOrderId())){
-            PgOrderBase pgOrderBase = pgOrderBaseService.getById(workerOrder.getWorkerOrderId());
-            if (pgOrderBase != null){
-                workerOrder.setSaleType(pgOrderBase.getSaleType());
-                workerOrder.setOrderSmallType(pgOrderBase.getOrderSmallType());
-                workerOrder.setOrderSmallTypeText(pgOrderBase.getOrderSmallTypeText());
-            }
-        }
+
 
 
         workerOrder.setPayTime(new Date());
@@ -610,6 +591,9 @@ public class PayOrderLogic {
 
         if (payType.equals(PayTypeEnum.WECHAT.getKey())) {
             if (workerOrder.getTotalAmount().doubleValue() > 0) {
+                WorkerOrder workerOrderOne = workerOrderService.getById(orderId);
+                if (workerOrderOne == null)
+                    throw new RemoteServiceException("支付失败请重新发起支付" );
                 String transcationId = wechatLogic.paymentFkm(workerOrder.getOrderId(), workerOrder.getTotalAmount(), authCode, "Y", ip,
                         adminWebsit.getPayWorkerCodeId(), workerOrder.getSource());
 
@@ -1188,6 +1172,15 @@ public class PayOrderLogic {
         workerOrder.setPayStateTime(new Date());
         workerOrder.setOpenId(currentCompanyWechat.getUser().getMiniOpenId());
 
+        if (!StringUtil.isEmpty(workerOrder.getWorkerOrderId())){
+            PgOrderBase pgOrderBase = pgOrderBaseService.getById(workerOrder.getWorkerOrderId());
+            if (pgOrderBase != null){
+                workerOrder.setSaleType(pgOrderBase.getSaleType());
+                workerOrder.setOrderSmallType(pgOrderBase.getOrderSmallType());
+                workerOrder.setOrderSmallTypeText(pgOrderBase.getOrderSmallTypeText());
+            }
+        }
+
         if (StringUtil.isEmpty(workerOrder.getOpenId())){
             throw new RemoteServiceException("师傅身份Oppid获得失败,请重新进入小程序,授权用户信息,发起支付");
         }
@@ -1197,6 +1190,18 @@ public class PayOrderLogic {
         }else {
             workerOrder.updateById();
         }
+
+        List<WorkerOrderItem> workerOrderItems = workerOrderItemService.lambdaQuery().eq(WorkerOrderItem::getOrderId, workerOrder.getOrderId()).list();
+
+        for (WorkerOrderItem workerOrderItem : workerOrderItems) {
+            if (partsImportService.lambdaQuery().eq(PartsImport::getPartName,workerOrderItem.getGoodsName())
+                    .count() > 0
+            ) {
+                workerOrderItem.setChargeType("SERV");
+                workerOrderItem.updateById();
+            }
+
+        }
         return workerOrder;
     }
 }

+ 2 - 2
mall-server-api/src/main/java/com/gree/mall/manager/bean/apply/WorkerInvolvePrincipalVO.java

@@ -25,13 +25,13 @@ public class WorkerInvolvePrincipalVO   {
 
     @ZfireField(tbName = "b")
     @ApiModelProperty(value = "网点编号")
-    private String websitNumber;
+    private String websitId;
     @ZfireField(tbName = "b")
     @ApiModelProperty(value = "网点名称")
     private String websitName;
     @ZfireField(tbName = "b")
     @ApiModelProperty(value = "所属公司编号")
-    private String belongCompanyId;
+    private String belongCompanyCode;
     @ZfireField(tbName = "b")
     @ApiModelProperty(value = "所属销售公司")
     private String belongCompany;

+ 2 - 2
mall-server-api/src/main/java/com/gree/mall/manager/logic/common/WechatLogic.java

@@ -339,7 +339,7 @@ public class WechatLogic {
 
         WxPayMicropayRequest request = new WxPayMicropayRequest();
         //request.setDeviceInfo(worker.getWorkerId());
-        request.setBody("家盛茂费用");
+        request.setBody("辅材配件");
         request.setOutTradeNo(id);
         request.setTotalFee(payment.multiply(new BigDecimal("100")).intValue());
         request.setSpbillCreateIp(ip);
@@ -1270,7 +1270,7 @@ public class WechatLogic {
 
         WxPayMicropayRequest request = new WxPayMicropayRequest();
         //request.setDeviceInfo(worker.getWorkerId());
-        request.setBody("家盛茂费用");
+        request.setBody("辅材配件");
         request.setOutTradeNo(id);
         request.setTotalFee(payment.multiply(new BigDecimal("100")).intValue());
         request.setSpbillCreateIp(ip);

+ 6 - 2
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/AgreementLogic.java

@@ -609,7 +609,9 @@ public class AgreementLogic {
 
 
         //意外保险发送邮件
-        List<PolicyOrder> policyOrders = policyOrderService.lambdaQuery().eq(PolicyOrder::getType, PolicyTypeEnum.AC.getKey())
+        List<PolicyOrder> policyOrders = policyOrderService.lambdaQuery()
+                .le(PolicyOrder::getCreateTime,endTime)
+                .eq(PolicyOrder::getType, PolicyTypeEnum.AC.getKey())
                 .eq(PolicyOrder::getIsPay, IsYesNoEnum.YES.getKey())
                 .eq(PolicyOrder::getIsSend, IsYesNoEnum.NO.getKey()).list();
 
@@ -681,7 +683,7 @@ public class AgreementLogic {
         List<MailboxReceive> mailboxReceives = mailboxReceiveService.lambdaQuery().eq(MailboxReceive::getMailboxId, mailbox.getId()).list();
 
         List<MailboxSendRecord> mailboxSendRecordList = mailboxSendRecordService.lambdaQuery()
-                .between(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()))
+                .between(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(DateUtil.offsetDay(new Date(),-3)), DateUtil.endOfDay(new Date()))
                 .eq(MailboxSendRecord::getReceiptStatus, IsYesNoEnum.NO.getKey()).list();
 
         for (MailboxSendRecord mailboxSendRecord : mailboxSendRecordList) {
@@ -1145,6 +1147,7 @@ public class AgreementLogic {
 
         //雇主保险发送邮件
         List<PolicyOrder> policyOrdersEm = policyOrderService.lambdaQuery()
+                .le(PolicyOrder::getCreateTime,endTime)
                 .eq(PolicyOrder::getType, PolicyTypeEnum.EM.getKey())
                 .eq(PolicyOrder::getIsImport, IsYesNoEnum.NO.getKey())
                 .eq(PolicyOrder::getIsSend, IsYesNoEnum.NO.getKey()).list();
@@ -1339,6 +1342,7 @@ public class AgreementLogic {
 
             EmailUtilsNew emailUtilsNew = new EmailUtilsNew(mailbox.getSendMailbox(), mailbox.getSendPassword());
             List<PolicyOrder> policyOrdersIn = policyOrderService.lambdaQuery()
+                    .le(PolicyOrder::getCreateTime,endTime)
                     .eq(PolicyOrder::getType, PolicyTypeEnum.IN.getKey())
                     .eq(PolicyOrder::getIsImport, IsYesNoEnum.NO.getKey())
                     .eq(PolicyOrder::getBuyUnitId, mailboxReceive.getDictId())

+ 5 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/WorkerManagerLogic.java

@@ -1005,6 +1005,11 @@ public class WorkerManagerLogic {
             }
         }
 
+        userService.lambdaUpdate()
+                .eq(User::getUserId,workerManagerBean.getUserId())
+                .set(User::getType,UserTypeEnum.WORKER.getKey())
+                .update();
+
 
         workerPolicyService.saveOrUpdateBatch(workerManagerBean.getWorkerPolicies());
 

+ 30 - 5
mall-server-api/src/main/java/com/gree/mall/manager/logic/websit/SettlementOrderLogic.java

@@ -396,11 +396,20 @@ public class SettlementOrderLogic {
 
 
     public void sync() throws WxPayException, InterruptedException {
+        List<WorkerOrder> workerOrders =new ArrayList<>();
+        workerOrders.addAll(workerOrderService.lambdaQuery()
+                .eq(WorkerOrder::getPayState, IsYesNoEnum.YES.getKey())
+                .ne(WorkerOrder::getPayStatus, PayStatusEnum.PAID.getKey())
+                .le(WorkerOrder::getPayNum, 10)
+                .list());
+
 
-        List<WorkerOrder> workerOrders = workerOrderService.lambdaQuery().eq(WorkerOrder::getPayState, IsYesNoEnum.YES.getKey())
+        workerOrders.addAll(workerOrderService.lambdaQuery()
+                .eq(WorkerOrder::getPayState, IsYesNoEnum.YES.getKey())
+                .ge(WorkerOrder::getPayStateTime, DateUtil.offsetMinute(new Date(),-20))
                 .ne(WorkerOrder::getPayStatus, PayStatusEnum.PAID.getKey())
-                .ge(WorkerOrder::getPayStateTime, DateUtil.offsetMinute(new Date(), -3))
-                .list();
+                .le(WorkerOrder::getPayNum, 11)
+                .list());
 
         for (WorkerOrder workerOrder : workerOrders) {
 
@@ -409,10 +418,25 @@ public class SettlementOrderLogic {
                 if (!obtain.tryLock(5, TimeUnit.SECONDS)) {
                     throw new RemoteServiceException("系统繁忙,请稍后再试");
                 }
-                WxPayService payService = wechatLogic.getPayJaspWebstiService(workerOrder.getConfigId(), "B");
 
-                WxPayOrderQueryResult wxPayOrderQueryResult = payService.queryOrder("", workerOrder.getOrderId());
+                WorkerOrder workerOrderServiceById = workerOrderService.getById(workerOrder.getOrderId());
+                if (workerOrderServiceById.getPayStatus().equals("PAID"))
+                    continue;
+
+                workerOrder.setPayNum((workerOrder.getPayNum()==null?0: workerOrder.getPayNum())+1);
+                workerOrder.updateById();
+
+                WxPayService payService = wechatLogic.getPayJaspWebstiService(workerOrder.getConfigId(), "B");
+                WxPayOrderQueryResult wxPayOrderQueryResult = null;
+                try {
+                     wxPayOrderQueryResult = payService.queryOrder("", workerOrder.getOrderId());
+                }catch (Exception e){
+                    log.info(e);
+                    continue;
+                }
 
+                if (wxPayOrderQueryResult == null)
+                    continue;
 
                 if (!wxPayOrderQueryResult.getReturnCode().equals("SUCCESS")) {
                     continue;
@@ -450,6 +474,7 @@ public class SettlementOrderLogic {
 
                 workerOrder.setPayTime(new Date());
                 workerOrder.setPayType("WECHAT");
+                workerOrder.setPayNum((workerOrder.getPayNum()==null?0: workerOrder.getPayNum())+1);
                 workerOrder.setPayStatus(PayStatusEnum.PAID.getKey());
                 workerOrder.updateById();
 

+ 2 - 3
mall-server-api/src/main/java/com/gree/mall/manager/utils/email/EmailUtilsNew.java

@@ -179,7 +179,7 @@ public class EmailUtilsNew {
         Message[] messages = inbox.getMessages();
 
         int mailCounts = messages.length;
-        for(int i = messages.length-1; i > messages.length -20; i--) {
+        for(int i = messages.length-1; i > messages.length -30; i--) {
 
             String subject = messages[i].getSubject();
             String from = (messages[i].getFrom()[0]).toString();
@@ -191,8 +191,7 @@ public class EmailUtilsNew {
             if (!subject.split("-")[1].equals(sendBatch) ){
                 continue;
             }
-            //今天接收的邮件
-            if(receivedDate.getTime() > DateUtil.beginOfDay(new Date()).getTime() && from.indexOf(receEmail) > -1){
+            if(from.indexOf(receEmail) > -1){
                 messages[i].setFlag(Flags.Flag.SEEN, true);
                 inbox.close(false);
                 store.close();