Jelajahi Sumber

优化用户信息表增加认领逻辑

cgp 1 bulan lalu
induk
melakukan
1b32ed4f1e

+ 21 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -30,6 +30,7 @@ import com.fs.his.param.FsStoreOrderScheduleStatisticsParam;
 import com.fs.his.service.IFsExpressService;
 import com.fs.his.service.IFsUserService;
 import com.fs.his.utils.ConfigUtil;
+import com.fs.his.utils.PhoneUtil;
 import com.fs.his.vo.FsStoreOrderScheduleStatisticsVO;
 import com.fs.hisStore.config.FsErpConfig;
 import com.fs.hisStore.domain.FsStoreOrderItemScrm;
@@ -333,10 +334,30 @@ public class FsStoreOrderScrmController extends BaseController {
         }
         param.setNotHealth(1);
         List<FsStoreOrderExportVO> list = fsStoreOrderService.selectFsStoreOrderListVOByExport(param);
+        //对于加密的电话号码需要解密后导出
+        decryptPhone(list);
         ExcelUtil<FsStoreOrderExportVO> util = new ExcelUtil<FsStoreOrderExportVO>(FsStoreOrderExportVO.class);
         return util.exportExcel(list, "订单数据");
     }
 
+    /**
+     * 导出列表号码转成明文
+     * */
+    private void decryptPhone(List<FsStoreOrderExportVO> exportVOList) {
+        for (FsStoreOrderExportVO item : exportVOList) {
+            String phone = item.getPhone();
+            //(长度大于11 且 不包含*)
+            if (StringUtils.isNotBlank(phone) && phone.length() > 11 && !phone.contains("*")) {
+                try {
+                    item.setPhone(PhoneUtil.decryptPhone(phone));
+                } catch (Exception e) {
+                    logger.error("导出明文订单手机号解密异常,导出订单id:{}",item.getId());
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
     @PreAuthorize("@ss.hasPermi('store:storeOrder:exportItems')")
     @Log(title = "订单明细导出", businessType = BusinessType.EXPORT)
     @GetMapping("/exportItems")

+ 5 - 2
fs-service/src/main/java/com/fs/his/service/impl/FsImportMemberServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fs.his.service.impl;
 
 import java.io.IOException;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -147,13 +148,15 @@ public class FsImportMemberServiceImpl extends ServiceImpl<FsImportMemberMapper,
         if (CollectionUtils.isEmpty(fsImportMembers)) {
             return 0;
         }
-
-        // 2. 将导入会员转换为销售客户对象
+        Date nowDate = DateUtils.getNowDate();
+        // 2. 将导入会员转换为销售客户对象(如果新增了额外属性,记得改一下批量新增的mapper.xml语句)
         List<FsCompanyCustomer> companyCustomers = fsImportMembers.stream().map(member -> {
             FsCompanyCustomer customer = new FsCompanyCustomer();
             customer.setCustomerName(member.getMemberName());
             customer.setPhone(member.getMemberPhone());
             customer.setAddress(member.getAddress());
+            customer.setCreateTime(nowDate);
+            customer.setImportMemberId(member.getId());
             return customer;
         }).collect(Collectors.toList());
 

+ 3 - 0
fs-service/src/main/java/com/fs/qw/domain/FsCompanyCustomer.java

@@ -80,6 +80,9 @@ public class FsCompanyCustomer extends BaseEntity {
     @Excel(name = "过敏史")
     private String allergyHistory;
 
+    /** 导入会员id*/
+    private Long importMemberId;
+
     // 分页相关
     private Integer pageNum;
     private Integer pageSize;

+ 10 - 3
fs-service/src/main/resources/mapper/qw/FsCompanyCustomerMapper.xml

@@ -25,13 +25,14 @@
         <result property="updateBy"          column="update_by"          />
         <result property="updateTime"        column="update_time"        />
         <result property="remark"            column="remark"             />
+        <result property="importMemberId"    column="import_member_id"             />
     </resultMap>
 
     <sql id="selectFsCompanyCustomerVo">
         select id, customer_name, sex, age, address, phone, filing_time,
                company_user_id, company_user_name, appointment_time, doctor_id, doctor_name,
                present_illness, current_medication, allergy_history,
-               create_by, create_time, update_by, update_time, remark, del_flag
+               create_by, create_time, update_by, update_time, remark, del_flag,import_member_id
         from fs_company_customer
     </sql>
 
@@ -56,6 +57,9 @@
         <if test="endTime != null and endTime != ''">
             and filing_time &lt;= #{endTime}
         </if>
+        <if test="importMemberId != null">
+            and import_member_id = #{importMemberId}
+        </if>
         order by filing_time desc
     </select>
 
@@ -106,6 +110,7 @@
             <if test="allergyHistory != null">allergy_history,</if>
             <if test="createBy != null">create_by,</if>
             <if test="remark != null">remark,</if>
+            <if test="importMemberId != null">import_member_id,</if>
             create_time
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
@@ -125,16 +130,17 @@
             <if test="allergyHistory != null">#{allergyHistory},</if>
             <if test="createBy != null">#{createBy},</if>
             <if test="remark != null">#{remark},</if>
+            <if test="importMemberId != null">#{importMemberId},</if>
             sysdate()
         </trim>
     </insert>
 
     <!-- 遇到重复电话直接忽略,继续插入下一条 -->
     <insert id="insertBatchFsCompanyCustomer">
-        INSERT IGNORE INTO fs_company_customer (customer_name, address, phone)
+        INSERT IGNORE INTO fs_company_customer (customer_name, address, phone,create_time,import_member_id)
         VALUES
         <foreach collection="companyCustomers" item="item" separator=",">
-            (#{item.customerName}, #{item.address}, #{item.phone})
+            (#{item.customerName}, #{item.address}, #{item.phone},#{item.createTime},#{item.importMemberId})
         </foreach>
     </insert>
 
@@ -156,6 +162,7 @@
             <if test="currentMedication != null">current_medication = #{currentMedication},</if>
             <if test="allergyHistory != null">allergy_history = #{allergyHistory},</if>
             <if test="remark != null">remark = #{remark},</if>
+            <if test="importMemberId != null">import_member_id = #{importMemberId},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             update_time = sysdate()
         </set>