Ver Fonte

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

liyuan há 1 semana atrás
pai
commit
21f1da7ff9
30 ficheiros alterados com 238 adições e 189 exclusões
  1. 1 1
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/claim/entity/BladeClaimAudit.java
  2. 20 2
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/corps/entity/PjCorpsDesc.java
  3. 1 1
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/corps/vo/CorpsTypeDescVO.java
  4. 3 3
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/imageStore/entity/BladeImageStoreApply.java
  5. 1 1
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/notice/entity/BladeNoticeCategory.java
  6. 2 2
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/survey/entity/BladeSurvey.java
  7. 2 2
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/survey/entity/BladeSurveyQuestion.java
  8. 1 1
      blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/survey/entity/BladeSurveyResult.java
  9. 1 1
      blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/claim/entity/AppClaimAudit.java
  10. 7 0
      blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/entity/AppCorpsLabel.java
  11. 19 2
      blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/entity/AppPjCorpsDesc.java
  12. 0 1
      blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/entity/AppPjCorpsType.java
  13. 10 0
      blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/vo/AppCorpsDescVO.java
  14. 1 1
      blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/vo/AppCorpsTypeDescVO.java
  15. 1 0
      blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java
  16. 1 1
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/claim/service/impl/BladeClaimServiceImpl.java
  17. 11 0
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/corp/service/impl/CorpsDescServiceImpl.java
  18. 1 1
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/lead/service/impl/BladeSalesLeadServiceImpl.java
  19. 0 1
      blade-service/gubersail-dealer-app/pom.xml
  20. 4 0
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/GubersailDealerAppApplication.java
  21. 0 31
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/claim/controller/AppClaimController.java
  22. 3 2
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/claim/service/impl/AppClaimServiceImpl.java
  23. 0 31
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/controller/BladeComplaintController.java
  24. 1 1
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/mapper/AppComplaintAttachmentMapper.xml
  25. 1 1
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/mapper/AppComplaintMapper.xml
  26. 1 1
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/mapper/AppComplaintReplyMapper.xml
  27. 1 0
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/service/impl/AppComplaintServiceImpl.java
  28. 77 97
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/controller/AppCorpsDescController.java
  29. 16 4
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/service/impl/AppCorpsDescServiceImpl.java
  30. 51 0
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/wrapper/AppCorpsWrapper.java

+ 1 - 1
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/claim/entity/BladeClaimAudit.java

@@ -102,7 +102,7 @@ public class BladeClaimAudit implements Serializable {
 	 * 申诉状态 0无申诉 1申诉中 2已处理
 	 */
 	@ApiModelProperty(value = "申诉状态 0无申诉 1申诉中 2已处理")
-	private Boolean appealStatus;
+	private Integer appealStatus;
 	/**
 	 * 申诉处理结果
 	 */

+ 20 - 2
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/corps/entity/PjCorpsDesc.java

@@ -169,9 +169,9 @@ public class PjCorpsDesc implements Serializable {
 	private String brandName;
 
 	/**
-	 * 小程序二维码
+	 * 二维码
 	 */
-	@ApiModelProperty(value = "小程序二维码")
+	@ApiModelProperty(value = "二维码")
 	private String filePath;
 
 	/**
@@ -224,4 +224,22 @@ public class PjCorpsDesc implements Serializable {
 	@ApiModelProperty(value = "签约期限起")
 	private Date signingPeriodStart;
 
+	/**
+	 * 来源经销商id
+	 */
+	@ApiModelProperty(value = "来源经销商id")
+	private Long srcDistributorId;
+
+	/**
+	 * 来源经销商
+	 */
+	@ApiModelProperty(value = "来源经销商")
+	private String srcDistributorName;
+
+	/**
+	 * 营业执照文件地址
+	 */
+	@ApiModelProperty(value = "营业执照文件地址")
+	private String businessLicenseUrl;
+
 }

+ 1 - 1
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/corps/vo/CorpsTypeDescVO.java

@@ -21,6 +21,6 @@ public class CorpsTypeDescVO extends PjCorpsTypeDesc {
      * 是否有子孙节点
      */
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
-    private Boolean hasChildren;
+    private Integer hasChildren;
 
 }

+ 3 - 3
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/imageStore/entity/BladeImageStoreApply.java

@@ -56,7 +56,7 @@ public class BladeImageStoreApply implements Serializable {
 	* 申请方类型 1经销商 2门店
 	*/
 		@ApiModelProperty(value = "申请方类型 1经销商 2门店")
-		private Boolean applicantType;
+		private Integer applicantType;
 	/**
 	* 申请方客户ID
 	*/
@@ -117,12 +117,12 @@ public class BladeImageStoreApply implements Serializable {
 	* 是否需报销 0否 1是
 	*/
 		@ApiModelProperty(value = "是否需报销 0否 1是")
-		private Boolean needReimburse;
+		private Integer needReimburse;
 	/**
 	* 审核状态 0待提交 1待审核 2已通过 3已拒绝
 	*/
 		@ApiModelProperty(value = "审核状态 0待提交 1待审核 2已通过 3已拒绝")
-		private Boolean auditStatus;
+		private Integer auditStatus;
 	/**
 	* 核定费用
 	*/

+ 1 - 1
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/notice/entity/BladeNoticeCategory.java

@@ -78,7 +78,7 @@ public class BladeNoticeCategory implements Serializable {
 	* 是否系统内置 0可删 1保留
 	*/
 		@ApiModelProperty(value = "是否系统内置 0可删 1保留")
-		private Boolean isSystem;
+		private Integer isSystem;
 	/**
 	* 备注(系统继承)
 	*/

+ 2 - 2
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/survey/entity/BladeSurvey.java

@@ -74,12 +74,12 @@ public class BladeSurvey implements Serializable {
 	* 状态 0草稿 1已发布 2已结束
 	*/
 		@ApiModelProperty(value = "状态 0草稿 1已发布 2已结束")
-		private Boolean status;
+		private Integer status;
 	/**
 	* 是否模板 0否 1是(模板)
 	*/
 		@ApiModelProperty(value = "是否模板 0否 1是(模板)")
-		private Boolean isTemplate;
+		private Integer isTemplate;
 	/**
 	* 备注
 	*/

+ 2 - 2
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/survey/entity/BladeSurveyQuestion.java

@@ -64,12 +64,12 @@ public class BladeSurveyQuestion implements Serializable {
 	* 题型 1单选 2多选 3文本
 	*/
 		@ApiModelProperty(value = "题型 1单选 2多选 3文本")
-		private Boolean questionType;
+		private Integer questionType;
 	/**
 	* 是否必填
 	*/
 		@ApiModelProperty(value = "是否必填")
-		private Boolean isRequired;
+		private Integer isRequired;
 	/**
 	* 备注
 	*/

+ 1 - 1
blade-service-api/gubersail-dealer-admin-api/src/main/java/com/gubersail/dealer/admin/api/survey/entity/BladeSurveyResult.java

@@ -94,7 +94,7 @@ public class BladeSurveyResult implements Serializable {
 	* 是否已计入汇总 0未 1已
 	*/
 		@ApiModelProperty(value = "是否已计入汇总 0未 1已")
-		private Boolean isSynced;
+		private Integer isSynced;
 	/**
 	* 备注(系统继承)
 	*/

+ 1 - 1
blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/claim/entity/AppClaimAudit.java

@@ -102,7 +102,7 @@ public class AppClaimAudit implements Serializable {
 	 * 申诉状态 0无申诉 1申诉中 2已处理
 	 */
 	@ApiModelProperty(value = "申诉状态 0无申诉 1申诉中 2已处理")
-	private Boolean appealStatus;
+	private Integer appealStatus;
 	/**
 	 * 申诉处理结果
 	 */

+ 7 - 0
blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/entity/AppCorpsLabel.java

@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springblade.core.secure.utils.AuthUtil;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -79,5 +80,11 @@ public class AppCorpsLabel implements Serializable {
 	@ApiModelProperty(value = "标签")
 	private String label;
 
+	/**
+	 * 租户id
+	 */
+	@ApiModelProperty(value = "租户id")
+	private String tenantId;
+
 
 }

+ 19 - 2
blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/entity/AppPjCorpsDesc.java

@@ -169,9 +169,9 @@ public class AppPjCorpsDesc implements Serializable {
 	private String brandName;
 
 	/**
-	 * 小程序二维码
+	 * 二维码
 	 */
-	@ApiModelProperty(value = "小程序二维码")
+	@ApiModelProperty(value = "二维码")
 	private String filePath;
 
 	/**
@@ -224,4 +224,21 @@ public class AppPjCorpsDesc implements Serializable {
 	@ApiModelProperty(value = "签约期限起")
 	private Date signingPeriodStart;
 
+	/**
+	 * 来源经销商id
+	 */
+	@ApiModelProperty(value = "来源经销商id")
+	private Long srcDistributorId;
+
+	/**
+	 * 来源经销商
+	 */
+	@ApiModelProperty(value = "来源经销商")
+	private String srcDistributorName;
+	/**
+	 * 营业执照文件地址
+	 */
+	@ApiModelProperty(value = "营业执照文件地址")
+	private String businessLicenseUrl;
+
 }

+ 0 - 1
blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/entity/AppPjCorpsType.java

@@ -82,7 +82,6 @@ public class AppPjCorpsType implements Serializable {
 	 */
 	@ApiModelProperty(value = "租户id")
 	private String tenantId = AuthUtil.getTenantId();
-	;
 	/**
 	 * 创建人
 	 */

+ 10 - 0
blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/vo/AppCorpsDescVO.java

@@ -186,4 +186,14 @@ public class AppCorpsDescVO extends AppPjCorpsDesc {
 	 */
 	private String notPurchased;
 
+	/**
+	 * 综合检索字段
+	 */
+	private String retrieve;
+
+	/**
+	 * 列表门头照
+	 */
+	private String url;
+
 }

+ 1 - 1
blade-service-api/gubersail-dealer-app-api/src/main/java/com/gubersail/app/api/corps/vo/AppCorpsTypeDescVO.java

@@ -21,6 +21,6 @@ public class AppCorpsTypeDescVO extends AppPjCorpsTypeDesc {
      * 是否有子孙节点
      */
     @JsonInclude(JsonInclude.Include.NON_EMPTY)
-    private Boolean hasChildren;
+    private Integer hasChildren;
 
 }

+ 1 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -248,6 +248,7 @@ public class UserController {
 	@ApiOperation(value = "新增或修改", notes = "传入User")
 	public R submit(@Valid @RequestBody User user) {
 		CacheUtil.clear(USER_CACHE);
+		user.setUserTypeRole(1);
 		boolean status = userService.submit(user);
 		return R.status(status);
 	}

+ 1 - 1
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/claim/service/impl/BladeClaimServiceImpl.java

@@ -105,7 +105,7 @@ public class BladeClaimServiceImpl extends ServiceImpl<BladeClaimMapper, BladeCl
 				ViewCustomerSel customerSel = viewCustomerSelService.getOne(new LambdaQueryWrapper<ViewCustomerSel>()
 					.eq(ViewCustomerSel::getIsDeleted, 0)
 					.eq(ViewCustomerSel::getCustomerId, userR.getData().getCustomerId())
-					.last("LIMIT 1"));
+					.orderByDesc(ViewCustomerSel::getCreateTime).last("LIMIT 1"));
 				if (customerSel == null) {
 					throw new RuntimeException("未查到客户档案信息");
 				}

+ 11 - 0
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/corp/service/impl/CorpsDescServiceImpl.java

@@ -11,10 +11,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gubersail.admin.corp.mapper.CorpsDescMapper;
 import com.gubersail.admin.corp.service.ICorpsDescService;
 import com.gubersail.admin.goods.service.IBrandDescService;
+import com.gubersail.admin.zcrm.customer.service.IViewCustomerSelService;
 import com.gubersail.dealer.admin.api.corps.entity.*;
 import com.gubersail.dealer.admin.api.corps.vo.CorpsDescVO;
 import com.gubersail.dealer.admin.api.excel.CorpsDescImportExcel;
 import com.gubersail.dealer.admin.api.goods.entity.PjBrandDesc;
+import com.gubersail.dealer.admin.api.zcrm.customer.entity.ViewCustomerSel;
 import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
@@ -54,6 +56,8 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 
 	private final IBrandDescService brandDescService;
 
+	private final IViewCustomerSelService customerSelService;
+
 	@Override
 	public PjCorpsDesc getCorpsDescById(Long attnId) {
 		return baseMapper.selectById(attnId);
@@ -184,6 +188,13 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 			corpsDesc.setSalesCompanyId(Long.valueOf(AuthUtil.getDeptId()));
 			corpsDesc.setSalesCompanyName(sysClient.getDept(Long.valueOf(AuthUtil.getDeptId())).getData().getFullName());
 			corpsDesc.setEnableOrNot(1);
+			//查询当前登录人信息
+			R<User> userR = userClient.userInfoById(AuthUtil.getUserId());
+			if (!userR.isSuccess() || ObjectUtils.isNull(userR.getData())) {
+				throw new RuntimeException("未查到当前登录人用户信息");
+			}
+			corpsDesc.setSrcDistributorId(userR.getData().getId());
+			corpsDesc.setSrcDistributorName(userR.getData().getRealName());
 		} else {
 			List<Long> ids = pjCorpsDesc.stream().map(PjCorpsDesc::getId).collect(Collectors.toList());
 			if (!pjCorpsDesc.isEmpty() && !ids.contains(corpsDesc.getId())) {

+ 1 - 1
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/lead/service/impl/BladeSalesLeadServiceImpl.java

@@ -124,7 +124,7 @@ public class BladeSalesLeadServiceImpl extends ServiceImpl<BladeSalesLeadMapper,
 				ViewCustomerSel customerSel = viewCustomerSelService.getOne(new LambdaQueryWrapper<ViewCustomerSel>()
 					.eq(ViewCustomerSel::getIsDeleted, 0)
 					.eq(ViewCustomerSel::getCustomerId, userR.getData().getCustomerId())
-					.last("LIMIT 1"));
+					.orderByDesc(ViewCustomerSel::getCreateTime).last("LIMIT 1"));
 				if (customerSel == null) {
 					throw new RuntimeException("未查到客户档案信息");
 				}

+ 0 - 1
blade-service/gubersail-dealer-app/pom.xml

@@ -33,7 +33,6 @@
             <groupId>org.springblade</groupId>
             <artifactId>gubersail-dealer-app-api</artifactId>
             <version>2.8.2.RELEASE</version>
-            <scope>compile</scope>
         </dependency>
         <dependency>
             <groupId>org.springblade</groupId>

+ 4 - 0
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/GubersailDealerAppApplication.java

@@ -1,14 +1,18 @@
 package com.gubersail.app;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springblade.core.cloud.feign.EnableBladeFeign;
 import org.springblade.core.launch.BladeApplication;
 import org.springframework.cloud.client.SpringCloudApplication;
+import org.springframework.context.annotation.ComponentScan;
 
 /**
  * @author Rain
  */
 @EnableBladeFeign
 @SpringCloudApplication
+@ComponentScan(value = {"com.gubersail.app", "org.springblade.common.**"})
+@MapperScan({"com.gubersail.app.**.mapper"})
 public class GubersailDealerAppApplication {
 
 	public static void main(String[] args) {

+ 0 - 31
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/claim/controller/AppClaimController.java

@@ -137,37 +137,6 @@ public class AppClaimController extends BladeController {
 	}
 
 	/**
-	 * 自定义分页 理赔申请主表
-	 */
-	@GetMapping("/page")
-	@ApiOperationSupport(order = 3)
-	@ApiOperation(value = "分页", notes = "传入AppClaim")
-	public R<IPage<AppClaimVO>> page(AppClaimVO AppClaim, Query query) {
-		IPage<AppClaimVO> pages = bladeClaimService.selectBladeClaimPage(Condition.getPage(query), AppClaim);
-		return R.data(pages);
-	}
-
-	/**
-	 * 新增 理赔申请主表
-	 */
-	@PostMapping("/save")
-	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入AppClaim")
-	public R save(@Valid @RequestBody AppClaim bladeClaim) {
-		return R.status(bladeClaimService.save(bladeClaim));
-	}
-
-	/**
-	 * 修改 理赔申请主表
-	 */
-	@PostMapping("/update")
-	@ApiOperationSupport(order = 5)
-	@ApiOperation(value = "修改", notes = "传入bladeClaim")
-	public R update(@Valid @RequestBody AppClaim bladeClaim) {
-		return R.status(bladeClaimService.updateById(bladeClaim));
-	}
-
-	/**
 	 * 新增或修改 理赔申请主表
 	 */
 	@PostMapping("/submit")

+ 3 - 2
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/claim/service/impl/AppClaimServiceImpl.java

@@ -89,7 +89,7 @@ public class AppClaimServiceImpl extends ServiceImpl<AppClaimMapper, AppClaim> i
 			claim.setClaimNo(billNo);
 			claim.setCreateTime(new Date());
 			claim.setCreateUser(AuthUtil.getUserId());
-			claim.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+			claim.setClaimSourceType(1);
 			//查询当前登录人信息
 			R<User> userR = userClient.userInfoById(AuthUtil.getUserId());
 			if (!userR.isSuccess() || ObjectUtils.isNull(userR.getData())) {
@@ -100,12 +100,13 @@ public class AppClaimServiceImpl extends ServiceImpl<AppClaimMapper, AppClaim> i
 				claim.setSourceId(AuthUtil.getUserId());
 				claim.setSourceCode("");
 				claim.setSourceName(userR.getData().getRealName());
+				claim.setCreateDept(Long.valueOf(userR.getData().getDeptId()));
 			} else {
 				//不是管理员角色需要按照用户信息中客户id查询客户信息
 				AppViewCustomerSel customerSel = viewCustomerSelService.getOne(new LambdaQueryWrapper<AppViewCustomerSel>()
 					.eq(AppViewCustomerSel::getIsDeleted, 0)
 					.eq(AppViewCustomerSel::getCustomerId, userR.getData().getCustomerId())
-					.last("LIMIT 1"));
+					.orderByDesc(AppViewCustomerSel::getCreateTime).last("LIMIT 1"));
 				if (customerSel == null) {
 					throw new RuntimeException("未查到客户档案信息");
 				}

+ 0 - 31
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/controller/BladeComplaintController.java

@@ -138,37 +138,6 @@ public class BladeComplaintController extends BladeController {
 	}
 
 	/**
-	 * 自定义分页 投诉主表
-	 */
-	@GetMapping("/page")
-	@ApiOperationSupport(order = 3)
-	@ApiOperation(value = "分页", notes = "传入bladeComplaint")
-	public R<IPage<AppComplaintVO>> page(AppComplaintVO bladeComplaint, Query query) {
-		IPage<AppComplaintVO> pages = bladeComplaintService.selectBladeComplaintPage(Condition.getPage(query), bladeComplaint);
-		return R.data(pages);
-	}
-
-	/**
-	 * 新增 投诉主表
-	 */
-	@PostMapping("/save")
-	@ApiOperationSupport(order = 4)
-	@ApiOperation(value = "新增", notes = "传入bladeComplaint")
-	public R save(@Valid @RequestBody AppComplaint bladeComplaint) {
-		return R.status(bladeComplaintService.save(bladeComplaint));
-	}
-
-	/**
-	 * 修改 投诉主表
-	 */
-	@PostMapping("/update")
-	@ApiOperationSupport(order = 5)
-	@ApiOperation(value = "修改", notes = "传入bladeComplaint")
-	public R update(@Valid @RequestBody AppComplaint bladeComplaint) {
-		return R.status(bladeComplaintService.updateById(bladeComplaint));
-	}
-
-	/**
 	 * 新增或修改 投诉主表
 	 */
 	@PostMapping("/submit")

+ 1 - 1
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/mapper/AppComplaintAttachmentMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.gubersail.app.complaint.mapper.AppComplaintAttachmentMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="bladeComplaintAttachmentResultMap" type="com.gubersail.app.api.complaint.entity.BladeComplaintAttachment">
+    <resultMap id="bladeComplaintAttachmentResultMap" type="com.gubersail.app.api.complaint.entity.AppComplaintAttachment">
         <id column="id" property="id"/>
         <result column="complaint_id" property="complaintId"/>
         <result column="file_name" property="fileName"/>

+ 1 - 1
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/mapper/AppComplaintMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.gubersail.app.complaint.mapper.AppComplaintMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="bladeComplaintResultMap" type="com.gubersail.app.api.complaint.entity.BladeComplaint">
+    <resultMap id="bladeComplaintResultMap" type="com.gubersail.app.api.complaint.entity.AppComplaint">
         <id column="id" property="id"/>
         <result column="complaint_no" property="complaintNo"/>
         <result column="complainant_type" property="complainantType"/>

+ 1 - 1
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/mapper/AppComplaintReplyMapper.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.gubersail.app.complaint.mapper.AppComplaintReplyMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="bladeComplaintReplyResultMap" type="com.gubersail.app.api.complaint.entity.BladeComplaintReply">
+    <resultMap id="bladeComplaintReplyResultMap" type="com.gubersail.app.api.complaint.entity.AppComplaintReply">
         <id column="id" property="id"/>
         <result column="complaint_id" property="complaintId"/>
         <result column="complaint_no" property="complaintNo"/>

+ 1 - 0
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/complaint/service/impl/AppComplaintServiceImpl.java

@@ -84,6 +84,7 @@ public class AppComplaintServiceImpl extends ServiceImpl<AppComplaintMapper, App
 			complaint.setCreateTime(new Date());
 			complaint.setCreateUser(AuthUtil.getUserId());
 			complaint.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+			complaint.setComplainantType(1);
 		} else {
 			complaint.setUpdateUser(AuthUtil.getUserId());
 			complaint.setUpdateTime(new Date());

+ 77 - 97
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/controller/AppCorpsDescController.java

@@ -2,48 +2,47 @@ package com.gubersail.app.corp.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import com.gubersail.app.api.corps.entity.*;
+import com.gubersail.app.api.corps.entity.AppCorpsLabel;
+import com.gubersail.app.api.corps.entity.AppPjCorpsDesc;
+import com.gubersail.app.api.corps.entity.AppPjCorpsFiles;
+import com.gubersail.app.api.corps.entity.AppPjCorpsType;
 import com.gubersail.app.api.corps.vo.AppCorpsDescVO;
-import com.gubersail.app.corp.service.*;
+import com.gubersail.app.corp.service.IAppCorpsDescService;
+import com.gubersail.app.corp.service.IAppCorpsFilesService;
+import com.gubersail.app.corp.service.IAppCorpsLabelService;
+import com.gubersail.app.corp.service.IAppCorpsTypeService;
+import com.gubersail.app.wrapper.AppCorpsWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.common.annotation.RepeatSubmit;
-import org.springblade.common.enums.CommonEnum;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.Func;
-import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
-import java.util.Objects;
 import java.util.stream.Collectors;
 
 
 @RestController
 @AllArgsConstructor
 @RequestMapping("/corpsDesc")
-@Api(value = "客户", tags = "客户接口")
+@Api(value = "app门店", tags = "app门店接口")
 public class AppCorpsDescController extends BladeController {
 
 	private final IAppCorpsDescService corpsDescService;
-	private final IAppCorpsTypeDescService corpsTypeDescService;
 	private final IAppCorpsTypeService corpsTypeService;
-	private final IAppCorpsAttnService corpsAttnService;
-	private final IAppCorpsAddrService corpsAddrService;
+	private final IAppCorpsLabelService corpsLabelService;
+	private final IAppCorpsFilesService corpsFilesService;
 
 	/**
 	 * 详情
@@ -57,57 +56,50 @@ public class AppCorpsDescController extends BladeController {
 	}
 
 	/**
-	 * 分页
+	 * 列表-分页
 	 */
 	@GetMapping("/list")
-	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "分页", notes = "传入corpsDesc")
 	public R<IPage<AppCorpsDescVO>> list(AppCorpsDescVO corpsDesc, Query query) {
-		// 默认查有效的
-		corpsDesc.setIsDeleted(0);
-		corpsDesc.setTenantId(SecureUtil.getTenantId());
-		IPage<AppCorpsDescVO> pages = corpsDescService.selectCorpsDescPage(Condition.getPage(query), corpsDesc);
-
-		if (CollectionUtils.isNotEmpty(pages.getRecords())) {
-			List<Long> corpsIds = new ArrayList<>();
-			for (AppCorpsDescVO item : pages.getRecords()) {
-				corpsIds.add(item.getId());
-			}
-			List<AppPjCorpsTypeDesc> pjCorpsTypeDescList = corpsTypeDescService.list(new LambdaQueryWrapper<AppPjCorpsTypeDesc>()
-				.in(AppPjCorpsTypeDesc::getCorpId, corpsIds));
-			List<AppPjCorpsType> pjCorpsTypeList = new ArrayList<>();
-			if (!pjCorpsTypeDescList.isEmpty()) {
-				List<Long> typeIdList = pjCorpsTypeDescList.stream().map(AppPjCorpsTypeDesc::getCorpTypeId).collect(Collectors.toList());
-				if (!typeIdList.isEmpty()) {
-					pjCorpsTypeList = corpsTypeService.list(new LambdaQueryWrapper<AppPjCorpsType>()
-						.in(AppPjCorpsType::getId, typeIdList)
-						.eq(AppPjCorpsType::getIsDeleted, 0));
+		LambdaQueryWrapper<AppPjCorpsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(AppPjCorpsDesc::getTenantId, AuthUtil.getTenantId())
+			.eq(AppPjCorpsDesc::getIsDeleted, 0)
+			.and(ObjectUtils.isNotNull(corpsDesc.getRetrieve()),i -> i.like(AppPjCorpsDesc::getCname, corpsDesc.getRetrieve()).or()
+				.like(AppPjCorpsDesc::getTel, corpsDesc.getRetrieve()))
+			.orderByAsc(AppPjCorpsDesc::getCname);
+		if (AuthUtil.getUserRole().contains("dealer")) {
+			lambdaQueryWrapper.and(i -> i.like(AppPjCorpsDesc::getSrcDistributorId,  AuthUtil.getUserId()).or()
+				.isNull(AppPjCorpsDesc::getSrcDistributorId));
+		}
+		IPage<AppPjCorpsDesc> pages = corpsDescService.page(Condition.getPage(query), lambdaQueryWrapper);
+		IPage<AppCorpsDescVO> voPage = new Page<>();
+		if (!pages.getRecords().isEmpty()) {
+			//查询数据返回实体转换
+			voPage = AppCorpsWrapper.build().pageVO(pages);
+			List<Long> idList = pages.getRecords().stream().map(AppPjCorpsDesc::getId).collect(Collectors.toList());
+			List<AppPjCorpsFiles> filesList = corpsFilesService.list(new LambdaQueryWrapper<AppPjCorpsFiles>()
+				.eq(AppPjCorpsFiles::getTenantId, AuthUtil.getTenantId())
+				.eq(AppPjCorpsFiles::getIsDeleted, 0)
+				.in(AppPjCorpsFiles::getPid, idList)
+				.eq(AppPjCorpsFiles::getMainImage, "1"));
+			for (AppCorpsDescVO item : voPage.getRecords()) {
+				if (filesList.isEmpty()) {
+					continue;
 				}
-			}
-			for (AppCorpsDescVO item : pages.getRecords()) {
-				if (!pjCorpsTypeList.isEmpty()) {
-					List<Long> typeIds = pjCorpsTypeDescList.stream()
-						.filter(e -> e.getCorpId().equals(item.getId())).map(AppPjCorpsTypeDesc::getCorpTypeId)
-						.collect(Collectors.toList());
-					List<AppPjCorpsType> pjCorpsTypes = pjCorpsTypeList.stream()
-						.filter(e -> e.getCorpType().equals(item.getCorpType()) && typeIds.contains(e.getId()))
-						.collect(Collectors.toList());
-					if (!pjCorpsTypes.isEmpty()) {
-						String typeName = pjCorpsTypes.stream().map(AppPjCorpsType::getCname).collect(Collectors.joining(","));
-						item.setCorpsTypeName(typeName);
-					}
+				AppPjCorpsFiles files = filesList.stream().filter(e -> e.getPid().equals(item.getId())).findFirst().orElse(null);
+				if (files != null) {
+					item.setUrl(files.getUrl());
+				} else {
+					item.setUrl("");
 				}
 			}
 		}
-		return R.data(pages);
+		return R.data(voPage);
 	}
 
 	/**
 	 * 新增或修改
 	 */
 	@PostMapping("/submit")
-	@ApiOperationSupport(order = 6)
-	@ApiOperation(value = "新增或修改", notes = "传入corpsDesc")
 	@RepeatSubmit
 	public R submit(@Valid @RequestBody AppCorpsDescVO corpsDescVO) {
 		if (StringUtils.isNotBlank(corpsDescVO.getTenantId())) {
@@ -118,43 +110,11 @@ public class AppCorpsDescController extends BladeController {
 
 
 	/**
-	 * 删除
-	 */
-	@PostMapping("/remove")
-	@ApiOperationSupport(order = 7)
-	@ApiOperation(value = "删除", notes = "传入ids")
-	@Transactional(rollbackFor = Exception.class)
-	@RepeatSubmit
-	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("基础资料")) {
-			throw new RuntimeException("暂无权限,删除失败");
-		}
-		List<Long> list = Func.toLongList(ids);
-		if (!list.isEmpty()) {
-			List<AppPjCorpsAttn> corpsAttnList = corpsAttnService.list(new LambdaQueryWrapper<AppPjCorpsAttn>()
-				.in(AppPjCorpsAttn::getPid, list));
-			if (!corpsAttnList.isEmpty()) {
-				List<Long> attnIds = corpsAttnList.stream().map(AppPjCorpsAttn::getId).collect(Collectors.toList());
-				corpsAttnService.removeByIds(attnIds);
-			}
-			List<AppPjCorpsAddr> corpsAddrList = corpsAddrService.list(new LambdaQueryWrapper<AppPjCorpsAddr>()
-				.in(AppPjCorpsAddr::getPid, list));
-			if (!corpsAddrList.isEmpty()) {
-				List<Long> addrIds = corpsAddrList.stream().map(AppPjCorpsAddr::getId).collect(Collectors.toList());
-				corpsAddrService.removeByIds(addrIds);
-			}
-		}
-		return R.status(corpsDescService.removeByIds(list));
-	}
-
-	/**
-	 * 启用禁用
+	 * 审核
 	 */
-	@GetMapping("/updateEnableOrNot")
-	@ApiOperationSupport(order = 13)
-	@ApiOperation(value = "启用禁用", notes = "传入corpsDesc")
+	@PostMapping("/review")
 	@RepeatSubmit
-	public R updateEnableOrNot(AppPjCorpsDesc corpsDesc) {
+	public R review(@Valid @RequestBody AppPjCorpsDesc corpsDesc) {
 		if (corpsDesc.getId() == null) {
 			return R.fail(500, "请选择数据");
 		}
@@ -163,27 +123,47 @@ public class AppCorpsDescController extends BladeController {
 	}
 
 	/**
-	 * 下拉
+	 * 门店分类下拉
+	 */
+	@GetMapping("/selectType")
+	public R<List<AppPjCorpsType>> selectType(AppPjCorpsType corpsType) {
+		LambdaQueryWrapper<AppPjCorpsType> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(AppPjCorpsType::getTenantId, AuthUtil.getTenantId())
+			.eq(AppPjCorpsType::getIsDeleted, 0)
+			.eq(AppPjCorpsType::getSalesCompanyId, AuthUtil.getDeptId())
+			.like(ObjectUtils.isNotNull(corpsType.getCname()), AppPjCorpsType::getCname, corpsType.getCname());
+		List<AppPjCorpsType> list = corpsTypeService.list(lambdaQueryWrapper);
+		return R.data(list);
+	}
+
+	/**
+	 * 门店标签下拉
+	 */
+	@GetMapping("/selectLabel")
+	public R<List<AppCorpsLabel>> selectType(AppCorpsLabel label) {
+		LambdaQueryWrapper<AppCorpsLabel> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(AppCorpsLabel::getTenantId, AuthUtil.getTenantId())
+			.eq(AppCorpsLabel::getIsDeleted, 0)
+			.like(ObjectUtils.isNotNull(label.getLabel()), AppCorpsLabel::getLabel, label.getLabel());
+		List<AppCorpsLabel> list = corpsLabelService.list(lambdaQueryWrapper);
+		return R.data(list);
+	}
+
+	/**
+	 * 门店下拉
 	 */
 	@GetMapping("/listAll")
-	@ApiOperationSupport(order = 14)
-	@ApiOperation(value = "下拉", notes = "传入corpsDesc")
 	public R<List<AppPjCorpsDesc>> listAll(AppPjCorpsDesc corpsDesc) {
 		LambdaQueryWrapper<AppPjCorpsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(AppPjCorpsDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(AppPjCorpsDesc::getIsDeleted, 0)
 			.eq(AppPjCorpsDesc::getSalesCompanyId, AuthUtil.getDeptId())//公司
-			.apply("find_in_set(corp_type,'" + corpsDesc.getCorpType() + "')")
 			.eq(ObjectUtils.isNotNull(corpsDesc.getEnableOrNot()), AppPjCorpsDesc::getEnableOrNot, corpsDesc.getEnableOrNot())
 			.like(ObjectUtils.isNotNull(corpsDesc.getCname()), AppPjCorpsDesc::getCname, corpsDesc.getCname());
-		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")
-			&& !AuthUtil.getUserRole().contains("销售总览")) {
-			if (AuthUtil.getUserRole().contains("业务员")) {
-				lambdaQueryWrapper.eq(AppPjCorpsDesc::getSalesmanId, AuthUtil.getUserId());
-			}
+		if (AuthUtil.getUserRole().contains("dealer")) {
+			lambdaQueryWrapper.eq(AppPjCorpsDesc::getSrcDistributorId, AuthUtil.getUserId());
 		}
 		List<AppPjCorpsDesc> list = corpsDescService.list(lambdaQueryWrapper);
-
 		return R.data(list);
 	}
 

+ 16 - 4
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/service/impl/AppCorpsDescServiceImpl.java

@@ -17,6 +17,8 @@ import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.system.feign.ISysClient;
+import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -39,6 +41,7 @@ public class AppCorpsDescServiceImpl extends ServiceImpl<AppCorpsDescMapper, App
 	private final IAppCorpsTypeDescService corpsTypeDescService;//客户类别对应表
 	private final IAppCorpsTypeService corpsTypeService;//客户类别
 	private final ISysClient sysClient;
+	private final IUserClient userClient;
 
 
 	/**
@@ -54,11 +57,14 @@ public class AppCorpsDescServiceImpl extends ServiceImpl<AppCorpsDescMapper, App
 		if (desc != null) {
 			BeanUtil.copyProperties(desc, corpsDescVO);
 			//获取客户联系人
-			corpsDescVO.setCorpsAttnList(corpsAttnService.list(new QueryWrapper<AppPjCorpsAttn>().eq("pid", corpsDesc.getId()).eq("is_deleted", 0)));
+			corpsDescVO.setCorpsAttnList(corpsAttnService.list(new LambdaQueryWrapper<AppPjCorpsAttn>()
+				.eq(AppPjCorpsAttn::getPid, corpsDesc.getId()).eq(AppPjCorpsAttn::getIsDeleted, 0)));
 			//获取客户地址
-			corpsDescVO.setCorpsAddrList(corpsAddrService.list(new QueryWrapper<AppPjCorpsAddr>().eq("pid", corpsDesc.getId()).eq("is_deleted", 0)));
+			corpsDescVO.setCorpsAddrList(corpsAddrService.list(new LambdaQueryWrapper<AppPjCorpsAddr>()
+				.eq(AppPjCorpsAddr::getPid, corpsDesc.getId()).eq(AppPjCorpsAddr::getIsDeleted, 0)));
 			//获取客户附件
-			corpsDescVO.setCorpsFilesList(corpsFilesService.list(new QueryWrapper<AppPjCorpsFiles>().eq("pid", corpsDesc.getId()).eq("is_deleted", 0)));
+			corpsDescVO.setCorpsFilesList(corpsFilesService.list(new LambdaQueryWrapper<AppPjCorpsFiles>()
+				.eq(AppPjCorpsFiles::getPid, corpsDesc.getId()).eq(AppPjCorpsFiles::getIsDeleted, 0)));
 			//获取客户类别
 			List<String> longs = corpsTypeDescService.selectTypeId(corpsDesc.getId());
 			corpsDescVO.setCorpsTypeId(String.join(",", longs));
@@ -155,6 +161,13 @@ public class AppCorpsDescServiceImpl extends ServiceImpl<AppCorpsDescMapper, App
 			corpsDesc.setSalesCompanyId(Long.valueOf(AuthUtil.getDeptId()));
 			corpsDesc.setSalesCompanyName(sysClient.getDept(Long.valueOf(AuthUtil.getDeptId())).getData().getFullName());
 			corpsDesc.setEnableOrNot(1);
+			//查询当前登录人信息
+			R<User> userR = userClient.userInfoById(AuthUtil.getUserId());
+			if (!userR.isSuccess() || ObjectUtils.isNull(userR.getData())) {
+				throw new RuntimeException("未查到当前登录人用户信息");
+			}
+			corpsDesc.setSrcDistributorId(userR.getData().getId());
+			corpsDesc.setSrcDistributorName(userR.getData().getRealName());
 		} else {
 			List<Long> ids = pjCorpsDesc.stream().map(AppPjCorpsDesc::getId).collect(Collectors.toList());
 			if (!pjCorpsDesc.isEmpty() && !ids.contains(corpsDesc.getId())) {
@@ -162,7 +175,6 @@ public class AppCorpsDescServiceImpl extends ServiceImpl<AppCorpsDescMapper, App
 			}
 			corpsDesc.setTenantId(SecureUtil.getTenantId());
 			corpsDesc.setUpdateTime(date);
-			corpsDesc.setCreateDept(Long.valueOf(SecureUtil.getDeptId()));
 			corpsDesc.setUpdateUser(AuthUtil.getUserId());
 		}
 		this.saveOrUpdate(corpsDesc);

+ 51 - 0
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/wrapper/AppCorpsWrapper.java

@@ -0,0 +1,51 @@
+package com.gubersail.app.wrapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.gubersail.app.api.claim.entity.AppClaim;
+import com.gubersail.app.api.claim.vo.AppClaimVO;
+import com.gubersail.app.api.corps.entity.AppPjCorpsDesc;
+import com.gubersail.app.api.corps.vo.AppCorpsDescVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springframework.beans.BeanUtils;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @author :jixinyuan
+ * @date : 2025/9/10
+ */
+public class AppCorpsWrapper extends BaseEntityWrapper<AppPjCorpsDesc, AppCorpsDescVO> {
+
+	public static AppCorpsWrapper build() {
+		return new AppCorpsWrapper();
+	}
+
+	@Override
+	public AppCorpsDescVO entityVO(AppPjCorpsDesc entity) {
+		if (Objects.isNull(entity)) {
+			return null;
+		}
+		AppCorpsDescVO bladeClaimVO = new AppCorpsDescVO();
+		BeanUtils.copyProperties(entity, bladeClaimVO);
+		return bladeClaimVO;
+	}
+
+	public IPage<AppCorpsDescVO> pageVO(IPage<AppPjCorpsDesc> page) {
+		if (Objects.isNull(page)) {
+			return null;
+		}
+		IPage<AppCorpsDescVO> voPage = new Page<>();
+		List<AppCorpsDescVO> voList = BeanUtil.copy(page.getRecords(), AppCorpsDescVO.class);
+		voPage.setRecords(voList);
+		voPage.setPages(page.getPages());
+		voPage.setCurrent(page.getCurrent());
+		voPage.setTotal(page.getTotal());
+		voPage.setTotal(page.getTotal());
+		voPage.setSize(page.getSize());
+		return voPage;
+	}
+
+}