Browse Source

Merge branch 'test' of http://git.tjyourong.com.cn/yumeng/RuiXuan-Cloud into test

 Conflicts:
	ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysUserMapper.java
	ruixuan-system/src/main/java/com/ruixuan/system/service/ISysUserService.java
	ruixuan-system/src/main/java/com/ruixuan/system/service/impl/SysUserServiceImpl.java
	ruixuan-system/src/main/resources/mapper/system/SysUserMapper.xml
zhaoxian 3 years ago
parent
commit
cd0191c7bf
24 changed files with 742 additions and 38 deletions
  1. 67 0
      ruixuan-admin/src/main/java/com/ruixuan/web/controller/system/SysIndustryController.java
  2. 28 8
      ruixuan-admin/src/main/java/com/ruixuan/web/controller/system/SysUserController.java
  3. 3 0
      ruixuan-framework/src/main/java/com/ruixuan/framework/config/SecurityConfig.java
  4. 40 4
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/controller/SaleClueInfoController.java
  5. 1 1
      ruixuan-salesLeads/src/main/java/com/ruixuan/salesLeads/listener/ImportExcelListener.java
  6. 16 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleClueInfoMapper.java
  7. 14 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleClueRecordInfoMapper.java
  8. 1 1
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SaleClueInfoPojo.java
  9. 1 1
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/TestPojo.java
  10. 109 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/vo/SaleRecordVo.java
  11. 39 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/vo/SaleTaskInfoVo.java
  12. 7 0
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/ISaleClueInfoService.java
  13. 123 15
      ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/impl/SaleClueInfoServiceImpl.java
  14. 3 0
      ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueDistributionInfoMapper.xml
  15. 60 0
      ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueInfoMapper.xml
  16. 61 0
      ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueRecordInfoMapper.xml
  17. 0 7
      ruixuan-system/src/main/java/com/ruixuan/system/domain/SysIndustryInfo.java
  18. 6 0
      ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysIndustryInfoMapper.java
  19. 22 0
      ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysUserMapper.java
  20. 20 0
      ruixuan-system/src/main/java/com/ruixuan/system/service/ISysIndustryService.java
  21. 6 0
      ruixuan-system/src/main/java/com/ruixuan/system/service/ISysUserService.java
  22. 61 0
      ruixuan-system/src/main/java/com/ruixuan/system/service/impl/SysIndustryServiceImpl.java
  23. 6 0
      ruixuan-system/src/main/resources/mapper/system/SysIndustryMapper.xml
  24. 48 1
      ruixuan-system/src/main/resources/mapper/system/SysUserMapper.xml

+ 67 - 0
ruixuan-admin/src/main/java/com/ruixuan/web/controller/system/SysIndustryController.java

@@ -0,0 +1,67 @@
+package com.ruixuan.web.controller.system;
+
+import com.ruixuan.common.annotation.Log;
+import com.ruixuan.common.constant.UserConstants;
+import com.ruixuan.common.core.controller.BaseController;
+import com.ruixuan.common.core.domain.AjaxResult;
+import com.ruixuan.common.core.domain.ResultResponse;
+import com.ruixuan.common.core.domain.entity.SysRole;
+import com.ruixuan.common.core.domain.entity.SysUser;
+import com.ruixuan.common.core.page.TableDataInfo;
+import com.ruixuan.common.enums.BusinessType;
+import com.ruixuan.common.utils.SecurityUtils;
+import com.ruixuan.common.utils.StringUtils;
+import com.ruixuan.common.utils.poi.ExcelUtil;
+import com.ruixuan.system.domain.SysIndustryInfo;
+import com.ruixuan.system.service.ISysIndustryService;
+import com.ruixuan.system.service.ISysPostService;
+import com.ruixuan.system.service.ISysRoleService;
+import com.ruixuan.system.service.ISysUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 用户信息
+ * 
+ * @author ruixuan
+ */
+@Api(tags = "系统设置-行业",description = "system-industry")
+@RestController
+@RequestMapping("/system/industry")
+public class SysIndustryController extends BaseController
+{
+    @Autowired
+    private ISysUserService userService;
+
+    @Autowired
+    private ISysRoleService roleService;
+
+    @Autowired
+    private ISysPostService postService;
+
+
+    @Autowired
+    private ISysIndustryService industryService;
+
+    @ApiOperation(value = "根据用户id查询用户以及角色信息",notes = "根据用户id查询用户以及角色信息")
+    @GetMapping("/getIndustryInfoList")
+    public ResultResponse<List<SysIndustryInfo>> getIndustryInfoList(){
+
+        return industryService.getIndustryInfoList();
+    }
+
+
+
+
+}

+ 28 - 8
ruixuan-admin/src/main/java/com/ruixuan/web/controller/system/SysUserController.java

@@ -1,20 +1,18 @@
 package com.ruixuan.web.controller.system;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import com.ruixuan.common.annotation.Log;
 import com.ruixuan.common.constant.UserConstants;
@@ -36,6 +34,7 @@ import com.ruixuan.system.service.ISysUserService;
  * 
  * @author ruixuan
  */
+@Api(tags = "系统设置-用户",description = "system-user")
 @RestController
 @RequestMapping("/system/user")
 public class SysUserController extends BaseController
@@ -234,4 +233,25 @@ public class SysUserController extends BaseController
         userService.insertUserAuth(userId, roleIds);
         return success();
     }
+
+
+    @ApiOperation(value = "根据用户id查询用户以及角色信息",notes = "根据用户id查询用户以及角色信息")
+    @GetMapping("/getUserRoleByUserId")
+    public AjaxResult getUserRoleByUserId( @ApiParam("用户id") @RequestParam(value = "userId")  Long userId) {
+        return AjaxResult.success("查询成功",userService.getUserRoleByUserId(userId));
+    }
+
+
+    @ApiOperation(value = "根据角色名称code查询用户信息",notes = "根据角色名称code查询用户信息-可以传入多个角色code")
+    @GetMapping("/getUserByRoleName")
+    public AjaxResult getUserByRoleName( @ApiParam("角色名称的code") @RequestParam(value = "roleName") String roleName) {
+
+        List<String> roleCodeList = Arrays.asList(StringUtils.split(roleName,","));
+
+        return AjaxResult.success("查询成功",userService.getUserByRoleName(roleCodeList));
+    }
+
+
+
+
 }

+ 3 - 0
ruixuan-framework/src/main/java/com/ruixuan/framework/config/SecurityConfig.java

@@ -117,6 +117,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                     .antMatchers("/demoController/**").permitAll()
                     .antMatchers("/sale/**").permitAll()
                     .antMatchers("/live/**").permitAll()
+                    .antMatchers("/system/user/getUserRoleByUserId").permitAll()
+                    .antMatchers("/system/user/getUserByRoleName").permitAll()
+                    .antMatchers("/system/industry/**").permitAll()
 
                 // 除上面外的所有请求全部需要鉴权认证
                 .anyRequest().authenticated()

+ 40 - 4
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/controller/SaleClueInfoController.java

@@ -9,13 +9,13 @@ import com.ruixuan.common.utils.StringUtils;
 import com.ruixuan.common.utils.file.FileTypeUtils;
 import com.ruixuan.salesLeads.listener.ImportExcelListener;
 import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
+import com.ruixuan.salesLeads.pojo.SaleClueRecordInfoPojo;
 import com.ruixuan.salesLeads.pojo.TestPojo;
+import com.ruixuan.salesLeads.pojo.vo.SaleRecordVo;
+import com.ruixuan.salesLeads.pojo.vo.SaleTaskInfoVo;
 import com.ruixuan.salesLeads.service.ISaleClueInfoService;
 import com.ruixuan.salesLeads.service.ITestService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -116,6 +116,22 @@ public class SaleClueInfoController extends BaseController {
 
 
 
+    @ApiOperation(value = "销售线索-转面销/电销",notes = "销售线索-转面销/电销")
+    @PostMapping(value = "/saleClueToOffline")
+    public ResultResponse saleClueToOffline(@ApiParam(value = "卖家id") @RequestParam(value = "sellerId") Long sellerId,
+                                            @ApiParam(value = "类型1-电销 2-面销") @RequestParam(value = "offlineSaleFlag") int offlineSaleFlag,
+                                            @ApiParam(value = "创建人id") @RequestParam(value = "createUserId") Long createUserId){
+
+        return saleClueInfoServiceImpl.saleClueToOffline(sellerId,offlineSaleFlag,createUserId);
+
+    }
+
+
+
+
+
+
+
     @ApiOperation(value = "销售线索任务列表查询",notes = "销售线索任务列表查询")
     @GetMapping(value = "/selectSaleClueTaskList")
     public ResultResponse<List<SaleClueInfoPojo>> selectSaleClueTaskList(
@@ -138,6 +154,26 @@ public class SaleClueInfoController extends BaseController {
 
 
 
+    @ApiOperation(value = "销售线索任务-回显线索详情",notes = "回显线索详情")
+    @GetMapping(value = "/getSaleTaskInfoBySellerId")
+    public ResultResponse<SaleTaskInfoVo> getSaleTaskInfoBySellerId(@ApiParam("卖家id") @RequestParam(value = "sellerId") Long sellerId){
+
+        return saleClueInfoServiceImpl.getSaleTaskInfoBySellerId(sellerId);
+
+    }
+
+
+
+    @ApiOperation(value = "销售线索任务-新增跟进记录",notes = "销售线索任务-新增跟进记录")
+    @PostMapping(value = "/insertSaleTaskRecord")
+    public ResultResponse insertSaleTaskRecord(SaleClueRecordInfoPojo recordInfoPojo){
+
+        return saleClueInfoServiceImpl.insertSaleTaskRecord(recordInfoPojo);
+
+    }
+
+
+
 
 
 

+ 1 - 1
ruixuan-salesLeads/src/main/java/com/ruixuan/salesLeads/listener/ImportExcelListener.java

@@ -17,7 +17,7 @@ import java.util.Map;
  * ***************************************************
  *
  * @Auther: zianY
- * @Descipion: TODO
+ * @Descipion: 销售线索excel 监听解析
  * @CreateDate: 2022-05-24
  * ****************************************************
  */

+ 16 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleClueInfoMapper.java

@@ -2,6 +2,7 @@ package com.ruixuan.salesLeads.mapper;
 
 import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
 import com.ruixuan.salesLeads.pojo.TestPojo;
+import com.ruixuan.salesLeads.pojo.vo.SaleRecordVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -85,6 +86,21 @@ public interface SaleClueInfoMapper {
      int selectSaleClueComplete(@Param(value = "saleId") Long saleId);
 
 
+    /**
+     * 卖家id 查询线索信息
+     * @param sellerId 卖家id
+     * @return
+     */
+     SaleRecordVo selectSaleClueInfoBySellerId(@Param(value = "sellerId") Long sellerId);
+
+    /**
+     * 修改销售线索 销售类别 电销或面销
+     * @param sellerId 卖家id
+     * @param offlineSaleFlag 类型 1-电销 2-面销
+     */
+     void updateSaleClueOfflineFlag(@Param(value = "sellerId") Long sellerId,@Param(value = "offlineSaleFlag") int offlineSaleFlag);
+
+
 
 
 

+ 14 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/mapper/SaleClueRecordInfoMapper.java

@@ -31,4 +31,18 @@ public interface SaleClueRecordInfoMapper {
      * @return
      */
     int selectSaleClueIntention(@Param(value = "saleId") Long saleId, @Param(value = "startTime")String startTime,@Param(value = "endTime")String endTime);
+
+
+    /**
+     *  卖家id 查询销售记录
+     * @param sellerId 卖家id
+     * @return
+     */
+    List<SaleClueRecordInfoPojo> selectDistributionList(@Param(value = "sellerId") Long sellerId);
+
+    /**
+     * 添加销售记录
+     * @param recordInfoPojo
+     */
+    void insertSaleRedord(SaleClueRecordInfoPojo recordInfoPojo);
 }

+ 1 - 1
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/SaleClueInfoPojo.java

@@ -76,7 +76,7 @@ public class SaleClueInfoPojo {
     @ApiModelProperty("进行状态 1-未开始 2-进行中 3-已结束")
     private int state;
 
-    @ApiModelProperty("是否转面销 0-否 1-是")
+    @ApiModelProperty("是否转面销 1-电销 2-面销")
     private int offlineSaleFlag;
 
     @ApiModelProperty("创建人")

+ 1 - 1
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/TestPojo.java

@@ -12,7 +12,7 @@ import java.util.List;
  * ***************************************************
  *
  * @Auther: zianY
- * @Descipion: demo测试
+ * @Descipion: demo-测试
  * @CreateDate: 2022-05-19
  * ****************************************************
  */

+ 109 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/vo/SaleRecordVo.java

@@ -0,0 +1,109 @@
+package com.ruixuan.salesLeads.pojo.vo;
+
+import com.ruixuan.salesLeads.pojo.SaleClueRecordInfoPojo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 销售线索信息表
+ * @CreateDate: 2022-05-24
+ * ****************************************************
+ */
+
+
+@Data
+@ApiModel(value = "saleRecordVo", description = "销售线索详情")
+public class SaleRecordVo {
+
+
+    private int id;
+
+    @ApiModelProperty("销售线索类型1:50W低潜;2:50W中高潜;3:200W高潜;4:200W-500w;5:500W")
+    private int salesLeadsType;
+
+    @ApiModelProperty("卖家id")
+    private Long sellerId;
+
+    @ApiModelProperty("'卖家昵称'")
+    private String sellerName;
+
+    @ApiModelProperty("粉丝数")
+    private Long fans;
+
+    @ApiModelProperty("所属行业")
+    private int industryId;
+    @ApiModelProperty("所属行业")
+    private String industryName;
+
+    @ApiModelProperty("常驻省份")
+    private int provinceId;
+    @ApiModelProperty("常驻省份")
+    private String provinceName;
+
+    @ApiModelProperty("常驻城市")
+    private int cityId;
+    @ApiModelProperty("常驻城市")
+    private String cityName;
+
+    @ApiModelProperty("联系方式")
+    private Long telephone;
+
+    @ApiModelProperty("卖家是否绑定服务商 0-否 1-是'")
+    private int providerFlag;
+
+    @ApiModelProperty("是否跃迁 0-否 1-是'")
+    private int transitionFlag;
+
+    @ApiModelProperty("月份")
+    private int uploadDate;
+
+    @ApiModelProperty("是否分配销售 0-否 1-是'")
+    private int distributionSaleFlag;
+
+    @ApiModelProperty("销售人员id")
+    private Long saleId;
+    @ApiModelProperty("销售人员")
+    private String saleName;
+
+    @ApiModelProperty("进行状态 1-未开始 2-进行中 3-已结束")
+    private int state;
+
+    @ApiModelProperty("是否转面销 0-否 1-是")
+    private int offlineSaleFlag;
+
+    @ApiModelProperty("创建人")
+    private Long createUserId;
+
+    @ApiModelProperty("创建时间")
+    private String createTime;
+
+    @ApiModelProperty("更新人")
+    private Long updateUserId;
+
+    @ApiModelProperty("更新时间")
+    private String updateTime;
+
+    @ApiModelProperty("'近30天'")
+    private String nearlyThirtyDays;
+
+    @ApiModelProperty("gmv月份")
+    private Long gmvMonth;
+
+    @ApiModelProperty("gmv")
+    private String gmv;
+
+    @ApiModelProperty("mtd日期")
+    private Long mtdDate;
+
+    @ApiModelProperty("mtd")
+    private String mtd;
+
+
+
+
+
+}

+ 39 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/vo/SaleTaskInfoVo.java

@@ -0,0 +1,39 @@
+package com.ruixuan.salesLeads.pojo.vo;
+
+import com.ruixuan.salesLeads.pojo.SaleClueRecordInfoPojo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 销售线索信息表
+ * @CreateDate: 2022-05-24
+ * ****************************************************
+ */
+
+
+@Data
+@ApiModel(value = "saleTaskInfoVo", description = "销售线索详情")
+public class SaleTaskInfoVo {
+
+
+    private int id;
+
+    @ApiModelProperty("销售线索详情")
+    private SaleRecordVo saleRecordVo;
+
+    @ApiModelProperty("跟进记录信息")
+    private List<SaleClueRecordInfoPojo> recordList;
+
+    @ApiModelProperty("下次跟进次数")
+    private int nextNum;
+
+
+
+
+}

+ 7 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/ISaleClueInfoService.java

@@ -2,6 +2,7 @@ package com.ruixuan.salesLeads.service;
 
 import com.ruixuan.common.core.domain.ResultResponse;
 import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
+import com.ruixuan.salesLeads.pojo.SaleClueRecordInfoPojo;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -32,4 +33,10 @@ public interface ISaleClueInfoService {
 
     ResultResponse getTaskNumber(Long userId);
 
+    ResultResponse getSaleTaskInfoBySellerId(Long sellerId);
+
+    ResultResponse insertSaleTaskRecord(SaleClueRecordInfoPojo recordInfoPojo);
+
+    ResultResponse saleClueToOffline(Long sellerId,int offlineSaleFlag,Long createUserId);
+
 }

+ 123 - 15
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/impl/SaleClueInfoServiceImpl.java

@@ -15,7 +15,10 @@ import com.ruixuan.salesLeads.mapper.SaleClueRecordInfoMapper;
 import com.ruixuan.salesLeads.mapper.SaleQuotaInfoMapper;
 import com.ruixuan.salesLeads.pojo.SaleClueDistributionInfoPojo;
 import com.ruixuan.salesLeads.pojo.SaleClueInfoPojo;
+import com.ruixuan.salesLeads.pojo.SaleClueRecordInfoPojo;
 import com.ruixuan.salesLeads.pojo.SaleQuotaInfoPojo;
+import com.ruixuan.salesLeads.pojo.vo.SaleRecordVo;
+import com.ruixuan.salesLeads.pojo.vo.SaleTaskInfoVo;
 import com.ruixuan.salesLeads.service.ISaleClueInfoService;
 import com.ruixuan.salesLeads.utils.CsvImportUtil;
 import com.ruixuan.system.domain.SysAreaInfo;
@@ -135,9 +138,9 @@ public class SaleClueInfoServiceImpl implements ISaleClueInfoService {
             clue.setSellerId(Long.valueOf(dataMap.get("sellerId")));
             clue.setSellerName(dataMap.get("sellerName"));
             clue.setFans(Long.valueOf(dataMap.get("fans")));
-            clue.setTelephone( dataMap.get("telephone").isEmpty() ? 0 : Long.valueOf(dataMap.get("telephone")));
+            clue.setTelephone(StringUtils.isEmpty(dataMap.get("telephone")) ? 0 : Long.valueOf(dataMap.get("telephone")));
             clue.setProviderFlag(dataMap.get("providerFlag").equals("否") ? 0 : 1);
-            clue.setTransitionFlag(dataMap.get("transitionFlag") == null ? 0 : Integer.valueOf(dataMap.get("transitionFlag")));
+            clue.setTransitionFlag(dataMap.get("transitionFlag").equals("否") ? 0 : 1 );
             clue.setCreateUserId(createUserId);
             //查询行业
             SysIndustryInfo industryInfo = sysIndustryInfoMapper.getIndustryInfoByName(dataMap.get("industryId"));
@@ -147,23 +150,54 @@ public class SaleClueInfoServiceImpl implements ISaleClueInfoService {
             clue.setProvinceId(areaInfo == null ? 0 : areaInfo.getParentCode());
             clue.setCityId(areaInfo == null ? 0 : areaInfo.getCode());
 
-            quota.setNearlyThirtyDays(dataMap.get("NearlyThirtyDays"));
-            quota.setGmvMonth(dataMap.get("gmvMonth") == null ? 0 : Long.valueOf(dataMap.get("gmvMonth")));
-            quota.setGmv(dataMap.get("gmv"));
+            if (StringUtils.isNotEmpty(dataMap.get("NearlyThirtyDays"))){
+                quota.setNearlyThirtyDays(dataMap.get("NearlyThirtyDays"));
+
+            }
+
+            if (StringUtils.isNotEmpty(dataMap.get("gmv"))){
+                quota.setGmvMonth(Long.valueOf(dataMap.get("gmvMonth")));
+                quota.setGmv(dataMap.get("gmv"));
+            }
+
+            if (StringUtils.isNotEmpty(dataMap.get("mtd"))){
+                quota.setMtdDate(Long.valueOf(dataMap.get("mtdDate")));
+                quota.setMtd(dataMap.get("mtd"));
+            }
+
+            if (StringUtils.isNotEmpty(dataMap.get("NearlyThirtyDays")) ||
+                    StringUtils.isNotEmpty(dataMap.get("gmv")) ||
+                    StringUtils.isNotEmpty(dataMap.get("mtd"))){
+                quota.setCreateUserId(createUserId);
+                quota.setSellerId(Long.valueOf(dataMap.get("sellerId")));
+            }
+
+
+
+            if (StringUtils.isNotNull(clue)){
+                clueList.add(clue);
+            }
+            if (StringUtils.isNotNull(quota.getSellerId())){
+                quotaList.add(quota);
+            }
+
+
 
-            quota.setMtdDate(dataMap.get("mtdDate") == null ? 0 : Long.valueOf(dataMap.get("mtdDate")));
-            quota.setMtd(dataMap.get("mtd"));
-            quota.setCreateUserId(createUserId);
-            quota.setSellerId(Long.valueOf(dataMap.get("sellerId")));
 
-            clueList.add(clue);
-            quotaList.add(quota);
         }
 
-        //销售线索
-        saleClueInfoMapper.replaceSaleClueInfoBatch(clueList);
-        //线索-额度
-        saleQuotaInfoMapper.replaceSaleQuotaInfoBatch(quotaList);
+
+        if (clueList.size() > 0){
+            //销售线索
+            saleClueInfoMapper.replaceSaleClueInfoBatch(clueList);
+        }
+        if (quotaList.size() > 0){
+            //线索-额度
+            saleQuotaInfoMapper.replaceSaleQuotaInfoBatch(quotaList);
+        }
+
+
+
 
     }
 
@@ -283,6 +317,80 @@ public class SaleClueInfoServiceImpl implements ISaleClueInfoService {
     }
 
 
+    /**
+     * 销售线索任务-回显线索详情
+     * @param sellerId
+     * @return
+     */
+    @Override
+    public ResultResponse getSaleTaskInfoBySellerId(Long sellerId){
+
+        SaleTaskInfoVo saleTaskInfoVo = new SaleTaskInfoVo();
+          //线索详情
+        SaleRecordVo saleInfo = saleClueInfoMapper.selectSaleClueInfoBySellerId(sellerId);
+         //记录信息
+        List<SaleClueRecordInfoPojo> recordList = saleClueRecordInfoMapper.selectDistributionList(sellerId);
+
+        saleTaskInfoVo.setSaleRecordVo(saleInfo);
+        saleTaskInfoVo.setRecordList(recordList);
+        saleTaskInfoVo.setNextNum(StringUtils.isEmpty(recordList) ? 1 : recordList.size()+1);
+
+        return ResultResponse.successMsg("查询成功。",saleTaskInfoVo);
+    }
+
+
+    /**
+     * 销售线索任务-新增跟进记录
+     * @param recordInfoPojo
+     * @return
+     */
+    @Override
+    public ResultResponse insertSaleTaskRecord(SaleClueRecordInfoPojo recordInfoPojo){
+
+        //新增跟进记录
+        saleClueRecordInfoMapper.insertSaleRedord(recordInfoPojo);
+
+        //修改线索状态
+        //是否继续跟进 1-继续跟进 2-意向合作 3-跟进完成无合作
+        if (recordInfoPojo.getContinueFlag() == 1){
+            //线索状态 1-未开始 2-进行中 3-已结束
+            saleClueInfoMapper.updateSaleClueState(recordInfoPojo.getSellerId(),2);
+        }
+
+        if (recordInfoPojo.getContinueFlag() == 2){
+            //意向合作 1-不合作可跟进 2-添加微信 3-操盘合作 4-服务商合作 5-金牛合作 6-无法添加微信
+            if (recordInfoPojo.getIntendedCooperation() == 1){
+                saleClueInfoMapper.updateSaleClueState(recordInfoPojo.getSellerId(),2);
+            }
+            saleClueInfoMapper.updateSaleClueState(recordInfoPojo.getSellerId(),3);
+        }
+
+        if (recordInfoPojo.getContinueFlag() == 3){
+            saleClueInfoMapper.updateSaleClueState(recordInfoPojo.getSellerId(),3);
+        }
+        return ResultResponse.successMsg("新增跟进记录成功。",null);
+    }
+
+
+
+
+
+    /**
+     *
+     * @description: 销售线索-转面销/电销
+     *
+     * @param sellerId 卖家id
+     * @param offlineSaleFlag 类型1-电销 2-面销
+     * @param createUserId
+     * @return: com.ruixuan.common.core.domain.ResultResponse
+     */
+    @Override
+    public ResultResponse saleClueToOffline(Long sellerId,int offlineSaleFlag,Long createUserId){
+        saleClueInfoMapper.updateSaleClueOfflineFlag(sellerId,offlineSaleFlag);
+        return ResultResponse.successMsg("成功。",null);
+    }
+
+
 
 
 

+ 3 - 0
ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueDistributionInfoMapper.xml

@@ -22,4 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
 
+
+
+
 </mapper> 

+ 60 - 0
ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueInfoMapper.xml

@@ -228,4 +228,64 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
 
+	<!-- 卖家id 查询销售记录信息  -->
+	<select id="selectSaleClueInfoBySellerId" resultType="com.ruixuan.salesLeads.pojo.vo.SaleRecordVo">
+		SELECT
+		s.id,
+		s.sales_leads_type,
+		s.seller_id,
+		s.seller_name,
+		s.fans,
+		s.industry_id,
+		(SELECT name from sys_industry_info i where i.id = s.industry_id) industryName,
+		s.province_id,
+		(SELECT name from sys_area_info a WHERE a.`code` = s.province_id) provinceName,
+		s.city_id,
+		(SELECT name from sys_area_info a WHERE a.`code` = s.city_id) cityName,
+		s.telephone,
+		s.provider_flag,
+		s.transition_flag,
+		s.upload_date,
+		s.distribution_sale_flag,
+		s.sale_id,
+		(SELECT u.nick_name FROM sys_user u WHERE u.user_id = s.sale_id ) saleName,
+		s.state,
+		s.offline_sale_flag,
+		s.create_user_id,
+		s.create_time,
+		q.nearly_thirty_days,
+		q.gmv_month,
+		q.gmv,
+		q.mtd_date,
+		q.mtd
+		FROM
+		sale_clue_info s
+		LEFT JOIN sale_quota_info q on s.seller_id = q.seller_id
+		<where>
+			<if test="sellerId !=null and sellerId != ''">
+				and s.seller_id = #{sellerId}
+			</if>
+		</where>
+		ORDER BY q.create_time DESC
+		limit 1
+
+	</select>
+
+
+
+	<!--  修改销售线索 销售类别 电销或面销 -->
+	<update id="updateSaleClueOfflineFlag">
+		UPDATE sale_clue_info
+		SET
+			offline_sale_flag = #{offlineSaleFlag}
+		WHERE
+			seller_id = #{sellerId}
+	</update>
+
+
+
+
+
+
+
 </mapper> 

+ 61 - 0
ruixuan-salesLeads/src/main/resources/mapper/salesLeads/SaleClueRecordInfoMapper.xml

@@ -58,5 +58,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
 
 
+	<!-- 卖家id 查询销售记录  -->
+	<select id="selectDistributionList" resultType="com.ruixuan.salesLeads.pojo.SaleClueRecordInfoPojo">
+		SELECT
+		r.id,
+		r.seller_id,
+		r.record_times,
+		r.record_script,
+		r.continue_flag,
+		r.intended_cooperation,
+		r.record_info,
+		r.remarks,
+		r.create_user_id,
+		r.create_time
+		FROM
+		sale_clue_record_info r
+		<where>
+			<if test="sellerId !=null and sellerId != ''">
+				and r.seller_id = #{sellerId}
+			</if>
+		</where>
+		ORDER BY r.record_times
+
+	</select>
+
+
+
+
+
+	<!-- 添加销售记录  -->
+	<insert id="insertSaleRedord">
+		insert into sale_clue_record_info (
+		r.seller_id,
+		r.record_times,
+		r.record_script,
+		r.continue_flag,
+		r.intended_cooperation,
+		r.record_info,
+		r.remarks,
+		r.create_user_id,
+		r.create_time)
+		values
+		(
+		 #{sellerId},
+		 #{recordTimes},
+		 #{recordScript},
+		 #{continueFlag},
+		 #{intendedCooperation},
+		 #{recordInfo},
+		 #{remarks},
+		 #{createUserId},
+		 NOW()
+		)
+
+
+	</insert>
+
+
+
+
+
+
 
 </mapper> 

+ 0 - 7
ruixuan-system/src/main/java/com/ruixuan/system/domain/SysIndustryInfo.java

@@ -9,22 +9,15 @@ package com.ruixuan.system.domain;
  * @CreateDate: 2022-05-24
  * ****************************************************
  */
-
-
-
 public class SysIndustryInfo {
 
-
     private int id;
 
-
     //父id
     private int parentId;
 
-
     //行业名称
     private String name;
-
     //排序
     private int sort;
 

+ 6 - 0
ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysIndustryInfoMapper.java

@@ -21,5 +21,11 @@ public interface SysIndustryInfoMapper{
      */
     public SysIndustryInfo getIndustryInfoByName(String name);
 
+    /**
+     * 查询全部行业
+     * @return
+     */
+    public List<SysIndustryInfo> getIndustryInfoList();
+
 
 }

+ 22 - 0
ruixuan-system/src/main/java/com/ruixuan/system/mapper/SysUserMapper.java

@@ -136,4 +136,26 @@ public interface SysUserMapper
     List<JSONObject> queryRoles(String type);
 
     List<JSONObject> queryUserByIds(@Param("userIds") List<String> userIds);
+
+
+    /**
+     * 根据用户id 查询用户和角色信息
+     * @param userId
+     * @return
+     */
+    List<JSONObject> getUserRoleByUserId(Long userId);
+
+    /**
+     * 根据角色名称 查询用户信息
+     * @param roleCodeList
+     * @return
+     */
+    List<JSONObject> getUserByRoleName(@Param("roleCodeList") List<String> roleCodeList);
+
+
+
+
+
+
+
 }

+ 20 - 0
ruixuan-system/src/main/java/com/ruixuan/system/service/ISysIndustryService.java

@@ -0,0 +1,20 @@
+package com.ruixuan.system.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruixuan.common.core.domain.ResultResponse;
+import com.ruixuan.common.core.domain.entity.SysUser;
+
+import java.util.List;
+
+/**
+ * 行业分类
+ *
+ * @author zian Y
+ */
+public interface ISysIndustryService {
+
+
+
+    ResultResponse getIndustryInfoList();
+
+}

+ 6 - 0
ruixuan-system/src/main/java/com/ruixuan/system/service/ISysUserService.java

@@ -215,4 +215,10 @@ public interface ISysUserService
     List<JSONObject> queryRoles(String type);
 
     List<JSONObject> queryUserByIds(List<String> userIds);
+
+
+    List<JSONObject> getUserRoleByUserId(Long userId);
+
+    List<JSONObject> getUserByRoleName(List<String> roleCodeList);
+
 }

+ 61 - 0
ruixuan-system/src/main/java/com/ruixuan/system/service/impl/SysIndustryServiceImpl.java

@@ -0,0 +1,61 @@
+package com.ruixuan.system.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruixuan.common.annotation.DataScope;
+import com.ruixuan.common.constant.UserConstants;
+import com.ruixuan.common.core.domain.ResultResponse;
+import com.ruixuan.common.core.domain.entity.SysRole;
+import com.ruixuan.common.core.domain.entity.SysUser;
+import com.ruixuan.common.exception.ServiceException;
+import com.ruixuan.common.utils.SecurityUtils;
+import com.ruixuan.common.utils.StringUtils;
+import com.ruixuan.common.utils.bean.BeanValidators;
+import com.ruixuan.common.utils.spring.SpringUtils;
+import com.ruixuan.system.domain.SysIndustryInfo;
+import com.ruixuan.system.domain.SysPost;
+import com.ruixuan.system.domain.SysUserPost;
+import com.ruixuan.system.domain.SysUserRole;
+import com.ruixuan.system.mapper.*;
+import com.ruixuan.system.service.ISysConfigService;
+import com.ruixuan.system.service.ISysIndustryService;
+import com.ruixuan.system.service.ISysUserService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import javax.annotation.Resource;
+import javax.validation.Validator;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 行业分类
+ * 
+ * @author zian Y
+ */
+@Service
+public class SysIndustryServiceImpl implements ISysIndustryService
+{
+    private static final Logger log = LoggerFactory.getLogger(SysIndustryServiceImpl.class);
+
+
+    @Resource
+    private SysIndustryInfoMapper sysIndustryInfoMapper;
+
+
+    @Override
+    public ResultResponse getIndustryInfoList() {
+        List<SysIndustryInfo> list = sysIndustryInfoMapper.getIndustryInfoList();
+        return ResultResponse.successMsg("查询全部行业成功。",list);
+
+
+    }
+
+
+
+}

+ 6 - 0
ruixuan-system/src/main/resources/mapper/system/SysIndustryMapper.xml

@@ -13,5 +13,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	
 
+	<!-- 查询全部信息-->
+	<select id="getIndustryInfoList" resultType="com.ruixuan.system.domain.SysIndustryInfo">
+		select * from sys_industry_info
+	</select>
+
+
 
 </mapper> 

+ 48 - 1
ruixuan-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -307,4 +307,51 @@
             #{userId}
         </foreach>
     </select>
-</mapper> 
+
+
+
+    <!-- 根据用户id 查询用户和角色信息-->
+    <select id="getUserRoleByUserId" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+            u.*,
+            r.role_name,
+            r.role_key
+        FROM
+            sys_user u
+                LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
+                LEFT JOIN sys_role r ON r.role_id = ur.role_id
+        WHERE
+            r.del_flag = 0
+          AND u.del_flag = 0
+          AND u.STATUS = 0
+          AND u.user_id = #{userId}
+    </select>
+
+
+    <!-- 根据角色名称 查询用户信息-->
+    <select id="getUserByRoleName" resultType="com.alibaba.fastjson.JSONObject">
+        SELECT
+            u.*,
+            r.role_name,
+            r.role_key
+        FROM
+            sys_user u
+                LEFT JOIN sys_user_role ur ON ur.user_id = u.user_id
+                LEFT JOIN sys_role r ON r.role_id = ur.role_id
+        WHERE
+            r.del_flag = 0
+          AND u.del_flag = 0
+          AND u.STATUS = 0
+        <if test="roleCodeList != null and roleCodeList.size() != 0 ">
+            and r.role_key in
+            <foreach collection="roleCodeList" item="item" separator=","
+                     open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+
+    </select>
+
+
+
+</mapper>