Pārlūkot izejas kodu

为未授权开通用户版本变更

cs 2 gadi atpakaļ
vecāks
revīzija
f4eff33d2c

+ 18 - 13
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -1194,6 +1194,8 @@ public class WeiXinCorpController {
                     //获取公司根部门人员,也就是没有分配部门的人员
                     getCorpMembsFromPlatform(companyId);
                     //对已经开通版本的新公司进行版本变更和开通时长变更
+                    System.err.println("###################################开始检查该新建公司是否已支付过订单");
+                    System.err.println("该公司corpId为:"+corpId);
                     WxOrder wxOrder = wxOrderMapper.selectOne(new QueryWrapper<WxOrder>().eq("paid_corpid",corpId).eq("order_status",1).orderByDesc("paid_time"));
                     if (wxOrder != null){
                         System.err.println("########################查询到该新建企业" + company.getCompanyName() + "已支付过订单,进行版本变更");
@@ -1240,6 +1242,8 @@ public class WeiXinCorpController {
                         company.setExpirationDate(endTime);
                         System.out.println("版本变更成功,到期时间更新成功。版本变更后的信息为:" + company.toString());
                         companyMapper.updateById(company);
+                    }else {
+                        System.out.println("未查询到该新建公司有支付订单");
                     }
                 } else {
                     //企业已经存在
@@ -2832,10 +2836,10 @@ public class WeiXinCorpController {
             String url = "https://qyapi.weixin.qq.com/cgi-bin/service/get_auth_info?suite_access_token="+suiteAccessToken;
             String paidCorpId = jsonObject.getString("PaidCorpId");
             WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("corpid", paidCorpId));
-            Company company = companyMapper.selectById(wxCorpInfo.getCompanyId());
-            if(company != null){
+            if(wxCorpInfo != null){
                 System.err.println("版本变更的公司信息为:");
                 System.err.println(wxCorpInfo.toString());
+                Company company = companyMapper.selectById(wxCorpInfo.getCompanyId());
                 JSONObject map = new JSONObject();
                 map.put("auth_corpid",wxCorpInfo.getCorpid());
                 map.put("permanent_code",wxCorpInfo.getPermanentCode());
@@ -2919,9 +2923,6 @@ public class WeiXinCorpController {
                     wxOrder.setOperatorId(orderDetail.getString("operator_id"));
                 }
                 wxOrder.setSuiteid(orderDetail.getString("suiteid"));
-                if (orderDetail.containsKey("appid")){
-                    wxOrder.setAppid(orderDetail.getString("appid"));
-                }
                 wxOrder.setEditionId(orderDetail.getString("edition_id"));
                 wxOrder.setEditionName(orderDetail.getString("edition_name"));
                 wxOrder.setPrice(orderDetail.getInteger("price"));
@@ -2953,10 +2954,11 @@ public class WeiXinCorpController {
                 }
                 //获取该公司对象
                 WxCorpInfo corpid = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("corpid", wxOrder.getPaidCorpid()));
-                if (corpid!=null){
-                    Company company = companyMapper.selectById(corpid.getCompanyId());
-                    if("pay_for_app_success".equals(infoType)){
-                        wxOrderMapper.updateById(wxOrder);
+                //订单支付成功
+                if("pay_for_app_success".equals(infoType)){
+                    wxOrderMapper.updateById(wxOrder);
+                    if (corpid!=null){
+                        Company company = companyMapper.selectById(corpid.getCompanyId());
                         Integer orderPeriod = wxOrder.getOrderPeriod();
                         //若到期时间早已过期,则取当前时间加上开通时长
                         if (LocalDateTime.now().isAfter(company.getExpirationDate())){
@@ -2964,13 +2966,16 @@ public class WeiXinCorpController {
                         }else {
                             company.setExpirationDate(company.getExpirationDate().plusDays(orderPeriod));
                         }
-                    }else if ("refund".equals(infoType)){
-                        wxOrderMapper.updateById(wxOrder);
+                    }
+                }else if ("refund".equals(infoType)){
+                    //订单退款
+                    wxOrderMapper.updateById(wxOrder);
+                    if (corpid!=null){
+                        Company company = companyMapper.selectById(corpid.getCompanyId());
                         //退款则将其到期时间设置为现在的时间减去一天
                         company.setExpirationDate(LocalDateTime.now().minusDays(1));
                     }
-                }
-                if ("open_order".equals(infoType)){
+                }else if ("open_order".equals(infoType)){
                     wxOrderMapper.insert(wxOrder);
                 }else if ("change_order".equals(infoType)){
                     wxOrder.setOldOrderid(jsonObject.getString("OldOrderId"));

+ 1 - 7
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/WxOrder.java

@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2022-11-09
+ * @since 2022-11-17
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -66,12 +66,6 @@ public class WxOrder extends Model<WxOrder> {
     @TableField("suiteid")
     private String suiteid;
 
-    /**
-     * 应用id。(仅旧套件有该字段)
-     */
-    @TableField("appid")
-    private String appid;
-
     /**
      * 购买版本ID
      */

+ 1 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/WxOrderMapper.xml

@@ -11,7 +11,6 @@
         <result column="paid_corpid" property="paidCorpid" />
         <result column="operator_id" property="operatorId" />
         <result column="suiteid" property="suiteid" />
-        <result column="appid" property="appid" />
         <result column="edition_id" property="editionId" />
         <result column="edition_name" property="editionName" />
         <result column="price" property="price" />
@@ -32,7 +31,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        orderid, old_orderid, order_status, order_type, paid_corpid, operator_id, suiteid, appid, edition_id, edition_name, price, user_count, order_period, order_time, paid_time, begin_time, end_time, order_from, operator_corpid, service_share_amount, platform_share_amount, dealer_share_amount, dealer_corpid, dealer_corp_name
+        orderid, old_orderid, order_status, order_type, paid_corpid, operator_id, suiteid, edition_id, edition_name, price, user_count, order_period, order_time, paid_time, begin_time, end_time, order_from, operator_corpid, service_share_amount, platform_share_amount, dealer_share_amount, dealer_corpid, dealer_corp_name
     </sql>
 
 </mapper>