Преглед на файлове

1.总后台-新增套餐包展示名称
2.物流信息携带套餐“展示名称”

luolinsong преди 1 месец
родител
ревизия
9dbe9bb9e8

+ 3 - 0
fs-admin/src/main/java/com/fs/his/controller/FsPackageController.java

@@ -113,6 +113,9 @@ public class FsPackageController extends BaseController
     @PostMapping
     public AjaxResult add(@RequestBody FsPackage fsPackage)
     {
+        if (fsPackage.getShowName().length()>30){
+            return AjaxResult.error("展示名称不能超过30字");
+        }
         fsPackageService.insertFsPackage(fsPackage);
         redisCacheUtil.delRedisKey("getPackageList");
         redisCacheUtil.delRedisKey("getPackageById");

+ 16 - 2
fs-qw-api-msg/src/main/java/com/fs/app/controller/QwMsgController.java

@@ -8,10 +8,12 @@ import com.fs.common.utils.uuid.IdUtils;
 import com.fs.fastGpt.domain.FastGptRole;
 import com.fs.fastGpt.service.AiHookService;
 import com.fs.fastGpt.service.IFastGptRoleService;
+import com.fs.his.domain.FsPackage;
 import com.fs.his.domain.FsStoreOrder;
 import com.fs.his.dto.ExpressInfoDTO;
 import com.fs.his.dto.TracesDTO;
 import com.fs.his.enums.ShipperCodeEnum;
+import com.fs.his.mapper.FsPackageMapper;
 import com.fs.his.service.IFsExpressService;
 import com.fs.his.service.IFsStoreOrderService;
 import com.fs.qw.domain.QwExternalContact;
@@ -31,6 +33,7 @@ import com.fs.wxwork.dto.*;
 import com.fs.wxwork.service.WxWorkService;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -78,6 +81,8 @@ public class QwMsgController {
     private IFsExpressService expressService;
     @Autowired
     private IFsStoreOrderService storeOrderService;
+    @Autowired
+    private FsPackageMapper fsPackageMapper;
 
     @GetMapping("/sendExpressInfo/{orderId}")
     public R sendExpressInfo(@PathVariable Long orderId){
@@ -85,6 +90,7 @@ public class QwMsgController {
         if(isSend == null){
             redisCache.setCacheObject("fs:express:info:send:" +orderId, "1",2, TimeUnit.MINUTES);
             FsStoreOrder order = fsStoreOrderService.selectFsStoreOrderByOrderId(orderId);
+            FsPackage fsPackage = fsPackageMapper.selectFsPackage(orderId);
             if(order != null && order.getUserId() != null){
                 List<QwExternalContact> qwExternalContact = externalContactService.selectQwExternalContactByFsUserIdAndCompany(order.getUserId(),order.getCompanyUserId());
                 if(qwExternalContact != null && !qwExternalContact.isEmpty()){
@@ -113,7 +119,11 @@ public class QwMsgController {
                                         case 1:
                                             break;
                                         case 2:
-                                            sBuilder.append("您好,您有一个包裹正在准备发货,请耐心等待;\n");
+                                            if (ObjectUtils.isNotEmpty(fsPackage)) {
+                                                sBuilder.append("您好,您购买的{" + fsPackage.getShowName()).append("} 正在准备发货,请耐心等待;n\"");
+                                            } else {
+                                                sBuilder.append("您好,您有一个包裹正在准备发货,请耐心等待;\n");
+                                            }
                                             if(order.getDeliverySn() != null && !order.getDeliverySn().isEmpty()){
                                                 sBuilder.append(" 物流单号为:").append(order.getDeliverySn()).append("\n");
                                             }
@@ -123,7 +133,11 @@ public class QwMsgController {
                                             ExpressInfoDTO express = getExpress(order.getOrderId());
                                             if("211".equals(express.getStateEx())){
                                                 //你好,这边查询到您购买的XXX(购买套餐)在XXX(时间)已经送到了,送货员电话为XXX(送货员信息)
-                                                sBuilder.append("这边查询到您有一个包裹 ");
+                                                if (ObjectUtils.isNotEmpty(fsPackage)) {
+                                                    sBuilder.append("这边查询到您购买的{" + fsPackage.getShowName() + "}");
+                                                } else {
+                                                    sBuilder.append("这边查询到您有一个包裹 ");
+                                                }
                                                 if(express != null && express.getTraces() != null && !express.getTraces().isEmpty()){
                                                     List<TracesDTO> traces = express.getTraces();
                                                     TracesDTO tracesDTO = traces.get(traces.size() - 1);

+ 24 - 5
fs-service/src/main/java/com/fs/fastGpt/service/impl/AiHookServiceImpl.java

@@ -34,10 +34,12 @@ import com.fs.fastgptApi.service.Impl.AudioServiceImpl;
 import com.fs.fastgptApi.util.AiImgUtil;
 import com.fs.fastgptApi.util.EventLogUtils;
 import com.fs.fastgptApi.vo.AudioVO;
+import com.fs.his.domain.FsPackage;
 import com.fs.his.domain.FsStoreOrder;
 import com.fs.his.dto.ExpressInfoDTO;
 import com.fs.his.dto.TracesDTO;
 import com.fs.his.enums.ShipperCodeEnum;
+import com.fs.his.mapper.FsPackageMapper;
 import com.fs.his.mapper.FsStoreMapper;
 import com.fs.his.mapper.FsStoreOrderMapper;
 import com.fs.his.service.IFsExpressService;
@@ -165,6 +167,8 @@ public class AiHookServiceImpl implements AiHookService {
     private IFastGptChatReplaceTextService fastGptChatReplaceTextService;
     @Autowired
     private ICrmMsgService crmMsgService;
+    @Autowired
+    private FsPackageMapper fsPackageMapper;
 
     private static final String AI_REPLY = "AI_REPLY:";
     private static final String AI_REPLY_TAG = "AI_REPLY_TAG:";
@@ -761,6 +765,7 @@ public class AiHookServiceImpl implements AiHookService {
                 List<FsStoreOrder> fsStoreOrderList = storeOrderService.selectFsStoreOrderByFsUserId(fsUserId);
                 if(fsStoreOrderList != null && !fsStoreOrderList.isEmpty()){
                     for (FsStoreOrder fsStoreOrder : fsStoreOrderList) {
+                        FsPackage fsPackage = fsPackageMapper.selectFsPackage(fsStoreOrder.getOrderId());
                         if(sBuilder.length() > 0 && fsStoreOrder.getStatus() > 1){
                             sBuilder.append("\n\n同时,");
                         }else if(fsStoreOrder.getStatus() > 1){
@@ -777,12 +782,22 @@ public class AiHookServiceImpl implements AiHookService {
                                 fastGptChatSessionMapper.updateFastGptChatSession(fastGptChatSession);
                                 break;
                             case 2:
-                                sBuilder.append("您好,您有一个包裹正在准备发货,请耐心等待;\n")
-                                        .append("\uD83C\uDF39\uD83C\uDF39\uD83C\uDF39");
+                                if (ObjectUtils.isNotEmpty(fsPackage)) {
+                                    sBuilder.append("您好,您购买的{" + fsPackage.getShowName() + "}正在准备发货,请耐心等待;\n")
+                                            .append("\uD83C\uDF39\uD83C\uDF39\uD83C\uDF39");
+                                } else {
+                                    sBuilder.append("您好,您有一个包裹正在准备发货,请耐心等待;\n")
+                                            .append("\uD83C\uDF39\uD83C\uDF39\uD83C\uDF39");
+                                }
                             case 3:
                                 ExpressInfoDTO expressInfo = getExpress(fsStoreOrder.getOrderId());
-                                sBuilder.append("您购买的有一个包裹 ");
-                                sBuilder.append(" 已经查询到了,正在配送中了。\n");
+                                if (ObjectUtils.isNotEmpty(fsPackage)) {
+                                    sBuilder.append("您购买的{" + fsPackage.getShowName() + "}");
+                                    sBuilder.append(" 已经查询到了,正在配送中了。\n");
+                                } else {
+                                    sBuilder.append("您购买的有一个包裹 ");
+                                    sBuilder.append(" 已经查询到了,正在配送中了。\n");
+                                }
                                 if(expressInfo != null && expressInfo.getTraces() != null && !expressInfo.getTraces().isEmpty()){
                                     List<TracesDTO> traces = expressInfo.getTraces();
                                     TracesDTO tracesDTO = traces.get(traces.size() - 1);
@@ -794,7 +809,11 @@ public class AiHookServiceImpl implements AiHookService {
                             case 5:
                                 ExpressInfoDTO express = getExpress(fsStoreOrder.getOrderId());
                                 //你好,这边查询到您购买的XXX(购买套餐)在XXX(时间)已经送到了,送货员电话为XXX(送货员信息)
-                                sBuilder.append("这边查询到您有一个包裹");
+                                if (ObjectUtils.isNotEmpty(fsPackage)) {
+                                    sBuilder.append("这边查询到您购买的{"+fsPackage.getShowName()+"}");
+                                }else {
+                                    sBuilder.append("这边查询到您有一个包裹");
+                                }
                                 if(express != null && express.getTraces() != null && !express.getTraces().isEmpty()){
                                     List<TracesDTO> traces = express.getTraces();
                                     TracesDTO tracesDTO = traces.get(traces.size() - 1);

+ 1 - 0
fs-service/src/main/java/com/fs/his/domain/FsPackage.java

@@ -104,4 +104,5 @@ public class FsPackage extends BaseEntity
     /** 节气 */
     private Long solarTerm;
     private String appIds;
+    private String showName;
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/mapper/FsPackageMapper.java

@@ -28,6 +28,8 @@ public interface FsPackageMapper
      */
     public FsPackage selectFsPackageByPackageId(Long packageId);
 
+    public FsPackage selectFsPackage(@Param("orderId") Long orderId);
+
     /**
      * 查询套餐包列表
      *

+ 1 - 0
fs-service/src/main/java/com/fs/his/vo/FsPackageListVO.java

@@ -67,4 +67,5 @@ public class FsPackageListVO extends BaseEntity {
     private BigDecimal totalPrice;
 
     private Long solarTerm;
+    private String showName;
 }

+ 12 - 1
fs-service/src/main/resources/mapper/his/FsPackageMapper.xml

@@ -49,10 +49,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="description"    column="description"    />
         <result property="solarTerm"    column="solar_term"    />
         <result property="appIds"    column="app_ids"    />
+        <result property="showName"    column="show_name"    />
     </resultMap>
 
     <sql id="selectFsPackageVo">
-        select package_id,description,usage_per_use_count,icd_code,images,doctor_remark,second_name,follow_temp_id,product_cost_price,inquiry_cost_price,total_cost_price,follow_num,`explain`,indication,store_id,private_type,recipe_type,counts,usage_frequency_unit, package_name,img_url,is_show,total_price,cycle,duration,`desc`,product_type,price,tags,sales,disease_type,num,package_sub_type,describe_json,pay_type,package_type, sort, product_json, status, create_time, update_time, is_del,solar_term,app_ids from fs_package
+        select package_id,description,usage_per_use_count,icd_code,images,doctor_remark,second_name,follow_temp_id,product_cost_price,inquiry_cost_price,total_cost_price,follow_num,`explain`,indication,store_id,private_type,recipe_type,counts,usage_frequency_unit, package_name,img_url,is_show,total_price,cycle,duration,`desc`,product_type,price,tags,sales,disease_type,num,package_sub_type,describe_json,pay_type,package_type, sort, product_json, status, create_time, update_time, is_del,solar_term,app_ids,show_name from fs_package
     </sql>
 
     <select id="selectFsPackageList" parameterType="FsPackage" resultMap="FsPackageResult">
@@ -71,6 +72,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where package_id = #{packageId}
     </select>
 
+    <select id="selectFsPackage" parameterType="Long" resultMap="FsPackageResult">
+        select fp.*
+        from fs_package fp
+        join fs_store_order fso on fp.package_id = fso.package_id
+        where fso.order_id = #{orderId}
+    </select>
+
     <select id="selectIcdNameByPackageId" resultType="java.lang.String">
         SELECT i.icd_name
         FROM fs_package p
@@ -179,6 +187,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="description != null">description,</if>
             <if test="solarTerm != null">solar_term,</if>
             <if test="appIds != null">app_ids,</if>
+            <if test="showName != null">show_name,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="packageName != null">#{packageName},</if>
@@ -224,6 +233,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="description != null">#{description},</if>
             <if test="solarTerm != null">#{solarTerm},</if>
             <if test="appIds != null">#{appIds},</if>
+            <if test="showName != null">#{showName},</if>
         </trim>
     </insert>
 
@@ -273,6 +283,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="description != null">description = #{description},</if>
             <if test="solarTerm != null">solar_term = #{solarTerm},</if>
             <if test="appIds != null ">app_ids = #{appIds},</if>
+            <if test="showName != null ">show_name = #{showName},</if>
         </trim>
         where package_id = #{packageId}
     </update>