Jelajahi Sumber

报价次数bug修改 添加外部电网故障商业险种

785834757 1 tahun lalu
induk
melakukan
c6f1baf451
18 mengubah file dengan 129 tambahan dan 15 penghapusan
  1. 2 0
      src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java
  2. 2 0
      src/main/java/com/ydtech/modules/admin/service/SysUserService.java
  3. 5 0
      src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java
  4. 2 1
      src/main/java/com/ydtech/modules/order/components/dajia/DaJiaRequestApiComponents.java
  5. 2 2
      src/main/java/com/ydtech/modules/order/constants/QuoteNumberConstant.java
  6. 7 0
      src/main/java/com/ydtech/modules/order/controller/QuoteConfigController.java
  7. 2 0
      src/main/java/com/ydtech/modules/order/dao/SysQuoteUserConfigAppendMapper.java
  8. 1 1
      src/main/java/com/ydtech/modules/order/entity/InsBusinessInsurance.java
  9. 2 0
      src/main/java/com/ydtech/modules/order/entity/vo/QuoteDetailsQueryVo.java
  10. 6 0
      src/main/java/com/ydtech/modules/order/entity/vo/QuoteDetailsVo.java
  11. 2 0
      src/main/java/com/ydtech/modules/order/service/SysQuoteConfigService.java
  12. 1 1
      src/main/java/com/ydtech/modules/order/service/impl/DaJiaOrderServiceImpl.java
  13. 1 1
      src/main/java/com/ydtech/modules/order/service/impl/GuorenOrderApiServiceImpl.java
  14. 15 1
      src/main/java/com/ydtech/modules/order/service/impl/SysQuoteConfigServiceImpl.java
  15. 1 3
      src/main/java/com/ydtech/modules/order/service/impl/SysQuoteRedisServiceImpl.java
  16. 13 3
      src/main/resources/mapper/modules/admin/SysUserMapper.xml
  17. 1 1
      src/main/resources/mapper/modules/order/SysQuoteRecordMapper.xml
  18. 64 1
      src/main/resources/mapper/modules/order/SysQuoteUserConfigAppendMapper.xml

+ 2 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -547,6 +547,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      * @Description: 查询电销的管理人列表
      */
     List<SysUser> findDxZyUserList();
+
+    List<SysUser> selectByUserId(List<String> ids);
 }
 
 

+ 2 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -347,6 +347,8 @@ public interface SysUserService extends BaseIService<SysUser> {
     List<SysUser> findNextTreeContain(String managementSource);
 
     SysUser registerAPPUser(String phone);
+
+    List<SysUser> selectByUserId(List<String> ids);
 }
 
 

+ 5 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -2895,6 +2895,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     }
 
+    @Override
+    public List<SysUser> selectByUserId(List<String> ids) {
+        return sysUserMapper.selectByUserId(ids);
+    }
+
     /**
      * 拼接机构来源
      * @param user

+ 2 - 1
src/main/java/com/ydtech/modules/order/components/dajia/DaJiaRequestApiComponents.java

@@ -57,7 +57,8 @@ public class DaJiaRequestApiComponents {
      */
     private <Q, S> S post(Q q, TradeCode tradeCode, Class<S> tClass) throws Exception {
 
-        String url = apiComponents.getUrl() + tradeCode.getCode() + "/inf.dd";
+//        String url = apiComponents.getUrl() + tradeCode.getCode() + "/inf.dd";
+        String url = apiComponents.getUrl() + tradeCode.getCode();
 
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.setContentType(MediaType.TEXT_PLAIN);

+ 2 - 2
src/main/java/com/ydtech/modules/order/constants/QuoteNumberConstant.java

@@ -54,8 +54,8 @@ public class QuoteNumberConstant {
     @Getter
     public enum QuoteResult{
         FAIL(0,"报价失败"),
-        SUCCESS(1,"报价成功"),
-        QUOTE_NUM_NOT_ENOUGH(2,"次数不足"),;
+        SUCCESS(1,"报价成功"),;
+//        QUOTE_NUM_NOT_ENOUGH(2,"次数不足"),;
         private Integer code;
         private String desc;
         public static String getByCode(String code){

+ 7 - 0
src/main/java/com/ydtech/modules/order/controller/QuoteConfigController.java

@@ -102,6 +102,13 @@ public class QuoteConfigController extends BaseController {
         return HttpResult.ok(quoteDetails);
     }
 
+    @PostMapping(value = "getAppendUserQuoteInfo")
+    @ApiOperation(value = "增次详情")
+    public HttpResult getAppendUserQuoteInfo(@RequestBody QuoteDetailsQueryVo quoteDetailsQueryVo){
+        QuoteDetailsVo quoteDetailsVo = sysQuoteConfigService.getAppendUserQuoteInfo(quoteDetailsQueryVo.getCompanyId(),quoteDetailsQueryVo.getAgentId(),quoteDetailsQueryVo.getId());
+        return HttpResult.ok(quoteDetailsVo);
+    }
+
     @GetMapping(value = "getQuoteAction")
     @ApiModelProperty(value = "获取报价动作字典")
     public HttpResult getQuoteAction(){

+ 2 - 0
src/main/java/com/ydtech/modules/order/dao/SysQuoteUserConfigAppendMapper.java

@@ -18,4 +18,6 @@ import java.util.List;
  */
 public interface SysQuoteUserConfigAppendMapper extends BaseMapper<SysQuoteUserConfigAppend> {
     public Page<QuoteDetailsVo> getAppendUserQuote(Page page,@Param("param") QuoteDetailsQueryVo quoteDetailsQueryVo);
+
+    public QuoteDetailsVo getAppendUserQuoteInfo(@Param("companyId") String companyId,@Param("userId") String userId,@Param("id") String id);
 }

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/InsBusinessInsurance.java

@@ -69,7 +69,7 @@ public class InsBusinessInsurance implements Serializable {
     public static boolean isAdditionalInsurance(String kindCode){
         if(kindCode.equals("D3") || kindCode.equals("D4") || kindCode.equals("L") || kindCode.equals("MJ1") || kindCode.equals("MJ2") ||
         kindCode.equals("MJ3") || kindCode.equals("MJ4") || kindCode.equals("SY_FJ_YBW1") || kindCode.equals("SY_FJ_YBW2") ||
-        kindCode.equals("SY_FJ_YBW3") || kindCode.equals("BD")){
+        kindCode.equals("SY_FJ_YBW3") || kindCode.equals("BD") || kindCode.equals("SY_WBDWGZ")){
             return true;
         }
         return false;

+ 2 - 0
src/main/java/com/ydtech/modules/order/entity/vo/QuoteDetailsQueryVo.java

@@ -21,6 +21,8 @@ public class QuoteDetailsQueryVo extends PageRequest {
     @ApiModelProperty(value = "子订单号")
     private String subOrderNo;
 
+    private String id;
+
     @ApiModelProperty(value = "动作")
     private String action;
 

+ 6 - 0
src/main/java/com/ydtech/modules/order/entity/vo/QuoteDetailsVo.java

@@ -8,6 +8,9 @@ import lombok.Data;
  */
 @Data
 public class QuoteDetailsVo {
+
+    private String id;
+
     @ApiModelProperty(value = "子订单号")
     private String subOrderNo;
 
@@ -38,6 +41,9 @@ public class QuoteDetailsVo {
     @ApiModelProperty(value = "联系电话")
     private String mobile;
 
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
     @ApiModelProperty(value = "结果")
     private String result;
 

+ 2 - 0
src/main/java/com/ydtech/modules/order/service/SysQuoteConfigService.java

@@ -70,6 +70,8 @@ public interface SysQuoteConfigService extends IService<SysQuoteConfig> {
      */
     public Page<QuoteDetailsVo> getAppendUserQuote(Page page,QuoteDetailsQueryVo quoteDetailsQueryVo);
 
+    public QuoteDetailsVo getAppendUserQuoteInfo(String companyId,String userId,String id);
+
     /**
      * 根据保险公司获取今天用户追加的数据
      */

+ 1 - 1
src/main/java/com/ydtech/modules/order/service/impl/DaJiaOrderServiceImpl.java

@@ -443,7 +443,7 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
         if (!Objects.isNull(nvhlodr1001Response)) {
             insAreaCompany.setCrossInsurance(JSONArray.parseArray(JSON.toJSONString(nvhlodr1001Response.getPolicyInfos())));
         }
-        insAreaCompanyService.insertCompanyAndOrders(insAreaCompany, insAreaCompanyAccidentalDriving);
+        insAreaCompanyService.insertCompanyAndOrders(companyId,insAreaCompany, insAreaCompanyAccidentalDriving);
         quoteRespVo.setCompanyId(companyId);
         quoteRespVo.setOrderno(quoteInfoVo.getOrderNo());
         // 车船税

+ 1 - 1
src/main/java/com/ydtech/modules/order/service/impl/GuorenOrderApiServiceImpl.java

@@ -351,7 +351,7 @@ public class GuorenOrderApiServiceImpl implements GuorenOrderApiService {
         });
         sysQuoteRecordMapper.insertBatch(sysQuoteRecords);
         //刷新redis中的报价次数
-        sysQuoteRedisService.refreshQuoteNum(quoteVo.getCompanyId(),quoteVo.getUserId(),sysQuoteRecords);
+        sysQuoteRedisService.refreshQuoteNum(quoteVo.getCompanyId(),yaQuoteInfoVo.getUserid(),sysQuoteRecords);
         log.debug("--------报价结束,车牌:{},vin:{}--------------", carInfo.getLicenseNo(), carInfo.getVinNo());
         return HttpResult.ok("报价成功", quoteRespVo);
 

+ 15 - 1
src/main/java/com/ydtech/modules/order/service/impl/SysQuoteConfigServiceImpl.java

@@ -236,7 +236,7 @@ public class SysQuoteConfigServiceImpl extends ServiceImpl<SysQuoteConfigMapper,
             List<SysQuoteUser> sysQuoteUsers = sysQuoteUserMapper.selectList(new LambdaQueryWrapper<SysQuoteUser>()
                   .eq(SysQuoteUser::getConfigId, sysQuoteConfig.getId()));
             List<String> users = sysQuoteUsers.stream().map(user -> user.getUserId()).collect(Collectors.toList());
-            List<SysUser> sysUsers = sysUserService.getByIds(users);
+            List<SysUser> sysUsers = sysUserService.selectByUserId(users);
             sysQuoteConfig.setProxyList(sysUsers);
         }
         return sysQuoteConfig;
@@ -291,10 +291,20 @@ public class SysQuoteConfigServiceImpl extends ServiceImpl<SysQuoteConfigMapper,
 
     @Override
     public Page<QuoteDetailsVo> getAppendUserQuote(Page page,QuoteDetailsQueryVo quoteDetailsQueryVo) {
+        if(!Objects.isNull(quoteDetailsQueryVo.getStartTime()) && !quoteDetailsQueryVo.getStartTime().equals("")){
+            quoteDetailsQueryVo.setStartTime(quoteDetailsQueryVo.getStartTime() + " 00:00:00");
+            quoteDetailsQueryVo.setEndTime(quoteDetailsQueryVo.getEndTime() + " 23:59:59");
+        }
         Page<QuoteDetailsVo> appendUserQuote = sysQuoteUserConfigAppendMapper.getAppendUserQuote(page,quoteDetailsQueryVo);
         return appendUserQuote;
     }
 
+    @Override
+    public QuoteDetailsVo getAppendUserQuoteInfo(String companyId,String userId,String id){
+        QuoteDetailsVo appendUserQuoteInfo = sysQuoteUserConfigAppendMapper.getAppendUserQuoteInfo(companyId, userId, id);
+        return appendUserQuoteInfo;
+    }
+
     /**
      * 根据保险公司获取今天用户追加的数据
      */
@@ -309,6 +319,10 @@ public class SysQuoteConfigServiceImpl extends ServiceImpl<SysQuoteConfigMapper,
 
     @Override
     public Page<QuoteDetailsVo> getQuoteRecordPage(Page page, QuoteDetailsQueryVo quoteDetailsQueryVo) {
+        if(!Objects.isNull(quoteDetailsQueryVo.getStartTime()) && !quoteDetailsQueryVo.getStartTime().equals("")){
+            quoteDetailsQueryVo.setStartTime(quoteDetailsQueryVo.getStartTime() + " 00:00:00");
+            quoteDetailsQueryVo.setEndTime(quoteDetailsQueryVo.getEndTime() + " 23:59:59");
+        }
         if(quoteDetailsQueryVo.getDeptId() == null) {
             quoteDetailsQueryVo.setDeptId(BaseController.getDeptId());
         }

+ 1 - 3
src/main/java/com/ydtech/modules/order/service/impl/SysQuoteRedisServiceImpl.java

@@ -384,10 +384,8 @@ public class SysQuoteRedisServiceImpl implements SysQuoteRedisService {
     public void refreshQuoteNum(String companyId, String userId, List<SysQuoteRecord> sysQuoteRecords) {
         String licenseNo = sysQuoteRecords.get(0).getLicenseNo();
         QuoteNumRedisVo quoteNumberRedisData = getQuoteNumberRedisData(userId);
-        QuoteNumRedisVo.QuoteNumberCompanyVo quoteNumberCompanyVo = quoteNumberRedisData.getQuoteCompanyList().stream()
-                .filter(company -> company.getCompanyId().equals(companyId)).findFirst().orElse(null);
 
-        if(!Objects.isNull(quoteNumberCompanyVo)){
+        if(quoteNumberRedisData.getQuoteCompanyList().stream().anyMatch(company -> company.getCompanyId().equals(companyId))){
             quoteNumberRedisData.getQuoteCompanyList().forEach(item->{
                 if(item.getCompanyId().equals(companyId)){
                     item.setDayMaxQuoteNum(item.getDayMaxQuoteNum() + sysQuoteRecords.size());

+ 13 - 3
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -60,6 +60,9 @@
             <if test="sysUser.roleId != null &amp;&amp; sysUser.roleId != ''">
                 and sur.role_id = #{sysUser.roleId}
             </if>
+            <if test="sysUser.deptId != null &amp;&amp; sysUser.deptId != ''">
+                and su.dept_id = #{sysUser.deptId}
+            </if>
 
             <if test="sysUser.status != null">
                 and su.status = #{sysUser.status}
@@ -102,9 +105,7 @@
     <select id="selectUserPage" resultMap="sysUserMap">
         select
         <include refid="Sys_User_Column_List"/>
-        <if test="sysUser.deptName == null || sysUser.deptName == ''">
-            <include refid="Sys_User_Where_Clause"></include>
-        </if>
+        <include refid="Sys_User_Where_Clause"></include>
 
          <if test="sysUser.deptName != null &amp;&amp; sysUser.deptName != ''">
             <include refid="Sys_User_Where_Clause_deptName"></include>
@@ -2092,4 +2093,13 @@
           AND t1.id LIKE '%M%'
           AND t2.management_source = 3
     </select>
+    
+    <select id="selectByUserId" resultType="com.ydtech.modules.admin.model.SysUser">
+        SELECT su.*,sd.name as dept_name
+        from sys_user su left join sys_dept sd on su.dept_id = sd.id
+        where 1 = 1
+        <foreach collection="ids" item="item" open="and" separator="or">
+            su.id = #{item}
+        </foreach>
+    </select>
 </mapper>

+ 1 - 1
src/main/resources/mapper/modules/order/SysQuoteRecordMapper.xml

@@ -55,7 +55,7 @@
                 AND sqr.result = #{param.result}
             </if>
             <if test="param.agent != null and param.agent != ''">
-                AND sqr.agent = #{param.agent}
+                AND sqr.user_id = #{param.agent}
             </if>
             <if test="param.operator != null and param.operator != ''">
                 AND sqr.operator = #{param.operator}

+ 64 - 1
src/main/resources/mapper/modules/order/SysQuoteUserConfigAppendMapper.xml

@@ -7,7 +7,7 @@
     <select id="getAppendUserQuote" resultType="com.ydtech.modules.order.entity.vo.QuoteDetailsVo">
         SELECT
             eic.namesimple as company,
-            sd.id,
+            squca.id,
             sd.name as dept_name,
             sd.id as dept_id,
             su.name,
@@ -37,4 +37,67 @@
             squca.create_time DESC
     </select>
 
+    <select id="getAppendUserQuoteInfo" resultType="com.ydtech.modules.order.entity.vo.QuoteDetailsVo">
+        SELECT
+            squca.*,
+            eic.namesimple as company,
+            su.name,
+            sd.name as dept_name,
+            jrbj.numCount,
+            jrcb.dayCoverOrder,
+            COALESCE((COALESCE(dayCoverOrder, 0) / NULLIF(dayAllOrder, 0)), 0) * 100 AS rate
+        FROM
+            sys_quote_user_config_append squca
+                LEFT JOIN (
+                -- 今日已承保
+                SELECT
+                    COUNT(*) AS dayCoverOrder
+                FROM
+                    sys_quote_record sqr
+                        LEFT JOIN
+                    ins_area_company iac ON iac.id = sqr.sub_order_no
+                WHERE
+                    user_id = #{userId}
+                  AND sqr.company_id = #{companyId}
+                  AND orderstatus = 3
+                  AND DATE(create_time) = CURRENT_DATE
+            ) jrcb ON 1 = 1
+                LEFT JOIN (
+                -- 今日已报价
+                SELECT
+                    COUNT(*) AS numCount
+                FROM
+                    sys_quote_record sqr
+                WHERE
+                    user_id = #{userId}
+                  AND sqr.company_id = #{companyId}
+                  AND DATE(create_time) = CURRENT_DATE
+            ) jrbj ON 1 = 1
+                LEFT JOIN (
+                -- 今日已报价单的订单号
+                SELECT
+                    COUNT(*) AS dayAllOrder
+                FROM (
+                         SELECT
+                             sub_order_no
+                         FROM
+                             sys_quote_record sqr
+                         WHERE
+                             user_id = #{userId}
+                           AND sqr.company_id = #{companyId}
+                           AND DATE(create_time) = CURRENT_DATE
+                         GROUP BY
+                             sub_order_no
+                     ) grouped_sub_orders
+            ) jrbjdd ON 1 = 1
+                left join sys_user su on squca.user_id = su.id
+                left join sys_dept sd on su.dept_id = sd.id
+                left join esm_ins_company eic on eic.id = squca.company_id
+        WHERE
+            squca.user_id = #{userId}
+          AND squca.company_id = #{companyId}
+          AND DATE(squca.create_time) = CURRENT_DATE
+        AND squca.id = #{id}
+    </select>
+
 </mapper>