Explorar o código

Merge remote-tracking branch 'origin/master'

zyp hai 2 días
pai
achega
a831627429
Modificáronse 27 ficheiros con 617 adicións e 305 borrados
  1. 11 0
      fs-company-app/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java
  2. 2 1
      fs-company/src/main/java/com/fs/company/controller/course/FsCourseWatchLogController.java
  3. 15 9
      fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java
  4. 1 0
      fs-service/src/main/java/com/fs/course/config/CourseConfig.java
  5. 13 0
      fs-service/src/main/java/com/fs/course/param/SendXfkParam.java
  6. 9 0
      fs-service/src/main/java/com/fs/course/service/IFsCourseLinkService.java
  7. 55 0
      fs-service/src/main/java/com/fs/course/service/impl/AsyncIsAddKfXfkService.java
  8. 162 0
      fs-service/src/main/java/com/fs/course/service/impl/FsCourseLinkServiceImpl.java
  9. 5 5
      fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseOrderServiceImpl.java
  10. 38 14
      fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java
  11. 5 5
      fs-service/src/main/java/com/fs/course/service/impl/FsUserVipOrderServiceImpl.java
  12. 23 17
      fs-service/src/main/java/com/fs/course/vo/FsCourseWatchLogListVO.java
  13. 3 0
      fs-service/src/main/java/com/fs/his/mapper/FsDoctorMapper.java
  14. 4 0
      fs-service/src/main/java/com/fs/his/service/IFsStoreOrderService.java
  15. 4 4
      fs-service/src/main/java/com/fs/his/service/impl/FsInquiryOrderServiceImpl.java
  16. 7 10
      fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java
  17. 78 208
      fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java
  18. 5 1
      fs-service/src/main/java/com/fs/qw/mapper/QwExternalContactMapper.java
  19. 2 2
      fs-service/src/main/java/com/fs/tzBankPay/RequestController.java
  20. 1 1
      fs-service/src/main/java/com/fs/tzBankPay/TzBankService/TzBankServiceImpl/TzBankServiceImpl.java
  21. 21 22
      fs-service/src/main/java/com/fs/tzBankPay/doman/PayType.java
  22. 2 0
      fs-service/src/main/resources/application-common.yml
  23. 1 1
      fs-service/src/main/resources/application-config-druid-sft.yml
  24. 1 1
      fs-service/src/main/resources/application-config-druid-yzt.yml
  25. 148 0
      fs-service/src/main/resources/application-druid-sxjz-test.yml
  26. 1 1
      fs-user-app/src/main/java/com/fs/app/controller/InquiryOrderController.java
  27. 0 3
      fs-user-app/src/main/java/com/fs/app/controller/StoreOrderController.java

+ 11 - 0
fs-company-app/src/main/java/com/fs/app/controller/FsUserCourseVideoController.java

@@ -249,5 +249,16 @@ public class FsUserCourseVideoController extends AppBaseController {
         return fsUserCourseVideoService.setWatchCourseTime(collect);
     }
 
+    /**
+     * 获取跳转微信小程序的链接地址
+     * @param linkStr
+     * @return
+     */
+    @Login
+    @GetMapping("/getGotoWxAppLink")
+    @ApiOperation("获取跳转微信小程序的链接地址")
+    public ResponseResult<String> getGotoWxAppLink(String linkStr) {
+        return ResponseResult.ok(courseLinkService.getGotoWxAppLink(linkStr));
+    }
 
 }

+ 2 - 1
fs-company/src/main/java/com/fs/company/controller/course/FsCourseWatchLogController.java

@@ -239,7 +239,8 @@ public class FsCourseWatchLogController extends BaseController
     public AjaxResult myExport(FsCourseWatchLogListParam param)
     {
         LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
-        param.setCompanyId( loginUser.getCompany().getCompanyId());
+//        param.setCompanyId( loginUser.getCompany().getCompanyId());
+        param.setCompanyUserId( loginUser.getUser().getUserId());
         List<FsCourseWatchLogListVO> list = fsCourseWatchLogService.selectFsCourseWatchLogListVO(param);
         ExcelUtil<FsCourseWatchLogListVO> util = new ExcelUtil<FsCourseWatchLogListVO>(FsCourseWatchLogListVO.class);
         return util.exportExcel(list, "短链课程看课记录数据");

+ 15 - 9
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -635,7 +635,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
 
                         insertSopUserLogs(sopUserLogsInfos, logVo, sendTime, ruleTimeVO, content, qwUserId,
                                 companyUserId, companyId, qwUserByRedis.getWelcomeText(),qwUserByRedis.getQwUserName(),
-                                groupChatMap, miniAppId);
+                                groupChatMap, miniAppId,config);
 
                     }
                 } catch (Exception e) {
@@ -678,7 +678,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
     private void insertSopUserLogs(List<SopUserLogsInfo> sopUserLogsInfos, SopUserLogsVo logVo, Date sendTime,
                                    QwSopRuleTimeVO ruleTimeVO, QwSopTempSetting.Content content,
                                    String qwUserId,String companyUserId,String companyId,String welcomeText,String qwUserName,
-                                   Map<String, QwGroupChat> groupChatMap,String miniAppId) {
+                                   Map<String, QwGroupChat> groupChatMap,String miniAppId,CourseConfig config) {
         String formattedSendTime = sendTime.toInstant()
                 .atZone(ZoneId.systemDefault())
                 .format(DATE_TIME_FORMATTER);
@@ -704,7 +704,8 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
             if (content.getIndex() == 0) {
                 QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, groupChat.getChatId(), groupChat.getName(), null, isOfficial, null);
                 handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId,
-                        type, qwUserId, companyUserId, companyId, groupChat.getChatId(), welcomeText, qwUserName, null, true, miniAppId, groupChat);
+                        type, qwUserId, companyUserId, companyId, groupChat.getChatId(), welcomeText, qwUserName,
+                        null, true, miniAppId, groupChat,config);
             } else {
                 if(groupChat.getChatUserList() != null && !groupChat.getChatUserList().isEmpty()){
                     groupChat.getChatUserList().forEach(user -> {
@@ -712,7 +713,8 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                         ruleTimeVO.setRemark("客户群催课");
                         QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, user.getUserId(), user.getName(), null, isOfficial, null);
                         handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId,
-                                type, qwUserId, companyUserId, companyId, user.getId().toString(), welcomeText, qwUserName, null, false, miniAppId, groupChat);
+                                type, qwUserId, companyUserId, companyId, user.getId().toString(), welcomeText, qwUserName,
+                                null, false, miniAppId, groupChat,config);
                     });
                 }
             }
@@ -725,7 +727,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                     Long fsUserId = contactId.getFsUserId();
                     QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, contactId.getExternalContactId(), externalUserName, fsUserId, isOfficial, contactId.getExternalId());
                     handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId,
-                            type, qwUserId, companyUserId, companyId, externalId, welcomeText, qwUserName, fsUserId, false, miniAppId, null);
+                            type, qwUserId, companyUserId, companyId, externalId, welcomeText, qwUserName, fsUserId, false, miniAppId, null,config);
                 } catch (Exception e) {
                     log.error("处理 externalContactId {} 时发生异常: {}", contactId, e.getMessage(), e);
                 }
@@ -833,14 +835,16 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                                       SopUserLogsVo logVo, Date sendTime, Long courseId,
                                       Long videoId, int type, String qwUserId,
                                       String companyUserId, String companyId, String externalId, String welcomeText,
-                                      String qwUserName, Long fsUserId, boolean isGroupChat, String miniAppId, QwGroupChat groupChat) {
+                                      String qwUserName, Long fsUserId, boolean isGroupChat, String miniAppId,
+                                      QwGroupChat groupChat,CourseConfig config) {
         switch (type) {
             case 1:
                 handleNormalMessage(sopLogs, content,companyUserId);
                 break;
             case 2:
                 handleCourseMessage(sopLogs, content, logVo, sendTime, courseId, videoId,
-                        qwUserId, companyUserId, companyId, externalId, welcomeText,qwUserName, fsUserId, isGroupChat, miniAppId, groupChat);
+                        qwUserId, companyUserId, companyId, externalId, welcomeText,qwUserName, fsUserId,
+                        isGroupChat, miniAppId, groupChat,config);
                 break;
             case 3:
                 handleOrderMessage(sopLogs, content);
@@ -873,7 +877,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                                      SopUserLogsVo logVo, Date sendTime, Long courseId,
                                      Long videoId, String qwUserId, String companyUserId,
                                      String companyId, String externalId, String welcomeText, String qwUserName,
-                                     Long fsUserId, boolean isGroupChat, String miniAppId, QwGroupChat groupChat) {
+                                     Long fsUserId, boolean isGroupChat, String miniAppId, QwGroupChat groupChat,CourseConfig config) {
         // 深拷贝 Content 对象,避免使用 JSON
         QwSopTempSetting.Content clonedContent = deepCopyContent(content);
         if (clonedContent == null) {
@@ -974,7 +978,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                     setting.setMiniprogramPage(sortLink.replaceAll("^[\\s\\u2005]+", ""));
 
                     try {
-                        setting.setMiniprogramPicUrl(StringUtil.strIsNullOrEmpty(setting.getMiniprogramPicUrl())?"https://cos.his.cdwjyyh.com/fs/20250331/ec2b4e73be8048afbd526124a655ad56.png":setting.getMiniprogramPicUrl());
+                        setting.setMiniprogramPicUrl(StringUtil.strIsNullOrEmpty(setting.getMiniprogramPicUrl())? config.getSidebarImageUrl():setting.getMiniprogramPicUrl());
                     } catch (Exception e) {
                         log.error("赋值-小程序封面地址失败-" + e);
                     }
@@ -1241,6 +1245,8 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
             log.error("CourseConfig is not loaded.");
             return "";
         }
+
+
 //        if (StringUtils.isEmpty(config.getMiniprogramPage())){
 //            log.error("miniprogramPage is not loaded.");
 //            return "";

+ 1 - 0
fs-service/src/main/java/com/fs/course/config/CourseConfig.java

@@ -36,6 +36,7 @@ public class CourseConfig implements Serializable {
 
     private String companyUserQRCode;// 默认客服二维码图片
     private String courseLogo;//课程Logo
+    private String sidebarImageUrl;//侧边栏公共图
     private Integer delayStart;
     private Integer delayEnd;
 

+ 13 - 0
fs-service/src/main/java/com/fs/course/param/SendXfkParam.java

@@ -0,0 +1,13 @@
+package com.fs.course.param;
+
+import lombok.Data;
+
+@Data
+public class SendXfkParam {
+    private String corpId;
+    private String userId;
+    private String name;
+    private Integer addWay;
+    private String state;
+    private String createTime;
+}

+ 9 - 0
fs-service/src/main/java/com/fs/course/service/IFsCourseLinkService.java

@@ -83,4 +83,13 @@ public interface IFsCourseLinkService
     R getRealLinkH5(String link);
 
     R createRoomLink(FsCourseLinkRoomParam param, QwUser qwUser);
+
+    String testGetAppLink();
+
+    /**
+     * 获取跳转微信小程序的链接地址
+     * @param linkStr
+     * @return
+     */
+    String getGotoWxAppLink(String linkStr);
 }

+ 55 - 0
fs-service/src/main/java/com/fs/course/service/impl/AsyncIsAddKfXfkService.java

@@ -0,0 +1,55 @@
+package com.fs.course.service.impl;
+
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSON;
+import com.fs.common.utils.PubFun;
+import com.fs.course.param.SendXfkParam;
+import com.fs.qw.domain.QwUser;
+import com.fs.qw.mapper.QwExternalContactMapper;
+import com.fs.qw.result.QwFilterSopCustomersResult;
+import com.fs.qw.vo.QwSopRuleTimeVO;
+import com.fs.sop.domain.*;
+import com.fs.sop.mapper.QwSopLogsMapper;
+import com.fs.sop.mapper.QwSopMapper;
+import com.fs.sop.mapper.QwSopTempMapper;
+import com.fs.sop.mapper.SopUserLogsInfoMapper;
+import com.fs.sop.params.DeleteQwSopParam;
+import com.fs.sop.params.QwSopTagsParam;
+import com.fs.sop.params.SopUserLogsArray;
+import com.fs.sop.params.SopUserLogsList;
+import com.fs.sop.service.IQwSopTempVoiceService;
+import com.fs.sop.service.ISopUserLogsService;
+import com.fs.voice.utils.StringUtil;
+import com.fs.wxUser.domain.CompanyWxUser;
+import com.fs.wxUser.mapper.CompanyWxUserMapper;
+import com.fs.wxUser.param.CompanyWxUserSopParam;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service
+@AllArgsConstructor
+public class AsyncIsAddKfXfkService {
+
+    private static final String domainXFKName = "https://workapi.dazhengnet.cn/api.php/Home/XfkWork/bindMember";
+
+    /**
+     * 异步推送
+     */
+    @Async("scheduledExecutorService")
+    public void executeSopByIds(SendXfkParam xfkParam) {
+
+        HttpRequest.post(domainXFKName)
+                .body(JSON.toJSONString(xfkParam),"application/json;charset=UTF-8")
+                .execute().body();
+
+
+    }
+
+}

+ 162 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsCourseLinkServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.course.service.impl;
 
+import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -10,6 +11,7 @@ import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.date.DateUtil;
 import com.fs.company.mapper.CompanyUserMapper;
 import com.fs.config.cloud.CloudHostProper;
+import com.fs.core.config.WxMaConfiguration;
 import com.fs.course.config.CourseConfig;
 import com.fs.course.domain.*;
 import com.fs.course.mapper.FsCourseDomainNameMapper;
@@ -20,6 +22,8 @@ import com.fs.course.param.FsCourseLinkCreateParam;
 import com.fs.course.param.FsCourseLinkRoomParam;
 import com.fs.course.service.IFsCourseLinkService;
 import com.fs.course.service.IFsUserCourseService;
+import com.fs.his.config.FsSysConfig;
+import com.fs.his.utils.ConfigUtil;
 import com.fs.qw.domain.QwGroupChat;
 import com.fs.qw.domain.QwGroupChatUser;
 import com.fs.qw.domain.QwUser;
@@ -32,13 +36,26 @@ import com.fs.system.service.ISysConfigService;
 import com.fs.voice.utils.StringUtil;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
+import me.chanjar.weixin.common.bean.oauth2.WxOAuth2AccessToken;
+import me.chanjar.weixin.common.error.WxErrorException;
+import me.chanjar.weixin.mp.api.WxMpService;
+import org.apache.http.HttpEntity;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
@@ -661,4 +678,149 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
     }
 
 
+    /**
+     *
+     * 生成跳转微信小程序的链接 base
+     *
+     * @param appid 微信appid
+     * @param path  跳转页面路径
+     * @param query 需要传参的String
+     * @return
+     */
+    public String getWxAppLink(String appid, String path, String query) {
+
+        StringBuilder wxAppLink = new StringBuilder("weixin://dl/business/?");
+        try {
+            wxAppLink.append("appid=").append(appid);
+            wxAppLink.append("&path=").append(path);
+            String encodedQuery =  URLEncoder.encode(URLEncoder.encode(query, StandardCharsets.UTF_8.toString()));
+            wxAppLink.append("&query=").append(encodedQuery);
+//            wxAppLink.append("&env_version=trial");
+//            if(StringUtils.isNotBlank(envVersion)){
+//                wxAppLink.append("&env_version=").append(envVersion);
+//            }
+
+        } catch (UnsupportedEncodingException e) {
+            log.error("生成跳转微信小程序的链接失败" + e.getMessage());
+            return "生成失败";
+        }
+        return wxAppLink.toString();
+
+    }
+
+    @Override
+    public String testGetAppLink() {
+        String pageLink = "/pages_course/video.html?course\\u003d{\\\"companyId\\\":100,\\\"companyUserId\\\":2020,\\\"corpId\\\":\\\"ww51717e2b71d5e2d3\\\",\\\"courseId\\\":63,\\\"link\\\":\\\"1943203055923101696\\\",\\\"linkType\\\":3,\\\"qwExternalId\\\":20812637,\\\"qwUserId\\\":\\\"9112\\\",\\\"videoId\\\":400}";
+        String miniprogramAppid = "wx76cb55db092a41ae";
+        if (StringUtils.isNotBlank(pageLink)) {
+
+            //解析pageLink
+            String[] split = pageLink.split("\\?");
+            if (split.length == 2 && split[0].length() > 0 && split[1].length() > 0) {
+                //处理页面路径
+                String pageUrl =split[0];
+                if(pageUrl.startsWith("/")){
+                    pageUrl = pageUrl.substring(1);
+                }
+                if(pageUrl.contains(".html")){
+                    pageUrl = pageUrl.replace(".html", "");
+                }
+                //处理参数
+                String query = split[1];
+                query = query.replace("\\u003d", "=");
+                String wxAppLink = getWxAppLink(miniprogramAppid, pageUrl, query);
+                return wxAppLink;
+            } else {
+                return "页面链接错误,获取失败";
+            }
+        }
+        return pageLink;
+
+    }
+
+    /**
+     * 获取跳转微信小程序的链接地址
+     * @param linkStr
+     * @return
+     */
+    @Override
+    public String getGotoWxAppLink(String linkStr) {
+//        CloseableHttpClient client = null;
+//        try {
+//            client = HttpClients.createDefault();
+//            String[] split = linkStr.split("\\?");
+//            if (split.length == 2 && split[0].length() > 0 && split[1].length() > 0) {
+//                //处理页面路径
+//                String pageUrl = split[0];
+//                if (pageUrl.startsWith("/")) {
+//                    pageUrl = pageUrl.substring(1);
+//                }
+//                //处理参数
+//                String query = split[1];
+//                String json = configService.selectConfigByKey("course.config");
+//                CourseConfig config = JSON.parseObject(json, CourseConfig.class);
+//                String miniprogramAppid = config.getMiniprogramAppid();
+//                if (StringUtils.isBlank(miniprogramAppid)) {
+//                    return "未配置点播小程序id";
+//                }
+//                if(StringUtils.isBlank(code)){
+//                    return "参数错误,请传入code";
+//                }
+//                //获取微信token
+//                final WxMaService wxService = WxMaConfiguration.getMaService("wx76cb55db092a41ae");
+//                String token = wxService.getAccessToken();
+//                HttpPost httpPost = new HttpPost("https://api.weixin.qq.com/wxa/generate_urllink?access_token=" + token);
+//                JSONObject bodyObj = new JSONObject();
+//                bodyObj.put("path", pageUrl);
+//                bodyObj.put("query", query);
+//                log.info("微信小程序请求参数打印:{}", bodyObj.toJSONString());
+//                StringEntity entity = new StringEntity(bodyObj.toJSONString(),"UTF-8");
+//                httpPost.setEntity(entity);
+//                httpPost.setHeader("Content-type", "application/json");
+//                HttpEntity response = client.execute(httpPost).getEntity();
+//                String responseString = EntityUtils.toString(response);
+//                log.info("微信小程序接口响应数据:{}", responseString);
+//                JSONObject jsonObject = JSONObject.parseObject(responseString);
+//                if(null != jsonObject && !jsonObject.isEmpty() && jsonObject.containsKey("url_link")){
+//                    return jsonObject.getString("url_link");
+//                }
+//            } else {
+//                return "页面链接错误,获取失败";
+//            }
+//
+//        } catch (WxErrorException e) {
+//            throw new RuntimeException(e);
+//        } catch (ClientProtocolException e) {
+//            throw new RuntimeException(e);
+//        } catch (IOException e) {
+//            throw new RuntimeException(e);
+//        }
+        String json = configService.selectConfigByKey("course.config");
+        CourseConfig config = JSON.parseObject(json, CourseConfig.class);
+        String miniprogramAppid = config.getMiniprogramAppid();
+        if (StringUtils.isBlank(miniprogramAppid)) {
+                    return "未配置点播小程序id";
+                }
+//        String envVersion = "trial";
+//        String envVersion = version;
+        if (StringUtils.isNotBlank(linkStr)) {
+            //解析pageLink
+            String[] split = linkStr.split("\\?");
+            if (split.length == 2 && split[0].length() > 0 && split[1].length() > 0) {
+                //处理页面路径
+                String pageUrl =split[0];
+                if(pageUrl.startsWith("/")){
+                    pageUrl = pageUrl.substring(1);
+                }
+                //处理参数
+                String query = split[1];
+//                query = query.replace("\\u003d", "=");
+                String wxAppLink = getWxAppLink(miniprogramAppid, pageUrl, query);
+                return wxAppLink;
+            } else {
+                return "页面链接错误,获取失败";
+            }
+        }
+        return "";
+    }
 }

+ 5 - 5
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseOrderServiceImpl.java

@@ -542,7 +542,7 @@ public class FsUserCourseOrderServiceImpl implements IFsUserCourseOrderService
 //                        o.setOpenId(user.getMpOpenId());
                         o.setOrderType(4);
                         o.setOrderId(order.getOrderId().toString());
-                        o.setPayType(Arrays.asList(PayType.支付宝条码支付.getCode()));
+                        o.setPayType(Arrays.asList(PayType.ALIPAY_BARCODE_PAYMENT.getCode()));
                         TzBankResult<PayCreateOrderResult> result = tzBankService.createOrder(o);
                         FsStorePayment mt=new FsStorePayment();
                         mt.setPaymentId(storePayment.getPaymentId());
@@ -591,11 +591,11 @@ public class FsUserCourseOrderServiceImpl implements IFsUserCourseOrderService
                         paymentMap.setStatus(1);
                         paymentMap.setPayTime(new Date());
                         paymentMap.setTradeNo(tradeNo);
-                        if(payType.equals(PayType.微信小程序支付.getCode())){
-                            paymentMap.setPayTypeCode(PayType.微信小程序支付.name());
+                        if(payType.equals(PayType.WECHAT_MINI_PROGRAM_PAYMENT.getCode())){
+                            paymentMap.setPayTypeCode(PayType.WECHAT_MINI_PROGRAM_PAYMENT.name());
                         }
-                        else if(payType.equals(PayType.支付宝条码支付.getCode())){
-                            paymentMap.setPayTypeCode(PayType.支付宝条码支付.name());
+                        else if(payType.equals(PayType.ALIPAY_BARCODE_PAYMENT.getCode())){
+                            paymentMap.setPayTypeCode(PayType.ALIPAY_BARCODE_PAYMENT.name());
                         }
                         fsStorePaymentMapper.updateFsStorePayment(paymentMap);
                         order=fsUserCourseOrderMapper.selectFsUserCourseOrderByOrderId(Long.parseLong(storePayment.getBusinessId()));

+ 38 - 14
fs-service/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.course.service.impl;
 
+import cn.hutool.http.HttpRequest;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -103,6 +104,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
     private static final String miniappRealLink = "/pages_course/video.html?course=";
     private static final String REAL_LINK_PREFIX = "/courseH5/pages/course/learning?course=";
     private static final String SHORT_LINK_PREFIX = "/courseH5/pages/course/learning?s=";
+
     @Autowired
     private CompanyMoneyLogsMapper moneyLogsMapper;
     @Autowired
@@ -128,6 +130,9 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
     @Autowired
     private FsCourseLinkMapper fsCourseLinkMapper;
 
+    @Autowired
+    private AsyncIsAddKfXfkService xfkService;
+
 
     @Autowired
     private QwExternalContactMapper qwExternalContactMapper;
@@ -408,17 +413,17 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
 
         String msg = "<div style=\"color: red;margin-bottom: 15px;font-weight: bold;\">本课程为会员独享<br>请长按二维码</div>\n" +
                 "\t\t\t\t\t<div style=\"color: #999;font-size: 14px;font-weight: bold;\">添加伴学助手免费领取会员权限</div>";
-        try {
-            new Thread(() -> {
-                try {
-                    rocketMQTemplate.syncSend("repeat-upload", JSON.toJSONString(RepeatUploadVo.builder().type(1).fsUserId(param.getUserId()).build()));
-                }catch (Exception e){
-                    logger.error("看课重粉提交mq失败", e);
-                }
-            }).start();
-        }catch (Exception e){
-            logger.error("看课重粉提交mq失败", e);
-        }
+//        try {
+//            new Thread(() -> {
+//                try {
+//                    rocketMQTemplate.syncSend("repeat-upload", JSON.toJSONString(RepeatUploadVo.builder().type(1).fsUserId(param.getUserId()).build()));
+//                }catch (Exception e){
+//                    logger.error("看课重粉提交mq失败", e);
+//                }
+//            }).start();
+//        }catch (Exception e){
+//            logger.error("看课重粉提交mq失败", e);
+//        }
 
         Integer isRoom = param.getIsRoom();
 
@@ -659,6 +664,17 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
             user.setQwExtId(param.getQwExternalId());
             fsUserMapper.updateFsUser(user);
 
+
+            //小访客特有
+//            SendXfkParam xfkParam=new SendXfkParam();
+//            xfkParam.setCorpId(externalContact.getCorpId());
+//            xfkParam.setUserId(externalContact.getUserId());
+//            xfkParam.setName(externalContact.getName());
+//            xfkParam.setAddWay(externalContact.getAddWay());
+//            xfkParam.setState(externalContact.getState());
+//            xfkParam.setCreateTime(externalContact.getCreateTime().toString());
+//            xfkService.executeSopByIds(xfkParam);
+
             iSopUserLogsInfoService.updateSopUserInfoByExternalId(qwExternalId,param.getUserId());
 
             //绑定上之后 更新观看记录
@@ -1720,6 +1736,10 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
     @Override
     public R createMiniLink(FsCourseLinkMiniParam param) {
 
+
+        String json = configService.selectConfigByKey("course.config");
+        CourseConfig config = JSON.parseObject(json, CourseConfig.class);
+
         QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(), param.getQwUserId().trim());
 
         if (qwUser==null||qwUser.getCompanyId()==null||qwUser.getCompanyUserId()==null){
@@ -1741,7 +1761,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         JSONObject news = new JSONObject(true);
         news.put("miniprogramAppid", qwCompany.getMiniAppId());
         news.put("miniprogramTitle", param.getTitle());
-        news.put("miniprogramPicUrl", "https://cos.his.cdwjyyh.com/fs/20250523/9c8af5735d784847818cada7fa776a7b.jpg");
+        news.put("miniprogramPicUrl", config.getSidebarImageUrl());
         news.put("miniprogramPage", linkByMiniApp);
 
         return R.ok().put("data",news);
@@ -1785,7 +1805,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         JSONObject news = new JSONObject(true); // true 表示保持字段顺序
         news.put("linkTitle", param.getTitle());
         news.put("linkDescribe", param.getTitle());
-        news.put("linkImageUrl", "https://cos.his.cdwjyyh.com/fs/20250523/9c8af5735d784847818cada7fa776a7b.jpg");
+        news.put("linkImageUrl", config.getSidebarImageUrl());
         news.put("linkUrl", linkByCartLink);
 
         return R.ok().put("data",news);
@@ -1995,6 +2015,10 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
 
     @Override
     public R createRoomMiniLink(FsCourseLinkMiniParam param) {
+
+        String json = configService.selectConfigByKey("course.config");
+        CourseConfig config = JSON.parseObject(json, CourseConfig.class);
+
         QwUser qwUser = qwExternalContactService.getQwUserByRedis(param.getCorpId().trim(), param.getQwUserId().trim());
 
         if (qwUser==null||qwUser.getCompanyId()==null||qwUser.getCompanyUserId()==null){
@@ -2013,7 +2037,7 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         JSONObject news = new JSONObject(true);
         news.put("miniprogramAppid", qwCompany.getMiniAppId());
         news.put("miniprogramTitle", param.getTitle());
-        news.put("miniprogramPicUrl", "https://cos.his.cdwjyyh.com/fs/20250523/9c8af5735d784847818cada7fa776a7b.jpg");
+        news.put("miniprogramPicUrl", config.getSidebarImageUrl());
         news.put("miniprogramPage", linkByMiniApp);
 
         return R.ok().put("data",news);

+ 5 - 5
fs-service/src/main/java/com/fs/course/service/impl/FsUserVipOrderServiceImpl.java

@@ -394,7 +394,7 @@ public class FsUserVipOrderServiceImpl implements IFsUserVipOrderService
 //                        o.setOpenId(user.getMpOpenId());
                         o.setOrderType(5);
                         o.setOrderId(order.getOrderId().toString());
-                        o.setPayType(Arrays.asList(PayType.支付宝条码支付.getCode()));
+                        o.setPayType(Arrays.asList(PayType.ALIPAY_BARCODE_PAYMENT.getCode()));
                         TzBankResult<PayCreateOrderResult> result = tzBankService.createOrder(o);
                         FsStorePayment mt=new FsStorePayment();
                         mt.setPaymentId(storePayment.getPaymentId());
@@ -443,11 +443,11 @@ public class FsUserVipOrderServiceImpl implements IFsUserVipOrderService
                         paymentMap.setStatus(1);
                         paymentMap.setPayTime(new Date());
                         paymentMap.setTradeNo(tradeNo);
-                        if(payType.equals(PayType.微信小程序支付.getCode())){
-                            paymentMap.setPayTypeCode(PayType.微信小程序支付.name());
+                        if(payType.equals(PayType.WECHAT_MINI_PROGRAM_PAYMENT.getCode())){
+                            paymentMap.setPayTypeCode(PayType.WECHAT_MINI_PROGRAM_PAYMENT.name());
                         }
-                        else if(payType.equals(PayType.支付宝条码支付.getCode())){
-                            paymentMap.setPayTypeCode(PayType.支付宝条码支付.name());
+                        else if(payType.equals(PayType.ALIPAY_BARCODE_PAYMENT.getCode())){
+                            paymentMap.setPayTypeCode(PayType.ALIPAY_BARCODE_PAYMENT.name());
                         }
                         fsStorePaymentMapper.updateFsStorePayment(paymentMap);
                         order=fsUserVipOrderMapper.selectFsUserVipOrderByOrderId(Long.parseLong(storePayment.getBusinessId()));

+ 23 - 17
fs-service/src/main/java/com/fs/course/vo/FsCourseWatchLogListVO.java

@@ -21,13 +21,23 @@ public class FsCourseWatchLogListVO extends BaseEntity
     @Excel(name = "记录编号")
     private Long logId;
 
-    @Excel(name = "会员id")
+    /** 会员id */
+//    @Excel(name = "会员id")
     private Long userId;
 
-    @Excel(name = "小程序昵称")
+    /** 小程序昵称 */
+//    @Excel(name = "小程序昵称")
     private String fsNickName;
 
-    @Excel(name = "小程序头像")
+    @Excel(name = "客户昵称")
+    private String externalUserName;
+
+    /** 外部联系人头像 */
+    @Excel(name = "客户头像")
+    private String externalUserAvatar;
+
+    /** 客户头像 */
+//    @Excel(name = "客户头像")
     private String fsAvatar;
 
     @Excel(name = "课程名称")
@@ -39,7 +49,7 @@ public class FsCourseWatchLogListVO extends BaseEntity
     @Excel(name = "记录类型" ,dictType = "sys_course_watch_log_type")
     private Integer logType;
 
-    @Excel(name = "企微外部联系人id")
+//    @Excel(name = "企微外部联系人id")
     private String qwExternalContactId;
 
 
@@ -47,26 +57,27 @@ public class FsCourseWatchLogListVO extends BaseEntity
     private String duration;
 
 
-    @Excel(name = "分享人企微userId")
+//    @Excel(name = "分享人企微userId")
     private String qwUserId;
     /**
      * 企业微信员工名称
      */
-    @Excel(name = "企信员工名称")
+    @Excel(name = "所属企微")
     private String qwUserName;
 
-
     @Excel(name = "所属销售")
     private String companyUserName;
 
-    @Excel(name = "所属团队")
+    /** 所属团队 */
+//    @Excel(name = "所属团队")
     private String companyName;
 
-    @Excel(name = "所属团队编号")
+    /** 所属团队编号 */
+//    @Excel(name = "所属团队编号")
     private String companyId;
 
-
-    @Excel(name = "发送方式")
+    /** 发送方式 */
+//    @Excel(name = "发送方式")
     private Integer sendType; //归属发送方式:1 个微  2 企微
 
 
@@ -79,7 +90,7 @@ public class FsCourseWatchLogListVO extends BaseEntity
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 
-    @Excel(name = "最后心跳时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
+//    @Excel(name = "最后心跳时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date lastHeartbeatTime;
 
@@ -91,9 +102,4 @@ public class FsCourseWatchLogListVO extends BaseEntity
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date campPeriodTime;
 
-    @Excel(name = "外部联系人名称")
-    private String externalUserName; //外部联系人名称
-
-    private String externalUserAvatar;//外部联系人头像
-
 }

+ 3 - 0
fs-service/src/main/java/com/fs/his/mapper/FsDoctorMapper.java

@@ -175,10 +175,13 @@ public interface FsDoctorMapper
     Long selectFsDoctorType2Ids(Integer type);
     @Select("select * from fs_doctor where doctor_id=#{doctorId} for update")
     FsDoctor selectFsDoctorByDoctorIdForUpdate(Long doctorId);
+
     @Select("select * from fs_doctor where doctor_type=2 and  `status`=1 and is_audit=1 and sign_url is not null and audit_type LIKE CONCAT('%', #{type}, '%')  ORDER BY RAND() LIMIT 1")
     FsDoctor selectPackageFsDoctorType2Ids(Integer type);
+
     @Select("select doctor_id from fs_doctor where doctor_type=1 and  `status`=1 and is_audit=1 and is_agreement_prescribe_doctor=1  and sign_url is not null")
     List<Long>  selectFsDoctorDoctorByPackage();
+
     @Select("select doctor_id from fs_doctor where doctor_type=1 and  `status`=1 and is_audit=1 and dept_id=39 and is_follow=1  ORDER BY RAND() LIMIT 1")
     Long selectFollowDoctorDoctorByPackage();
     @Select("select * from fs_doctor where doctor_type=1 and  `status`=1 and is_audit=1 and dept_id=39 ")

+ 4 - 0
fs-service/src/main/java/com/fs/his/service/IFsStoreOrderService.java

@@ -16,6 +16,7 @@ import com.fs.his.dto.ExpressResultDTO;
 import com.fs.his.dto.StoreOrderExpressExportDTO;
 import com.fs.his.param.*;
 import com.fs.his.vo.*;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 订单Service接口
@@ -150,6 +151,9 @@ public interface IFsStoreOrderService
 
     void addFsFollowByStoreOrder(FsStoreOrder order);
 
+    @Transactional
+    R finishStoreOrder(Long orderId);
+
     List<FsStoreOrderExportVO> selectFsStoreOrderListVOByExport(FsStoreOrderParam param);
 
     List<FsInquiryOrderMsg> selectFsInquiryOrderMsgByStoreOrderId(FsFollowMsgParam fsFollowMsgParam);

+ 4 - 4
fs-service/src/main/java/com/fs/his/service/impl/FsInquiryOrderServiceImpl.java

@@ -733,11 +733,11 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
                         paymentMap.setStatus(1);
                         paymentMap.setPayTime(new Date());
                         paymentMap.setTradeNo(tradeNo);
-                        if(payType.equals(PayType.微信小程序支付.getCode())){
-                            paymentMap.setPayTypeCode(PayType.微信小程序支付.name());
+                        if(payType.equals(PayType.WECHAT_MINI_PROGRAM_PAYMENT.getCode())){
+                            paymentMap.setPayTypeCode(PayType.WECHAT_MINI_PROGRAM_PAYMENT.name());
                         }
-                        else if(payType.equals(PayType.支付宝条码支付.getCode())){
-                            paymentMap.setPayTypeCode(PayType.支付宝条码支付.name());
+                        else if(payType.equals(PayType.ALIPAY_BARCODE_PAYMENT.getCode())){
+                            paymentMap.setPayTypeCode(PayType.ALIPAY_BARCODE_PAYMENT.name());
                         }
                         if (storePayment.getPayMode().equals("yb")){
                             OrderQueryDTO orderQueryDTO = new OrderQueryDTO();

+ 7 - 10
fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java

@@ -655,11 +655,11 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
                     paymentMap.setStatus(1);
                     paymentMap.setPayTime(new Date());
                     paymentMap.setTradeNo(tradeNo);
-                    if(payType.equals(PayType.微信小程序支付.getCode())){
-                        paymentMap.setPayTypeCode(PayType.微信小程序支付.name());
+                    if(payType.equals(PayType.WECHAT_MINI_PROGRAM_PAYMENT.getCode())){
+                        paymentMap.setPayTypeCode(PayType.WECHAT_MINI_PROGRAM_PAYMENT.name());
                     }
-                    else if(payType.equals(PayType.支付宝条码支付.getCode())){
-                        paymentMap.setPayTypeCode(PayType.支付宝条码支付.name());
+                    else if(payType.equals(PayType.ALIPAY_BARCODE_PAYMENT.getCode())){
+                        paymentMap.setPayTypeCode(PayType.ALIPAY_BARCODE_PAYMENT.name());
                     }
                     if (storePayment.getPayMode().equals("yb")){
                         OrderQueryDTO orderQueryDTO = new OrderQueryDTO();
@@ -881,9 +881,6 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
     @Override
     @Transactional
     public R payment(FsPackageOrderDoPayParam param) {
-        //回滚事务
-        //     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-        //     return return R.error("");
         //更新订单状态
         FsPackageOrder fsPackageOrder=fsPackageOrderMapper.selectFsPackageOrderByOrderId(param.getOrderId());
         if(!fsPackageOrder.getStatus().equals(FsPackageOrderStatusEnum.STATUS_1.getValue())){
@@ -1127,7 +1124,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
 //                        o.setOpenId(user.getMpOpenId());
                         o.setOrderType(3);
                         o.setOrderId(fsPackageOrder.getOrderId().toString());
-                        o.setPayType(Arrays.asList(PayType.支付宝条码支付.getCode()));
+                        o.setPayType(Arrays.asList(PayType.ALIPAY_BARCODE_PAYMENT.getCode()));
                         TzBankResult<PayCreateOrderResult> result = tzBankService.createOrder(o);
                         FsStorePayment mt=new FsStorePayment();
                         mt.setPaymentId(storePayment.getPaymentId());
@@ -1212,7 +1209,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
                         o.setOpenId(user.getMpOpenId());
                         o.setOrderType(3);
                         o.setOrderId(fsPackageOrder.getOrderId().toString());
-                        o.setPayType(Arrays.asList(PayType.微信公众号.getCode()));
+                        o.setPayType(Arrays.asList(PayType.WECHAT_PUBLIC_ACCOUNT.getCode()));
                         TzBankResult<PayCreateOrderResult> result = tzBankService.createOrder(o);
                         FsStorePayment mt=new FsStorePayment();
                         mt.setPaymentId(storePayment.getPaymentId());
@@ -1300,7 +1297,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
                         o.setOpenId(user.getMpOpenId());
                         o.setOrderType(3);
                         o.setOrderId(fsPackageOrder.getOrderId().toString());
-                        o.setPayType(Arrays.asList(PayType.支付宝条码支付.getCode()));
+                        o.setPayType(Arrays.asList(PayType.ALIPAY_BARCODE_PAYMENT.getCode()));
                         TzBankResult<PayCreateOrderResult> result = tzBankService.createOrder(o);
                         FsStorePayment mt=new FsStorePayment();
                         mt.setPaymentId(storePayment.getPaymentId());

+ 78 - 208
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.his.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.net.URLDecoder;
 import cn.hutool.core.util.StrUtil;
@@ -62,7 +63,6 @@ import com.fs.im.service.IImService;
 import com.fs.qw.domain.QwExternalContact;
 import com.fs.qw.domain.QwUser;
 import com.fs.qw.mapper.QwExternalContactMapper;
-import com.fs.sop.mapper.QwSopLogsMapper;
 import com.fs.qw.service.impl.QwUserServiceImpl;
 import com.fs.system.domain.SysConfig;
 import com.fs.tzBankPay.doman.*;
@@ -83,16 +83,18 @@ import com.google.gson.Gson;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.json.JSONObject;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.springframework.aop.framework.AopContext;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationEventPublisher;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.util.CollectionUtils;
 
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
@@ -114,9 +116,9 @@ import static com.fs.his.utils.PhoneUtil.decryptPhone;
 @Lazy
 @Service
 @Slf4j
+@EnableAspectJAutoProxy(exposeProxy = true,proxyTargetClass = true)
 public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 {
-    Logger logger= LoggerFactory.getLogger(getClass());
     @Autowired
     private WxPayService wxPayService;
     @Autowired
@@ -157,15 +159,15 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     @Autowired
     private IFsExpressService expressService;
     @Autowired
-    HisApiService hisApiService;
+    private HisApiService hisApiService;
     @Autowired
-    FsInquiryOrderMapper fsInquiryOrderMapper;
+    private FsInquiryOrderMapper fsInquiryOrderMapper;
     @Autowired
     private ICompanyService companyService;
     @Autowired
     private CompanyMapper companyMapper;
     @Autowired
-    ICompanyUserService companyUserService;
+    private ICompanyUserService companyUserService;
     @Autowired
     private IFsUserService userService;
     @Autowired
@@ -227,28 +229,28 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     @Autowired
     private IFsInquiryOrderService inquiryOrderService;
     @Autowired
-    FsFollowReportMapper fsFollowReportMapper;
+    private FsFollowReportMapper fsFollowReportMapper;
     @Autowired
-    FsStoreSubOrderServiceImpl storeSubOrderService;
+    private FsStoreSubOrderServiceImpl storeSubOrderService;
     @Autowired
-    ApplicationEventPublisher publisher;
+    private ApplicationEventPublisher publisher;
 
     @Autowired
-    IFsUserWatchService fsUserWatchService;
+    private IFsUserWatchService fsUserWatchService;
     @Autowired
-    QwExternalContactMapper qwExternalContactMapper;
-    @Autowired
-    QwSopLogsMapper qwSopLogsMapper;
-
-    @Autowired
-    private IFsExportTaskService exportTaskService;
+    private QwExternalContactMapper qwExternalContactMapper;
     @Autowired
     private QwUserServiceImpl qwUserServiceImpl;
     @Autowired
     private IFsStoreProductGroupService storeProductGroupService;
     @Autowired
-    CloudHostProper cloudHostProper;
+    private CloudHostProper cloudHostProper;
+    @Autowired
+    private IFsPrescribeService fsPrescribeService;
+
 
+    @Value("${express.omsCode}")
+    private String expressOmsCode;
     /**
      * 查询订单
      *
@@ -391,9 +393,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         o1.setFinishTime(new Date());
         o1.setOrderId(orderId);
         o1.setStatus(FsStoreOrderStatusEnum.STATUS_4.getValue());
-        logger.info("确认收货:"+orderId);
+        log.info("确认收货:"+orderId);
         if (order.getCompanyId()!=null&&order.getTuiMoneyStatus()==0&&order.getPayType()==1){
-            logger.info("分佣:"+orderId);
+            log.info("分佣:"+orderId);
             companyService.addCompanyMoney(order);
             o1.setTuiMoneyTime(new Date());
         }
@@ -441,19 +443,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 userCouponService.updateFsUserCoupon(userCoupon);
             }
             //退回库存
-//            this.refundStock(order);
             fsStoreOrderMapper.cancelOrder(orderId);
             //添加记录
             fsStoreOrderLogsService.create(order.getOrderId(), FsStoreOrderLogEnum.CANCEL_ORDER.getValue(),
                     FsStoreOrderLogEnum.CANCEL_ORDER.getDesc());
 
-//            TemplateBean templateBean = TemplateBean.builder()
-//                    .orderId(order.getOrderId().toString())
-//                    .remark("您的订单已取消")
-//                    .uid(order.getUserId())
-//                    .templateType(TemplateListenEnum.TYPE_1.getValue())
-//                    .build();
-//            publisher.publishEvent(new TemplateEvent(this, templateBean));
             return R.ok("操作成功");
         }
         else{
@@ -477,7 +471,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                         //判断完成时间是否超过指定时间
                         Calendar calendar = new GregorianCalendar();
                         calendar.setTime(vo.getFinishTime());
-                        calendar.add(calendar.DATE,storeConfig.getStoreAfterSalesDay()); //把日期往后增加一天,整数  往后推,负数往前移动
+                        //把日期往后增加一天,整数  往后推,负数往前移动
+                        calendar.add(calendar.DATE,storeConfig.getStoreAfterSalesDay());
                         if(calendar.getTime().getTime()<new Date().getTime()){
                             vo.setIsAfterSales(0);
                         }
@@ -601,24 +596,17 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         FsPackage fsPackage=fsPackageMapper.selectFsPackageByPackageId(packageOrder.getPackageId());
         JSONArray objects =JSONUtil.parseArray(fsPackage.getProductJson());
         List<FsPackagePruductDTO> products=JSONUtil.toList(objects,FsPackagePruductDTO.class);
-//        boolean isDrug=false;
-//        for (FsPackagePruductDTO product : products) {
-//            if (product.getIsDrug()==1){
-//                isDrug=true;
-//            }
-//        }
-//        Long prescribeId=null;
 
         Map<String,Object> packageJson = (Map)JSON.parse(packageOrder.getPackageJson());
         Integer packageSubType = (Integer)packageJson.get("packageSubType");
         if (packageSubType==3){
-            R orderByPackageOrderStatus4 = inquiryOrderService.createOrderByPackageOrderStatus4(packageOrder);
+            inquiryOrderService.createOrderByPackageOrderStatus4(packageOrder);
         }
         Long  prescribeId= fsPrescribeService.insertFsPrescribeByPackageOrder(packageOrder);
 
         FsStoreOrder order=new FsStoreOrder();
         List<FsStoreOrderItem> items=new ArrayList<>();
-        logger.info("套餐包生成药品订单:"+packageOrder.getOrderSn());
+        log.info("套餐包生成药品订单:{}",packageOrder.getOrderSn());
         order.setOrderCode(packageOrder.getOrderSn());
         order.setUserId(packageOrder.getUserId());
         order.setStoreId(fsPackage.getStoreId());
@@ -778,10 +766,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             }
         }
 
-
-
-
-
         order.setOrderType(fsPackage.getProductType());
         order.setTotalNum(totalNum);
         order.setTotalPrice(totalPrice);
@@ -822,7 +806,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 fsFollow.setCompanyUserId(packageOrder.getCompanyUserId());
                 fsFollow.setDeptId(packageOrder.getDeptId());
                 fsFollow.setNum(1);
-//            fsFollow.setPackageOrderId(order.getOrderId());
                 fsFollow.setInquiryOrderId(packageOrder.getInquiryOrderId());
                 fsFollow.setPlanTime(DateUtils.getNowDate());
                 fsFollow.setPushStatus(1);
@@ -883,21 +866,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             try {
                 storeSubOrderService.insertFsStoreSubOrderByStoreOrder(order.getOrderId());
             }catch (Exception e){
-                logger.info("拆分订单错误:"+order.getOrderId());
-            }
-//            try {
-//                if (fsPackage.getProductType()==2){
-//                    fsStoreOrderService.tuiOrder(order.getOrderId());
-//                }else if (fsPackage.getProductType()==1){
-//                    fsStoreOrderService.createOmsOrder(order.getOrderId());
-//                }else {
-//
-//                }
-//
-//            } catch (ParseException e) {
-//                throw new RuntimeException(e);
-//            }
-//            tuiOrderUtil.TuiOrderByPackage(order);
+                log.info("拆分订单错误:{}",order.getOrderId());
+            }
         }
 
         return R.ok();
@@ -938,10 +908,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     throw new CustomException("订单编号为空");
                 }
 
-//                if (vo.getDeliveryCode() == null || vo.getDeliveryCode().isEmpty()) {
-//                    throw new CustomException("快递公司编号为空");
-//                }
-
                 if (vo.getDeliveryName() == null || vo.getDeliveryName().isEmpty()) {
                     throw new CustomException("快递名称为空");
                 }
@@ -1023,10 +989,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         }
     }
 
-
-
-
-
     @Override
     public int tuiOrder(Long orderId) {
 
@@ -1054,7 +1016,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         FsStoreOrderItem item = new FsStoreOrderItem();
         item.setOrderId(o.getOrderId());
         List<FsStoreOrderItem> fsStoreOrderItems = fsStoreOrderItemMapper.selectFsStoreOrderItemList(item);
-        logger.info(""+fsStoreOrderItems);
+        log.info(""+fsStoreOrderItems);
         ArrayList<RecipeDetailParam> list = new ArrayList<>();
         Integer i=1;
         BigDecimal dprice = new BigDecimal(0);
@@ -1065,7 +1027,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             FsProdItemDTO fsProdItemDTO = JSON.parseObject(json, FsProdItemDTO.class);
             String barCode = fsProdItemDTO.getBarCode();
 
-            logger.info(""+fsProdItemDTO);
+            log.info(""+fsProdItemDTO);
             if(fsStoreOrderItem.getIsGift()!=null&&fsStoreOrderItem.getIsGift()==1){
                 continue;
             }
@@ -1131,11 +1093,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         op.setAttention(remark);//医嘱
         op.setSymptoms(fp.getDiagnose());
         op.setRecipe_time(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(fp.getCreateTime()));
-//        op.setOperation_time("Jane");
-//        op.setOperation_time("2023-08-22 11:00:00");
-//        op.setPricing_id("pricing123");
-//        op.setPricing_cashier("Alice");
-//        op.setPricing_time("2023-08-22 12:00:00");
         op.setPrice(dprice.toString());
         op.setPrice_total(dprice.multiply(new BigDecimal(usage.getCounts())).toString());
         op.setRecipe_sale_price(o.getPayMoney().toString()); //实际收款
@@ -1149,10 +1106,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             op.setPatient_id(fp.getPatientId().toString());
         }
 
-        //op.setVisit_id("visit789");
-     //   op.setUsage_desc("备用字段描述");
         op.setAddress(o.getUserAddress());
-       // op.setRefund_name("");
         op.setRecipe_detail_list(list);
         ApiResponse order = hisApiService.createOrder(op);
         if (order.getState().equals("error")){
@@ -1165,8 +1119,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
         return 1;
     }
-    @Autowired
-    IFsPrescribeService fsPrescribeService;
+
     @Override
     public FsPrescribeVO selectFsPrescribeByPrescribeIdVO(Long prescribeId) {
         return  prescribeMapper.selectFsPrescribeByPrescribeIdVO(prescribeId);
@@ -1262,16 +1215,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     storeOrder.setUserName(address.getRealName().trim());
                     storeOrder.setUserPhone(address.getPhone().trim());
                     storeOrder.setUserAddress(address.getProvince()+" "+address.getCity()+" "+address.getDistrict()+" "+address.getDetail());
-//                    String noAdd="南通市,镇江市,淮安市,江阴市,金华市,驻马店市";
-//                    String[] split = noAdd.split(",");
-//                    for (String s : split) {
-//                        if (s.equals(address.getCity())){
-//                            return R.error("此地区暂不支持配送");
-//                        }
-//                    }
-//                    if ("民权县".equals(address.getDistrict())){
-//                        return R.error("此地区暂不支持配送");
-//                    }
                 }
             }
             else{
@@ -1417,7 +1360,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         return fsStoreOrderVOS;
     }
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)
     public R payConfirm(String orderCode,String payCode, String tradeNo,String payType,Integer type) {
         try {
             FsStoreOrder order=null;
@@ -1426,17 +1369,17 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 FsStorePayment storePayment = fsStorePaymentMapper.selectFsStorePaymentByPaymentCode(payCode);
                 if (storePayment!=null){
                     if(storePayment.getStatus().equals(0)){
-                        logger.info(payCode+"待支付");
+                        log.info(payCode+"待支付");
                         FsStorePayment paymentMap=new FsStorePayment();
                         paymentMap.setPaymentId(storePayment.getPaymentId());
                         paymentMap.setStatus(1);
                         paymentMap.setPayTime(new Date());
                         paymentMap.setTradeNo(tradeNo);
-                        if(payType.equals(PayType.微信小程序支付.getCode())){
-                            paymentMap.setPayTypeCode(PayType.微信小程序支付.name());
+                        if(payType.equals(PayType.WECHAT_MINI_PROGRAM_PAYMENT.getCode())){
+                            paymentMap.setPayTypeCode(PayType.WECHAT_MINI_PROGRAM_PAYMENT.name());
                         }
-                        else if(payType.equals(PayType.支付宝条码支付.getCode())){
-                            paymentMap.setPayTypeCode(PayType.支付宝条码支付.name());
+                        else if(payType.equals(PayType.ALIPAY_BARCODE_PAYMENT.getCode())){
+                            paymentMap.setPayTypeCode(PayType.ALIPAY_BARCODE_PAYMENT.name());
                         }
                         if (storePayment.getPayMode().equals("yb")){
                             OrderQueryDTO orderQueryDTO = new OrderQueryDTO();
@@ -1446,12 +1389,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                             paymentMap.setBankTransactionId(orderResult.getBankTrxId());
                         }
                         fsStorePaymentMapper.updateFsStorePayment(paymentMap);
-                        logger.info(payCode+"已支付");
+                        log.info(payCode+"已支付");
                         order=fsStoreOrderMapper.selectFsStoreOrderByOrderId(Long.parseLong(storePayment.getBusinessId()));
                     }
                 }
                 else{
-                    logger.info(payCode+"支付单号不存在");
+                    log.info(payCode+"支付单号不存在");
                     return R.error("支付单号不存在");
                 }
             }
@@ -1459,12 +1402,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 order=fsStoreOrderMapper.selectFsStoreOrderByOrderCode(orderCode);
             }
             if(order!=null&&!order.getStatus().equals(FsStoreOrderStatusEnum.STATUS_1.getValue())){
-                logger.info(payCode+"订单号不为待支付回退");
+                log.info(payCode+"订单号不为待支付回退");
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return R.error();
             }
             if(order!=null&&!order.getIsPay().equals(0)){
-                logger.info(payCode+"订单号支付不为待支付回退");
+                log.info(payCode+"订单号支付不为待支付回退");
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return R.error();
             }
@@ -1507,7 +1450,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             }
             return R.ok();
         }catch (Exception e){
-            logger.info(payCode+"异常了"+e.getMessage());
+            log.info(payCode+"异常了"+e.getMessage());
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             FsStorePaymentError err = new FsStorePaymentError();
             err.setOrderNo(orderCode);
@@ -1563,7 +1506,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public int afterSales(FsStoreOrderSalesParam fsStoreOrderSalesParam) {
         FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderByOrderId(fsStoreOrderSalesParam.getOrderId());
         if (order.getStatus()<0){
@@ -1700,11 +1643,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             erpOrder.setVip_code(order.getUserId().toString());
         }
         erpOrder.setPlatform_code(order.getOrderCode());
-//        if(order.getStoreHouseCode()==null){
-//            erpOrder.setWarehouse_code("CQDS001");
-//        }else{
-//            erpOrder.setWarehouse_code(order.getStoreHouseCode());
-//        }
 
         erpOrder.setShop_code(sysConfig.getErpShopCode());
         erpOrder.setSeller_memo(order.getRemark());
@@ -1871,9 +1809,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         String s = fsPrescribeService.PrescribeImg(order.getPrescribeId());
         erpOrder.setSeller_memo(erpOrder.getSeller_memo()+"||"+s+"||");
         ErpOrderResponse response= erpOrderService.addOrder(erpOrder);
-        logger.info("ErpCreate:"+order.getOrderCode()+":"+JSONUtil.toJsonStr(response));
-        if(response.getSuccess()){
-
+        log.info("ErpCreate:"+order.getOrderCode()+":"+JSONUtil.toJsonStr(response));
+        if(Boolean.TRUE.equals(response.getSuccess())){
             //支付成功后 将订单号写入待发货的REDIS中
             redisCache.setCacheObject("delivery"+":"+response.getCode(),order.getOrderCode());
             //写入外部订单号
@@ -1883,34 +1820,16 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 order.setExtendOrderId(response.getCode());
             }
             fsStoreOrderMapper.updateFsStoreOrder(order);
-        }else {
-//            if (response.getErrorDesc().equals("该订单已创建")){
-//                ErpOrderQueryRequert erpOrderQueryRequert = new ErpOrderQueryRequert();
-//                erpOrderQueryRequert.setPlatform_code(order.getOrderCode());
-//                ErpOrderQueryResponse erp = erpOrderService.getOrder(erpOrderQueryRequert);
-//                logger.info("ErpCreate:"+order.getOrderCode()+":"+JSONUtil.toJsonStr(response));
-//
-//                if (erp.getOrders()!=null&&erp.getOrders().size()>0){
-//                    ErpOrderQuery epr = erp.getOrders().get(0);
-//                    redisCache.setCacheObject("delivery"+":"+epr.getCode(),order.getOrderCode());
-//                    order.setExtendOrderId(epr.getCode());
-//                    fsStoreOrderMapper.updateFsStoreOrder(order);
-//                }
-//            }
         }
         //写入日志
 
-
     }
 
-
-
-
     @Override
     public ExpressResultDTO updateDeliveryItem(ExpressNotifyDTO notifyDTO) {
         String data= URLDecoder.decode(notifyDTO.getRequestData(), Charset.forName("UTF-8"));
         //ExpressInfoDTO
-        logger.info("快递根踪回调:"+data);
+        log.info("快递根踪回调: {}",data);
         FsSysConfig sysConfig = configUtil.getSysConfig();
         ExpressDataDTO expressDataDTO=JSONUtil.toBean(data,ExpressDataDTO.class);
         if(expressDataDTO!=null&&expressDataDTO.getData()!=null){
@@ -1918,8 +1837,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 List<FsStoreOrder> orders=this.selectFsStoreOrderListByDeliveryId(dto.getLogisticCode());
                 if(orders!=null){
                     for(FsStoreOrder order:orders){
-                        logger.info("订单信息:"+JSONUtil.toJsonStr(order));
-                        logger.info("运单号:"+dto.getLogisticCode());
+                        log.info("订单信息: {}",JSONUtil.toJsonStr(order));
+                        log.info("运单号: {}",dto.getLogisticCode());
                         if(order!=null && (order.getDeliveryStatus()==null||order.getDeliveryStatus()!=3)){
                             if (dto.getState()!=null&&dto.getStateEx()!=null){
                                 FsStoreOrder map=new FsStoreOrder();
@@ -1934,7 +1853,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                                 }
                             }
                             if (!dto.isSuccess()){
-                                logger.info("物流状态异常:{}"+dto);
+                                log.info("物流状态异常:{}",dto);
                             }
                             if ((!dto.isSuccess()&&dto.getReason()!=null&&dto.getReason().equals("三天无轨迹"))||(!dto.isSuccess()&&dto.getReason()!=null&&dto.getReason().equals("七天内无轨迹变化"))){
                                 //订阅物流回调
@@ -1946,7 +1865,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                                     }
                                 }
                                 expressService.subscribeEspress(order.getOrderCode(),order.getDeliveryCode(),order.getDeliverySn(),lastFourNumber);
-                                logger.info("物流重新订阅:{}",order.getDeliverySn());
+                                log.info("物流重新订阅:{}",order.getDeliverySn());
                             }
 
                         }
@@ -1965,7 +1884,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public R syncExpress(Long id) {
 
         FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderByOrderId(id);
@@ -2058,7 +1977,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)
     public R editTuiMoney(Long id) {
         FsStoreOrder order= fsStoreOrderMapper.selectFsStoreOrderByOrderId(id);
         if(order.getStatus()==4){
@@ -2131,8 +2050,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
         for (StoreOrderExpressExportDTO dto : list)
         {
-//            try
-//            {
                 FsStoreOrder order=fsStoreOrderMapper.selectFsStoreOrderListByDeliverySnLOne(dto.getDeliverySn());
                 if (StringUtils.isNull(order))
                 {
@@ -2168,13 +2085,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     }
                 }
             }
-//            catch (Exception e)
-//            {
-//                String msg = "<br/>" + failureNum + "、快递单号 " + dto.getDeliverySn() + " 导入异常:";
-//                importErrorMsg.append(msg+e.getMessage());
-//                failureNum++;
-//            }
-//        }
         importMsg.insert(0, "导入完成!成功" + successNum + " 条,失败"+failureNum+"条。");
         importMsg.append(importErrorMsg.toString());
         importMsg.append(importSuccessMsg.toString());
@@ -2201,7 +2111,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
     @Override
     public synchronized  R finishOrder(Long orderId) {
-        return finishStoreOrder(orderId);
+        IFsStoreOrderService iFsStoreOrderService = (IFsStoreOrderService) AopContext.currentProxy();
+        return iFsStoreOrderService.finishStoreOrder(orderId);
     }
 
     @Override
@@ -2262,26 +2173,16 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         }
     }
 
-    @Transactional
+    @Override
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public R finishStoreOrder(Long orderId){
         FsStoreOrder order= fsStoreOrderMapper.selectFsStoreOrderByOrderId(orderId);
-        if(order.getStatus()==FsStoreOrderStatusEnum.STATUS_3.getValue()){
+        if(Objects.equals(order.getStatus(), FsStoreOrderStatusEnum.STATUS_3.getValue())){
             order.setFinishTime(new Date());
             order.setStatus(4);
             fsStoreOrderMapper.updateFsStoreOrder(order);
             fsStoreOrderLogsService.create(order.getOrderId(), FsStoreOrderLogEnum.FINISH_ORDER.getValue(),
                     FsStoreOrderLogEnum.FINISH_ORDER.getDesc());
-
-            //模板消息支付成功发布事件
-//            TemplateBean templateBean = TemplateBean.builder()
-//                    .orderId(order.getOrderId().toString())
-//                    .title(order.getOrderCode().toString())
-//                    .remark("您的订单已签收成功")
-//                    .time(order.getFinishTime())
-//                    .uid(order.getUserId())
-//                    .templateType(TemplateListenEnum.TYPE_3.getValue())
-//                    .build();
-//            publisher.publishEvent(new TemplateEvent(this, templateBean));
             return R.ok("操作成功");
         }
         else {
@@ -2306,7 +2207,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public void addIntegralAndShareByStoreOrder(FsStoreOrder fsStoreOrder) {
         fsUserService.addUserIntegral(fsStoreOrder.getPayMoney(),fsStoreOrder.getUserId(),fsStoreOrder.getOrderId(),2);
         FsStoreOrder order = new FsStoreOrder();
@@ -2357,10 +2258,10 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                             sharePayment.setShareMoney(new BigDecimal(r.getBody().getTrxAmt()));
                             fsStorePaymentMapper.updateFsStorePayment(sharePayment);
                         }else {
-                            logger.info("分账失败:"+fsStorePayment);
+                            log.error("分账失败: {}",fsStorePayment);
                         }
                     }else {
-                        logger.info("分账请求失败:"+fsStorePayment+r.getRetMsg());
+                        log.error("分账请求失败: {}",fsStorePayment+r.getRetMsg());
                     }
 
             }
@@ -2378,7 +2279,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             Long followDoctorId = fsStoreOrder.getFollowDoctorId();
             List<FsStoreOrder> orders = fsStoreOrderMapper.selectFsStoreOrderEndFollowByUserIdAndDocId(userId,followDoctorId);
 
-            if (orders==null||orders.size()==0){
+            if (CollectionUtils.isEmpty(orders)){
                 Long l = fsStoreOrderMapper.selectFsStoreOrderFollow(userId, followDoctorId);
                 MsgDTO msgDTO=new MsgDTO();
                 MsgCustomDTO customDTO=new MsgCustomDTO();
@@ -2396,10 +2297,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 msgs1.add(msg1);
                 msgDTO.setMsgBody(msgs1);
                 MsgResponseDTO msgResponseDTO = imService.sendMsg(msgDTO);
-                logger.info("医生结束随访"+msgResponseDTO);
-
-
-
+                log.info("医生结束随访"+msgResponseDTO);
             }
             FsStoreOrder o = new FsStoreOrder();
             o.setOrderId(fsStoreOrder.getOrderId());
@@ -2432,8 +2330,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             }
         }
     }
-    @Transactional
+
     @Override
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public void endDeliveryOrder() {
         List<FsStoreOrder> fsStoreOrders = fsStoreOrderMapper.selectEndDeliveryOrder();
         for (FsStoreOrder fsStoreOrder : fsStoreOrders) {
@@ -2465,7 +2364,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public R returnCost(Long orderId) {
         FsStoreOrder order = fsStoreOrderMapper.selectFsStoreOrderByOrderId(orderId);
         if (order!=null){
@@ -2488,7 +2387,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                                     continue;
                                 }
                                 BigDecimal money = logs.getMoney().multiply(new BigDecimal(-1));
-                                logger.info("退款佣金扣除:"+company.getCompanyId()+":"+money);
+                                log.info("退款佣金扣除:"+company.getCompanyId()+":"+money);
                                 company.setMoney(company.getMoney().subtract(logs.getMoney()));
                                 companyMapper.updateCompany(company);
                                 CompanyMoneyLogs log=new CompanyMoneyLogs();
@@ -2505,7 +2404,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                         if (!doesNotContain6){
                             if(logs.getLogsType()==5){
                                 BigDecimal money = logs.getMoney().multiply(new BigDecimal(-1));
-                                logger.info("退款成本返还:"+company.getCompanyId()+":"+money);
+                                log.info("退款成本返还:"+company.getCompanyId()+":"+money);
                                 company.setMoney(company.getMoney().add(money));
                                 companyMapper.updateCompany(company);
                                 CompanyMoneyLogs log=new CompanyMoneyLogs();
@@ -2629,7 +2528,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
             if(order.getPayMoney().compareTo(new BigDecimal(0))==0){
                 this.payConfirm(order.getOrderCode(),"","","",2);
-                // tuiOrderUtil.TuiOrder(order.getOrderId());
                 return R.ok().put("data",param.getOrderId()).put("isPay","1");
             }
             else {
@@ -2762,7 +2660,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         if(order==null){
             return R.error("订单不存在");
         }
-        if(order.getStatus()!= FsStoreOrderStatusEnum.STATUS_1.getValue()){
+        if(!Objects.equals(order.getStatus(), FsStoreOrderStatusEnum.STATUS_1.getValue())){
             return R.error("订单状态不正确");
         }
 
@@ -2770,7 +2668,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         if(user!=null&& StringUtils.isNotEmpty(user.getMaOpenId())){
 
             if(order.getPayMoney().compareTo(new BigDecimal(0))==0){
-                this.payConfirm(order.getOrderCode(),"","","",2);
+                IFsStoreOrderService fsStoreOrderService1 = (IFsStoreOrderService) AopContext.currentProxy();
+                fsStoreOrderService1.payConfirm(order.getOrderCode(),"","","",2);
                 return R.ok().put("data",param.getOrderId()).put("isPay","1");
             }
             else {
@@ -2813,7 +2712,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                         o.setGoodsInfo("药品订单支付"); // 订单信息
                         o.setOrderType(2);
                         o.setOrderId(order.getOrderId().toString());
-                        o.setPayType(Arrays.asList(PayType.支付宝条码支付.getCode()));
+                        o.setPayType(Arrays.asList(PayType.ALIPAY_BARCODE_PAYMENT.getCode()));
                         TzBankResult<PayCreateOrderResult> result = tzBankService.createOrder(o);
                         FsStorePayment mt=new FsStorePayment();
                         mt.setPaymentId(storePayment.getPaymentId());
@@ -2923,16 +2822,8 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             erpOrder.setVip_code(order.getUserId().toString());
         }
         erpOrder.setPlatform_code(order.getOrderCode());
-//        if(order.getStoreHouseCode()==null){
-//            erpOrder.setWarehouse_code("CQDS001");
-//        }
-//        else{
+
         erpOrder.setWarehouse_code(configUtil.getSysConfig().getErpWarehouseCode());
-//        }
-//        if(order.getStoreHouseCode().equals("YDSP001")){
-//            erpOrder.setShop_code("RunDayWuHan");
-//        }
-//        else{
         //判断是否开启erp
         FsSysConfig sysConfig = configUtil.getSysConfig();
         Integer erpOpen = sysConfig.getErpOpen();
@@ -2950,15 +2841,11 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             }
         }
 
-//        }
-//      erpOrder.setPost_fee(order.getTotalPostage().doubleValue());
         erpOrder.setSeller_memo(order.getRemark());
-        // order.setCurrency_code("JCZD");
         List<ErpOrderPayment> payments=new ArrayList<>();
         ErpOrderPayment payment=new ErpOrderPayment();
         payment.setPay_type_code("weixin");
         payment.setPayment(order.getPayMoney().doubleValue());
-        //payment.setPaytime(new Timestamp(System.currentTimeMillis()));
         if(order.getPayTime()!=null){
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             String timeString = sdf.format(order.getPayTime());
@@ -2994,18 +2881,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
             Company company = companyService.selectCompanyById(order.getCompanyId());
             if (order.getPayDelivery().compareTo(new BigDecimal(0)) == 0) {  //没有物流代收(全款订单)
                 FsExpress express = new FsExpress();
-                //express=expressService.selectFsExpressByOmsCode("SF.0235402855");
                 if(order.getPayPrice().compareTo(new BigDecimal(100))<=0){
                     express=expressService.selectFsExpressByOmsCode("ZTPDD");
                 }
                 else{
                     boolean found = containsAddress(order.getUserAddress());
-                    if(found){
-                        express=expressService.selectFsExpressByOmsCode("SF.0235402855");
-                    }
-                    else{
-                        express=expressService.selectFsExpressByOmsCode("SF.0235402855");
-                    }
+                    express=expressService.selectFsExpressByOmsCode(expressOmsCode);
                 }
                 erpOrder.setExpress_code(express.getOmsCode());
                 order.setDeliveryName(express.getName());
@@ -3025,7 +2906,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     if(StringUtils.isNotEmpty(company.getOmsCode())){
                         express = expressService.selectFsExpressByOmsCode(company.getOmsCode());
                     }else{
-                        express = expressService.selectFsExpressByOmsCode("SF.0235402855");
+                        express = expressService.selectFsExpressByOmsCode(expressOmsCode);
                     }
                 }
                 erpOrder.setExpress_code(express.getOmsCode());
@@ -3046,12 +2927,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     express=expressService.selectFsExpressByOmsCode("ZTPDD");
                 }else{
                     boolean found = containsAddress(order.getUserAddress());
-                    if(found){
-                        express=expressService.selectFsExpressByOmsCode("SF.0235402855");
-                    }
-                    else{
-                        express=expressService.selectFsExpressByOmsCode("SF.0235402855");
-                    }
+                    express=expressService.selectFsExpressByOmsCode(expressOmsCode);
                 }
                 erpOrder.setExpress_code(express.getOmsCode());
                 order.setDeliveryName(express.getName());
@@ -3069,7 +2945,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                     express=expressService.selectFsExpressByOmsCode("EMS.1");
                 }
                 else {
-                    express=expressService.selectFsExpressByOmsCode("SF.0235402855");
+                    express=expressService.selectFsExpressByOmsCode(expressOmsCode);
                 }
                 erpOrder.setExpress_code(express.getOmsCode());
                 order.setDeliveryName(express.getName());
@@ -3089,9 +2965,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 CompanyDept dept=companyDeptService.selectCompanyDeptById(companyUser.getDeptId());
                 if(dept!=null){
                     List<String> names=companyDeptService.selectCompanyDeptNamesByIds(dept.getAncestors());
-                    if(names!=null&&names.size()>0){
+                    if(CollectionUtil.isNotEmpty(names)){
                         //写备注
-                        erpOrder.setSeller_memo(erpOrder.getSeller_memo()+"-"+StringUtils.join(names, ",")+","+dept.getDeptName() );
+                        erpOrder.setSeller_memo(erpOrder.getSeller_memo()+"-"+ StringUtils.join(names, ",")+","+dept.getDeptName() );
                     }
                 }
                 erpOrder.setSeller_memo(erpOrder.getSeller_memo()+"-"+companyUser.getNickName());
@@ -3100,7 +2976,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
         if("WHSP001".equals(order.getStoreHouseCode())){
             //武汉不备注快递史
-            //erpOrder.setSeller_memo(erpOrder.getSeller_memo()+"-"+order.getDeliveryName());
         }
         else{
             erpOrder.setSeller_memo(erpOrder.getSeller_memo()+"-"+ order.getDeliveryName());
@@ -3113,11 +2988,6 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         remarkDTO.setCouponMoney(order.getCouponPrice());
         remarkDTO.setOrderId(order.getOrderCode());
         remarkDTO.setYdMoney(order.getPayPrice().subtract(order.getPayMoney().subtract(order.getPayDelivery())));
-//        //套餐标题也传过去
-//        if (order.getOrderCreateType() == 2){
-//            JSONObject jsonStr = JSONObject.parseObject(order.getPackageJson());
-//            remarkDTO.setPackageTitle(jsonStr.getString("title"));
-//        }
 
         if(order.getPayTime()!=null){
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

+ 5 - 1
fs-service/src/main/java/com/fs/qw/mapper/QwExternalContactMapper.java

@@ -233,7 +233,11 @@ public interface QwExternalContactMapper extends BaseMapper<QwExternalContact> {
             "            <if test=\"description != null  and description != ''\"> and ec.description = #{description}</if>\n" +
 
             "<if test ='tagIds!=null and tagIds.size()!=0 '> " +
-            " and <foreach collection='tagIds'  item='item' index='index'  open='( 1=2 ' separator='' close=')'> or find_in_set(  #{item} , REGEXP_REPLACE ( ec.tag_ids, '[\"\\\\[\\\\]]', '' ) )  </foreach> " +
+            "    and (\n" +
+            "    <foreach collection='tagIds' item='item' index='index' separator=' AND '>\n" +
+            "        find_in_set(#{item}, REGEXP_REPLACE(ec.tag_ids, '[\"\\\\[\\\\]]', ''))\n" +
+            "    </foreach>\n" +
+            "    )"+
             "</if> " +
 
             "            <if test=\"remarkMobiles != null  and remarkMobiles != ''\"> and ec.remark_mobiles like concat( #{remarkMobiles}, '%')</if>\n" +

+ 2 - 2
fs-service/src/main/java/com/fs/tzBankPay/RequestController.java

@@ -43,7 +43,7 @@ public class RequestController {
         o.setPayCertType("22"); // 证件类型
         o.setPayCertNo("520321199801300897"); // 证件号码
 
-        List<String> payType = Arrays.asList(PayType.微信二维码支付.getCode(),PayType.支付宝条码支付.getCode());
+        List<String> payType = Arrays.asList(PayType.WECHAT_QR_CODE_PAYMENT.getCode(),PayType.ALIPAY_BARCODE_PAYMENT.getCode());
         //    o.setPayType(payType); // 支付方式
         //o.setClientIp("YourClientIp"); // 客户端 IP
 //        o.setRiskClientImei("1582220"); // 手机 Imei 数字人民币支付必传
@@ -121,7 +121,7 @@ public class RequestController {
         o.setPayCertType("22"); // 证件类型
         o.setPayCertNo("520321199801300897"); // 证件号码
 
-        List<String> payType = Arrays.asList(PayType.微信二维码支付.getCode(),PayType.支付宝条码支付.getCode());
+        List<String> payType = Arrays.asList(PayType.WECHAT_QR_CODE_PAYMENT.getCode(),PayType.ALIPAY_BARCODE_PAYMENT.getCode());
     //    o.setPayType(payType); // 支付方式
         //o.setClientIp("YourClientIp"); // 客户端 IP
 //        o.setRiskClientImei("1582220"); // 手机 Imei 数字人民币支付必传

+ 1 - 1
fs-service/src/main/java/com/fs/tzBankPay/TzBankService/TzBankServiceImpl/TzBankServiceImpl.java

@@ -47,7 +47,7 @@ public class TzBankServiceImpl implements TzBankService {
         // 增加一个小时
         Instant oneHourLater = currentTimestamp.plusSeconds(3600);
         order.setExpiredTime(oneHourLater.toEpochMilli()+""); // 订单过期时间
-        List<String> payType = Arrays.asList(PayType.微信小程序支付.getCode(),PayType.支付宝条码支付.getCode());
+        List<String> payType = Arrays.asList(PayType.WECHAT_MINI_PROGRAM_PAYMENT.getCode(),PayType.ALIPAY_BARCODE_PAYMENT.getCode());
         if(order.getPayType()==null){
             order.setPayType(payType);
         }

+ 21 - 22
fs-service/src/main/java/com/fs/tzBankPay/doman/PayType.java

@@ -1,27 +1,27 @@
 package com.fs.tzBankPay.doman;
 
 public enum PayType {
-    账户支付("01"),
-    B2C网关("02"),
-    B2B网关("03"),
-    快捷支付("04"),
-    企业白条支付("06"),
-    e购贷支付("08"),
-    数字人民币支付("09"),
-    微信小程序支付("14"),
-    微信公众号("15"),
-    微信二维码支付("16"),
-    支付宝条码支付("27"),
-    云闪付("44"),
-    台行及村镇卡支付("45"),
-    B2B网银("46"),
-    B2C网银("47"),
-    钱包支付("48"),
-    台行及村镇企业账户支付("49"),
-    供应链白条支付("51"),
-    银联支付("53"),
-    银联签约支付("55"),
-    代付("99");
+    ACCOUNT_PAYMENT("01"),
+    B2C_GATEWAY("02"),
+    B2B_GATEWAY("03"),
+    QUICK_PAYMENT("04"),
+    ENTERPRISE_CREDIT_PAYMENT("06"),
+    E_PURCHASE_LOAN_PAYMENT("08"),
+    DIGITAL_RMB_PAYMENT("09"),
+    WECHAT_MINI_PROGRAM_PAYMENT("14"),
+    WECHAT_PUBLIC_ACCOUNT("15"),
+    WECHAT_QR_CODE_PAYMENT("16"),
+    ALIPAY_BARCODE_PAYMENT("27"),
+    CLOUD_QUICK_PASS("44"),
+    TAIWAN_AND_VILLAGE_BANK_CARD_PAYMENT("45"),
+    B2B_ONLINE_BANKING("46"),
+    B2C_ONLINE_BANKING("47"),
+    WALLET_PAYMENT("48"),
+    TAIWAN_AND_VILLAGE_ENTERPRISE_ACCOUNT_PAYMENT("49"),
+    SUPPLY_CHAIN_CREDIT_PAYMENT("51"),
+    UNIONPAY_PAYMENT("53"),
+    UNIONPAY_CONTRACT_PAYMENT("55"),
+    PAYMENT_ON_BEHALF("99");
 
     private final String code;
 
@@ -33,4 +33,3 @@ public enum PayType {
         return code;
     }
 }
-

+ 2 - 0
fs-service/src/main/resources/application-common.yml

@@ -39,6 +39,8 @@ logging:
     com.fs: info
     org.springframework: warn
 
+express:
+  omsCode: "SF.0235402855"
 # Spring配置
 spring:
   cache:

+ 1 - 1
fs-service/src/main/resources/application-config-druid-sft.yml

@@ -77,7 +77,7 @@ cloud_host:
   company_name: 四福堂
 #看课授权时显示的头像
 headerImg:
-  imgUrl: https://cos.his.cdwjyyh.com/fs/20250606/fdf4b41abc0741758ab6c2c70dafb5be.png
+  imgUrl: https://sft-1361917636.cos.ap-chongqing.myqcloud.com/sft/20250606/b08b1a6212f44f2998423c8c5d7712ee.png
 ipad:
   ipadUrl: http://ipad.cdwjyyh.com
 wx_miniapp_temp:

+ 1 - 1
fs-service/src/main/resources/application-config-druid-yzt.yml

@@ -77,7 +77,7 @@ cloud_host:
   company_name: 易诊通
 #看课授权时显示的头像
 headerImg:
-  imgUrl: https://cos.his.cdwjyyh.com/fs/20250522/28c3d8d5c42a4bcdb85292c2e5eb2a37.png
+  imgUrl: https://yztcourse-1325300895.cos.ap-guangzhou.myqcloud.com/yztcourse/20250523/e04871a98cc84be39a7f60c084698e21.jpg
 ipad:
   ipadUrl: http://ipad.cdwjyyh.com
 wx_miniapp_temp:

+ 148 - 0
fs-service/src/main/resources/application-druid-sxjz-test.yml

@@ -0,0 +1,148 @@
+# 数据源配置
+spring:
+    profiles:
+        include: config-druid-sxjz,common
+    # redis 配置
+    redis:
+        host: 127.0.0.1
+        port: 6379
+        # 数据库索引
+        database: 0
+        # 密码
+        password:
+        # 连接超时时间
+        timeout: 10s
+        lettuce:
+            pool:
+                # 连接池中的最小空闲连接
+                min-idle: 0
+                # 连接池中的最大空闲连接
+                max-idle: 8
+                # 连接池的最大数据库连接数
+                max-active: 8
+                # #连接池最大阻塞等待时间(使用负值表示没有限制)
+                max-wait: -1ms
+    datasource:
+        #        clickhouse:
+        #            type: com.alibaba.druid.pool.DruidDataSource
+        #            driverClassName: com.clickhouse.jdbc.ClickHouseDriver
+        #            url: jdbc:clickhouse://1.14.104.71:8123/sop_test?compress=0&use_server_time_zone=true&use_client_time_zone=false&timezone=Asia/Shanghai
+        #            username: rt_2024
+        #            password: Yzx_19860213
+        #            initialSize: 10
+        #            maxActive: 100
+        #            minIdle: 10
+        #            maxWait: 6000
+        mysql:
+            type: com.alibaba.druid.pool.DruidDataSource
+            driverClassName: com.mysql.cj.jdbc.Driver
+            druid:
+                # 主库数据源
+                master:
+                    url: jdbc:mysql://139.155.247.58:2345/fs_his?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                    username: root
+                    password: Sxdtcbm@#+!2025
+                # 从库数据源
+                slave:
+                    # 从数据源开关/默认关闭
+                    enabled: false
+                    url:
+                    username:
+                    password:
+                # 初始连接数
+                initialSize: 5
+                # 最小连接池数量
+                minIdle: 10
+                # 最大连接池数量
+                maxActive: 2000
+                # 配置获取连接等待超时的时间
+                maxWait: 60000
+                # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+                timeBetweenEvictionRunsMillis: 60000
+                # 配置一个连接在池中最小生存的时间,单位是毫秒
+                minEvictableIdleTimeMillis: 300000
+                # 配置一个连接在池中最大生存的时间,单位是毫秒
+                maxEvictableIdleTimeMillis: 900000
+                # 配置检测连接是否有效
+                validationQuery: SELECT 1 FROM DUAL
+                testWhileIdle: true
+                testOnBorrow: false
+                testOnReturn: false
+                webStatFilter:
+                    enabled: true
+                statViewServlet:
+                    enabled: true
+                    # 设置白名单,不填则允许所有访问
+                    allow:
+                    url-pattern: /druid/*
+                    # 控制台管理用户名和密码
+                    login-username: fs
+                    login-password: 123456
+                filter:
+                    stat:
+                        enabled: true
+                        # 慢SQL记录
+                        log-slow-sql: true
+                        slow-sql-millis: 1000
+                        merge-sql: true
+                    wall:
+                        config:
+                            multi-statement-allow: true
+        sop:
+            type: com.alibaba.druid.pool.DruidDataSource
+            driverClassName: com.mysql.cj.jdbc.Driver
+            druid:
+                # 主库数据源
+                master:
+                    url: jdbc:mysql://139.155.247.58:2345/fs_his_sop?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                    username: root
+                    password: Sxdtcbm@#+!2025
+                # 初始连接数
+                initialSize: 5
+                # 最小连接池数量
+                minIdle: 10
+                # 最大连接池数量
+                maxActive: 200
+                # 配置获取连接等待超时的时间
+                maxWait: 60000
+                # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+                timeBetweenEvictionRunsMillis: 60000
+                # 配置一个连接在池中最小生存的时间,单位是毫秒
+                minEvictableIdleTimeMillis: 300000
+                # 配置一个连接在池中最大生存的时间,单位是毫秒
+                maxEvictableIdleTimeMillis: 900000
+                # 配置检测连接是否有效
+                validationQuery: SELECT 1 FROM DUAL
+                testWhileIdle: true
+                testOnBorrow: false
+                testOnReturn: false
+                webStatFilter:
+                    enabled: true
+                statViewServlet:
+                    enabled: true
+                    # 设置白名单,不填则允许所有访问
+                    allow:
+                    url-pattern: /druid/*
+                    # 控制台管理用户名和密码
+                    login-username: fs
+                    login-password: 123456
+                filter:
+                    stat:
+                        enabled: true
+                        # 慢SQL记录
+                        log-slow-sql: true
+                        slow-sql-millis: 1000
+                        merge-sql: true
+                    wall:
+                        config:
+                            multi-statement-allow: true
+rocketmq:
+    name-server: rmq-1243b25nj.rocketmq.gz.public.tencenttdmq.com:8080 # RocketMQ NameServer 地址
+    producer:
+        group: my-producer-group
+        access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
+        secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
+    consumer:
+        group: voice-group
+        access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
+        secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/InquiryOrderController.java

@@ -413,7 +413,7 @@ public class InquiryOrderController extends  AppBaseController {
                     o.setGoodsInfo("问诊订单支付"); // 订单信息
                     o.setOrderType(2);
                     o.setOrderId(order.getOrderId().toString());
-                    o.setPayType(Arrays.asList(PayType.支付宝条码支付.getCode()));
+                    o.setPayType(Arrays.asList(PayType.ALIPAY_BARCODE_PAYMENT.getCode()));
                     TzBankResult<PayCreateOrderResult> result = tzBankService.createOrder(o);
                     FsStorePayment mt=new FsStorePayment();
                     mt.setPaymentId(storePayment.getPaymentId());

+ 0 - 3
fs-user-app/src/main/java/com/fs/app/controller/StoreOrderController.java

@@ -74,9 +74,6 @@ public class StoreOrderController extends  AppBaseController {
     @GetMapping("/getMyStoreOrderById")
     public R getMyStoreOrderById(@RequestParam("orderId") Long orderId, HttpServletRequest request){
         FsStoreOrder order=orderService.selectFsStoreOrderByOrderId(orderId);
-//        if(!order.getUserId().equals(Long.parseLong(getUserId()))){
-//            return R.error("非法操作");
-//        }
         order.setUserPhone(ParseUtils.parsePhone(order.getUserPhone()));
         order.setUserAddress(ParseUtils.parseIdCard(order.getUserAddress()));
         List<FsStoreOrderItemListUVO> list=orderItemService.selectFsStoreOrderItemListUVOByOrderId(orderId);