diff --git a/mallinkBApi/src/main/java/com/iformall/controller/EnumController.java b/mallinkBApi/src/main/java/com/iformall/controller/EnumController.java new file mode 100644 index 000000000..f1ff79510 --- /dev/null +++ b/mallinkBApi/src/main/java/com/iformall/controller/EnumController.java @@ -0,0 +1,77 @@ +package com.iformall.controller; + +import com.alibaba.fastjson.JSON; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.enums.EnumSharingReceiverQualificationGth; +import com.iformall.enums.EnumSharingReceiverQualificationQy; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("enum") +@Api(description="枚举接口") +public class EnumController { + + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @ApiOperation(value="获取枚举对象", notes="根据获取枚举类名获取枚举对象") + @GetMapping("/getEnum/{type}") + public ResultData getEnum(@PathVariable("type") String type) { + if(StringUtils.isBlank(type)){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + String className = "com.iformall.enums." + type; + List> list = new ArrayList>(); + try { + // 1.得到枚举类对象 + Class clz = (Class) Class.forName(className); + // 2.得到所有枚举常量 + Object[] objects = clz.getEnumConstants(); + Method getCode = clz.getMethod("getCode"); + Method getMessage = clz.getMethod("getMessage"); + Map map = null; + for (Object obj : objects) { + map = new HashMap(); + map.put("code", getCode.invoke(obj).toString()); + map.put("message", getMessage.invoke(obj).toString()); + list.add(map); + } + } catch (Exception e) { + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"数据不存在"); + } + if(list.size() == 0){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"数据不存在"); + } + return new ResultData(list); + + } + + + @ApiOperation(value="个体户行业属性及特殊资质", notes="个体户行业属性及特殊资质") + @GetMapping("/getQualificationGth") + public ResultData getQualificationGth() { + return new ResultData(EnumSharingReceiverQualificationGth.getList()); + } + + @ApiOperation(value="企业属性及特殊资质", notes="企业属性及特殊资质") + @GetMapping("/getQualificationQy") + public ResultData getQualificationQy() { + return new ResultData(EnumSharingReceiverQualificationQy.getList()); + + } + +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationGth.java b/mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationGth.java index 7b1713cd2..86fe121ea 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationGth.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationGth.java @@ -1,5 +1,9 @@ package com.iformall.enums; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + /** * 个体户行业属性及特殊资质 */ @@ -83,4 +87,18 @@ public enum EnumSharingReceiverQualificationGth { public String getMessage() { return message; } + + public static List> getList(){ + List> list = new ArrayList<>(); + for (EnumSharingReceiverQualificationGth value : values()) { + HashMap map = new HashMap<>(); + map.put("code",value.getCode()); + map.put("settlementId",value.getSettlementId()); + map.put("name",value.getName()); + map.put("flag",value.isFlag()); + map.put("message",value.getMessage()); + list.add(map); + } + return list; + } } diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationQy.java b/mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationQy.java index 2cafa49ba..45b5f9ae7 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationQy.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumSharingReceiverQualificationQy.java @@ -1,5 +1,9 @@ package com.iformall.enums; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + /** * 企业行业属性及特殊资质 */ @@ -83,4 +87,18 @@ public enum EnumSharingReceiverQualificationQy { public String getMessage() { return message; } + + public static List> getList(){ + List> list = new ArrayList<>(); + for (EnumSharingReceiverQualificationQy value : values()) { + HashMap map = new HashMap<>(); + map.put("code",value.getCode()); + map.put("settlementId",value.getSettlementId()); + map.put("name",value.getName()); + map.put("flag",value.isFlag()); + map.put("message",value.getMessage()); + list.add(map); + } + return list; + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java index d7dc78ffd..a0425a05a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingReceiverApplyServiceImpl.java @@ -55,7 +55,7 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR WxProfitSharingReceiverApply receiverApply = this.selectByPlat(tenantEntity, merchantId, plat); if(receiverApply != null){ receiverApply.setFinishMain(this.isFinishMain(receiverApply)); - receiverApply.setFinishBusiness(this.isFinishBankAccount(receiverApply)); + receiverApply.setFinishBusiness(this.isFinishBusiness(receiverApply)); receiverApply.setFinishSettlement(this.isFinishSettlement(receiverApply)); receiverApply.setFinishBankAccount(this.isFinishBankAccount(receiverApply)); receiverApply.setFinishContact(this.isFinishContact(receiverApply)); @@ -459,11 +459,40 @@ public class WxProfitSharingReceiverApplyServiceImpl implements WxProfitSharingR logger.info("未填写入驻结算规则ID"); return false; } + String qualification_type = settlementInfoObject.getString("qualification_type"); if(StringUtils.isBlank(qualification_type)){ logger.info("未填写所属行业"); return false; } + Integer qualification_id = settlementInfoObject.getInteger("qualification_id"); + if(EnumSharingReceiverOrganizationType.GETI.equals(enumOrganizationType)){ + EnumSharingReceiverQualificationGth enumQualificationGth = EnumSharingReceiverQualificationGth.getEnum(qualification_id); + if(enumQualificationGth == null){ + logger.info("未选择所属行业"); + return false; + } + if(enumQualificationGth.isFlag()){ + JSONArray qualifications = settlementInfoObject.getJSONArray("qualifications"); + if(qualifications == null || qualifications.isEmpty()){ + logger.info("未上传必要资质["+enumQualificationGth.getMessage()+"]"); + return false; + } + } + }else if(EnumSharingReceiverOrganizationType.QIYE.equals(enumOrganizationType)){ + EnumSharingReceiverQualificationQy enumQualificationQy = EnumSharingReceiverQualificationQy.getEnum(qualification_id); + if(enumQualificationQy == null){ + logger.info("未选择所属行业"); + return false; + } + if(enumQualificationQy.isFlag()){ + JSONArray qualifications = settlementInfoObject.getJSONArray("qualifications"); + if(qualifications == null || qualifications.isEmpty()){ + logger.info("未上传必要资质["+enumQualificationQy.getMessage()+"]"); + return false; + } + } + } return true; }