diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/esign/controller/mobile/EsignController.java b/mall-shop/src/main/java/com/suisung/mall/shop/esign/controller/mobile/EsignController.java index ccf2fa5f..9b83ea09 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/esign/controller/mobile/EsignController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/esign/controller/mobile/EsignController.java @@ -11,45 +11,43 @@ package com.suisung.mall.shop.esign.controller.mobile; import cn.hutool.json.JSONObject; import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.service.impl.BaseControllerImpl; -import com.suisung.mall.shop.esign.service.EsignContractFillingFileService; -import com.suisung.mall.shop.esign.service.EsignContractService; import com.suisung.mall.shop.esign.service.EsignPlatformInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.http.ResponseEntity; +import org.springframework.context.annotation.Lazy; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; @Api(tags = "E签宝电子签前台控制器") @RestController @RequestMapping("/mobile/shop/esign") public class EsignController extends BaseControllerImpl { - @Resource - private EsignContractFillingFileService esignContractFillingFileService; - - @Resource - private EsignContractService esignContractService; - + @Lazy @Resource private EsignPlatformInfoService esignPlatformInfoService; - @ApiOperation(value = "区域(二级)代理商申请", notes = "区域(二级)代理商申请") - @RequestMapping(value = "/apply/agent", method = RequestMethod.POST) - public CommonResult signFlowCreateByFile(@RequestBody JSONObject paramsJSON) { - return esignContractService.signFlowCreateByFile(paramsJSON.getInt("store_id")); + + @ApiOperation(value = "区域(二级)代理商详细信息", notes = "区域(三级)代理商详细信息") + @RequestMapping(value = "/second/agent/info", method = RequestMethod.POST) + public CommonResult secondAgentInfo() { + return esignPlatformInfoService.get2ndAgentDetailByUserId(); } - @ApiOperation(value = "区域(三级)代理商详细信息", notes = "区域(三级)代理商详细信息") - @RequestMapping(value = "/agent/info", method = RequestMethod.POST) - public ResponseEntity signAsyncNotify(HttpServletRequest request, HttpServletResponse response, @RequestBody String requestBody) { - return esignContractService.signAsyncNotify(request, response, requestBody); + @ApiOperation(value = "区域(二级)代理商申请", notes = "区域(二级)代理商申请") + @RequestMapping(value = "/apply/2nd/agent", method = RequestMethod.POST) + public CommonResult apply2ndAgent(@RequestBody JSONObject paramsJSON) { + return esignPlatformInfoService.apply2ndAgent(paramsJSON); + } + + @ApiOperation(value = "区域(二级)代理商审核", notes = "区域(二级)代理商审核") + @RequestMapping(value = "/approval/2nd/agent", method = RequestMethod.POST) + public CommonResult approval2ndAgent(@RequestBody JSONObject paramsJSON) { + return esignPlatformInfoService.approval2ndAgent(paramsJSON); } } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/esign/service/EsignPlatformInfoService.java b/mall-shop/src/main/java/com/suisung/mall/shop/esign/service/EsignPlatformInfoService.java index 2bcc551f..1dc764cc 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/esign/service/EsignPlatformInfoService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/esign/service/EsignPlatformInfoService.java @@ -103,6 +103,14 @@ public interface EsignPlatformInfoService { */ String getSupplierIdByAgentId(Long agentId); + + /** + * 获取二级代理商详情 + * + * @return + */ + CommonResult get2ndAgentDetailByUserId(); + /** * 申请二级代理商 * @@ -110,4 +118,12 @@ public interface EsignPlatformInfoService { * @return */ CommonResult apply2ndAgent(JSONObject paramsJSON); + + /** + * 审批二级代理商 + * + * @param paramsJSON + * @return + */ + CommonResult approval2ndAgent(JSONObject paramsJSON); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/esign/service/impl/EsignPlatformInfoServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/esign/service/impl/EsignPlatformInfoServiceImpl.java index 14f18311..6d32b09a 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/esign/service/impl/EsignPlatformInfoServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/esign/service/impl/EsignPlatformInfoServiceImpl.java @@ -8,13 +8,17 @@ package com.suisung.mall.shop.esign.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.constant.CommonConstant; +import com.suisung.mall.common.domain.UserDto; import com.suisung.mall.common.exception.ApiException; import com.suisung.mall.common.modules.esign.EsignPlatformInfo; import com.suisung.mall.common.modules.store.ShopMchEntry; @@ -37,6 +41,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser; + @Slf4j @Service public class EsignPlatformInfoServiceImpl extends BaseServiceImpl implements EsignPlatformInfoService { @@ -49,7 +55,6 @@ public class EsignPlatformInfoServiceImpl extends BaseServiceImpl().eq(EsignPlatformInfo::getId, existingRecord.getId())); } } @@ -444,19 +460,29 @@ public class EsignPlatformInfoServiceImpl extends BaseServiceImpl queryWrapper = new LambdaQueryWrapper() + .eq(EsignPlatformInfo::getCreated_by, userDto.getId()) + .orderByAsc(EsignPlatformInfo::getId); + List records = find(queryWrapper); + if (CollUtil.isEmpty(records)) { + return CommonResult.failed("您尚未申请代理商入驻"); + } + + return CommonResult.success(records); + } + /** * 审批二级代理商 * - * @param paramsJSON 申请参数JSON + * @param paramsJSON 审核的主要信息 JSON * @return CommonResult 操作结果 */ + @Override public CommonResult approval2ndAgent(JSONObject paramsJSON) { - log.debug("[申请二级代理商] 开始处理申请,params={}", paramsJSON); - if (paramsJSON == null) { - return CommonResult.failed("缺少必要参数错误"); + log.debug("[审批二级代理商] 开始处理申请,params={}", paramsJSON); + if (paramsJSON == null || paramsJSON.isEmpty()) { + return CommonResult.failed("缺少必要参数"); + } + + Long autoId = paramsJSON.getLong("id", 0L); + if (CheckUtil.isEmpty(autoId)) { + return CommonResult.failed("缺少必要参数"); + } + + EsignPlatformInfo existsRecord = get(autoId); + if (ObjectUtil.isEmpty(existsRecord)) { + return CommonResult.failed("审核记录不存在"); } EsignPlatformInfo record = JSONUtil.toBean(paramsJSON, EsignPlatformInfo.class); - if (record == null) { - return CommonResult.failed("参数格式有误"); - } - // 校验 EsignPlatformInfo 必要关键参数 if (StrUtil.hasBlank( @@ -558,9 +629,6 @@ public class EsignPlatformInfoServiceImpl extends BaseServiceImpl