Selaa lähdekoodia

Merge remote-tracking branch 'origin/master_feat_ysy_20250929' into master_feat_ysy_20250929

cgp 4 viikkoa sitten
vanhempi
commit
c5e10b15d8

+ 38 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsPackageOrderServiceImpl.java

@@ -667,6 +667,7 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
     }
 
     @Override
+    @Transactional
     public R createOrder1(FsPackageOrderCreateParam param) {
         logger.info("创建订单传参:{}",param);
         FsUser user=userService.selectFsUserByUserId(param.getUserId());
@@ -820,6 +821,43 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
                     collectionUser.setId(collection.getId());
                     collectionUser.setPackageOrderCode(orderSn);
                     userInformationCollectionMapper.updateFsUserInformationCollection(collectionUser);
+
+                    //信息采集关联套餐包且意向金额小于等于0处理为已支付的订单
+                    if (collection.getIsPackage() == 1 &&  !(collection.getAmount().compareTo(new BigDecimal(0))==1)) {
+                        FsPackageOrder mapOrder = new FsPackageOrder();
+                        mapOrder.setOrderId(order.getOrderId());
+                        //计算订单
+                        FsPackageOrderComputeParam computeParam=new FsPackageOrderComputeParam();
+                        computeParam.setCompanyUserId(param.getCompanyUserId());
+                        computeParam.setCompanyId(param.getCompanyId());
+                        computeParam.setPayType(param.getPayType());
+                        computeParam.setOrderCode(orderSn);
+                        if(order.getStoreId() != null){
+                            computeParam.setStoreId(order.getStoreId());
+                        }
+                        Map<String,Object> moneys=computeOrderMoney(order.getTotalPrice(),computeParam);
+                        mapOrder.setPayMoney((BigDecimal)moneys.get("payMoney"));
+                        mapOrder.setPayPrice((BigDecimal)moneys.get("payPrice"));
+                        mapOrder.setPayDelivery((BigDecimal)moneys.get("payDelivery"));
+                        mapOrder.setDiscountMoney((BigDecimal)moneys.get("discountMoney"));
+                        mapOrder.setPayRemain((BigDecimal)moneys.get("payRemain"));
+                        //地址处理
+                        FsUserAddress address = userAddressService.selectFsUserAddressByDefault(param.getUserId());
+                        if (address == null) {
+                            return R.error("联系销售添加默认收货地址");
+                        }
+                        Map<String, String> myMap = new HashMap<>();
+                        myMap.put("userName", address.getRealName().trim());
+                        myMap.put("userPhone", address.getPhone().trim());
+                        myMap.put("userAddress", address.getProvince()+" "+address.getCity()+" "+address.getDistrict()+" "+address.getDetail());
+
+                        String addressString = JSON.toJSONString(myMap);
+                        mapOrder.setAddressJson(addressString);
+                        if(fsPackageOrderMapper.updateFsPackageOrder(mapOrder) > 0) {
+                            this.payConfirm(orderSn,"","","",2,null,null);
+                        }
+                    }
+
                 } else {
                     return R.error("用户信息采集错误,创建失败");
                 }

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

@@ -944,13 +944,19 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
                 redisCache.setCacheObject("collectionPrescribeId:" + prescribeId, collection);
             }
             if (collection.getIsPackage() == 1 && Arrays.asList(1, 2, 3).contains(fsPackage.getProductType())) {
+                FsPrescribe prescribe = prescribeMapper.selectFsPrescribeByPrescribeId(prescribeId);
+
                 DoctorMsg msg = new DoctorMsg();
                 String name = collection.getUserName() != null ? collection.getUserName() : "-";
                 msg.setTitle("用户信息采集开方");
                 msg.setType(1);
                 String companyUserName = companyUserCacheService.selectCompanyUserNameUserById(collection.getCompanyUserId());
                 msg.setContent("患者:" + name + "的信息采集,前往开方,来源客服:"+companyUserName);
-                msg.setDoctorId(collection.getDoctorId());
+                if (prescribe != null) {
+                    msg.setDoctorId(prescribe.getDoctorId());
+                } else {
+                    msg.setDoctorId(collection.getDoctorId());
+                }
                 msg.setCreateTime(DateUtils.getNowDate());
                 doctorMsgMapper.insertDoctorMsg(msg);
                 //更新任务订单号
@@ -960,9 +966,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
                     map.setId(schedule.getId());
                     map.setOrderCode(packageOrder.getOrderSn());
                     map.setCurrentStep(PrescriptionTaskStepEnum.WAITING_PRESCRIBE.getCode());
-                    FsPrescribe fsPrescribe = fsPrescribeService.selectFsPrescribeByPrescribeId(prescribeId);
-                    if (fsPrescribe != null) {
-                        map.setDrugDoctorId(fsPrescribe.getDrugDoctorId());
+                    if (prescribe != null) {
+                        map.setDoctorId(prescribe.getDoctorId());
+                        map.setDrugDoctorId(prescribe.getDrugDoctorId());
                     }
                     informationCollectionScheduleMapper.updateFsUserInformationCollectionSchedule(map);
                 }

+ 3 - 0
fs-service/src/main/java/com/fs/hisStore/domain/FsStoreProductScrm.java

@@ -310,4 +310,7 @@ public class FsStoreProductScrm extends BaseEntity
     @Excel(name = "是否药品")
     private String isDrug;
 
+    //erp类型 1-聚水潭 2-兔灵
+    private Integer erpType;
+
 }

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/param/FsStoreProductAddEditParam.java

@@ -266,5 +266,7 @@ public class FsStoreProductAddEditParam implements Serializable
     private List<FsStoreProductAttrValueScrm> values;
         // 指定企业
     private String companyIds;
+    //erp类型 1-聚水潭 2-兔灵
+    private Integer erpType;
 
 }

+ 6 - 4
fs-service/src/main/java/com/fs/hisStore/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -695,10 +695,12 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
             if (schedule != null) {
                 log.info("同步用户id:{}信息采集进度:{}",param.getUserId(),schedule);
                 log.info("当前采集表isPackage数值:{}",collection.getIsPackage());
-                if (collection.getIsPackage() == 1) {
-                    //带套餐包的 "待支付"节点
-                    schedule.setCurrentStep(PrescriptionTaskStepEnum.WAITING_UN_PAY.getCode());
-                    log.info("同步用户信息采集进度节点为:{},信息采集表id:{}",PrescriptionTaskStepEnum.WAITING_UN_PAY.getDesc(),schedule.getCollectionId());
+                if (collection.getIsPackage() == 1 ) {
+                    if(collection.getAmount().compareTo(new BigDecimal(0))==1) {
+                        //带套餐包的 "待支付"节点
+                        schedule.setCurrentStep(PrescriptionTaskStepEnum.WAITING_UN_PAY.getCode());
+                        log.info("同步用户信息采集进度节点为:{},信息采集表id:{}",PrescriptionTaskStepEnum.WAITING_UN_PAY.getDesc(),schedule.getCollectionId());
+                    }
                 } else {
                     //没套餐包的 "待建议"节点
                     schedule.setCurrentStep(PrescriptionTaskStepEnum.WAITING_SUGGESTION.getCode());

+ 1 - 1
fs-service/src/main/resources/mapper/company/CompanyUserMapper.xml

@@ -512,7 +512,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         from qw_user qw
         <where>
             <if test="params.qwUserName != null and params.qwUserName != ''">
-                and qw.qw_user_name like concat(#{params.qwUserName}, '%')
+                and qw.qw_user_name like concat('%',#{params.qwUserName}, '%')
             </if>
             <if test="params.companyId != null">
                 and qw.company_id = #{params.companyId}

+ 6 - 2
fs-service/src/main/resources/mapper/hisStore/FsStoreProductScrmMapper.xml

@@ -68,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="precautions" column="precautions"/>
         <result property="isAudit" column="is_audit"/>
         <result property="storeId" column="store_id"/>
+        <result property="erpType" column="erp_type"/>
     </resultMap>
 
     <sql id="selectFsStoreProductVo">
@@ -78,7 +79,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                integral, product_type, prescribe_code, prescribe_spec, prescribe_factory, prescribe_name,
                is_display,tui_cate_id,company_ids,is_drug,drug_image,drug_reg_cert_no,common_name,dosage_form,
                unit_price,batch_number,mah,mah_address,manufacturer,manufacturer_address,indications,dosage,
-               adverse_reactions,contraindications,precautions,is_audit,store_id
+               adverse_reactions,contraindications,precautions,is_audit,store_id,erp_type
                from fs_store_product_scrm
     </sql>
 
@@ -90,7 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                p.integral, p.product_type, p.prescribe_code, p.prescribe_spec, p.prescribe_factory, p.prescribe_name,
                p.is_display,p.tui_cate_id,p.company_ids,p.is_drug,p.drug_image,p.drug_reg_cert_no,p.common_name,p.dosage_form,
                p.unit_price,p.batch_number,p.mah,p.mah_address,p.manufacturer,p.manufacturer_address,p.indications,p.dosage,
-               p.adverse_reactions,p.contraindications,p.precautions,p.is_audit,p.store_id
+               p.adverse_reactions,p.contraindications,p.precautions,p.is_audit,p.store_id,p.erp_type
         from fs_store_product_scrm p
         select product_id, video, image, slider_image, product_name, product_info, keyword, bar_code, cate_id, price, vip_price, ot_price, agent_price, postage, unit_name, sort, sales, stock, is_show, is_hot, is_benefit, is_best, is_new, description, create_time, update_time, is_postage, is_del, give_integral, cost, is_good, browse, code_path, temp_id, spec_type, is_integral, integral, product_type, prescribe_code, prescribe_spec, prescribe_factory, prescribe_name, is_display, tui_cate_id, company_ids, store_id, is_drug, drug_image, drug_reg_cert_no, common_name, dosage_form, unit_price, batch_number, mah, mah_address, manufacturer, manufacturer_address, indications, dosage, adverse_reactions, contraindications, precautions, is_audit from fs_store_product_scrm
     </sql>
@@ -255,6 +256,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="precautions != null and precautions != ''">precautions ,</if>
             <if test="isAudit != null and isAudit != ''">is_audit ,</if>
             <if test="storeId != null and storeId != ''">store_id ,</if>
+            <if test="erpType != null and erpType != ''">erp_type ,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="image != null and image != ''">#{image},</if>
@@ -319,6 +321,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="precautions != null and precautions != ''">#{precautions} ,</if>
             <if test="isAudit != null and isAudit != ''">#{isAudit} ,</if>
             <if test="storeId != null and storeId != ''">#{storeId} ,</if>
+            <if test="erpType != null and storeId != ''">#{erpType} ,</if>
          </trim>
     </insert>
 
@@ -387,6 +390,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="precautions != null and precautions != ''">precautions = #{precautions} ,</if>
             <if test="isAudit != null and isAudit != ''">is_audit = #{isAudit} ,</if>
             <if test="storeId != null and storeId != ''">store_id = #{storeId} ,</if>
+            <if test="erpType != null and erpType != ''">erp_type = #{erpType} ,</if>
 
         </trim>
         where product_id = #{productId}