diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java new file mode 100644 index 000000000..35438c9cd --- /dev/null +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/AdapayMemberController.java @@ -0,0 +1,32 @@ +package com.jsowell.web.controller.pile; + +import com.jsowell.adapay.dto.AdapayMemberInfoDTO; +import com.jsowell.adapay.service.AdapayMemberService; +import com.jsowell.common.core.domain.AjaxResult; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/adapay/member") +public class AdapayMemberController { + + @Autowired + private AdapayMemberService adapayMemberService; + + /** + * 创建汇付会员接口 + * http://localhost:8080/adapay/member/createAdapayMember + */ + @PostMapping("/createAdapayMember") + public AjaxResult createAdapayMember(@RequestBody AdapayMemberInfoDTO dto) { + try { + adapayMemberService.createMember(dto); + } catch (Exception e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); + } +} diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/dto/AdapayMemberInfoDTO.java b/jsowell-pile/src/main/java/com/jsowell/adapay/dto/AdapayMemberInfoDTO.java new file mode 100644 index 000000000..55f97ca49 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/dto/AdapayMemberInfoDTO.java @@ -0,0 +1,21 @@ +package com.jsowell.adapay.dto; + +import lombok.*; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class AdapayMemberInfoDTO { + // 运营商id + private String merchantId; + // 地址 + private String location; + // 电子邮箱 + private String email; + // 性别 + private String gender; + // 昵称 + private String nickname; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java index c51c24981..8d47d66ac 100644 --- a/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java +++ b/jsowell-pile/src/main/java/com/jsowell/adapay/service/AdapayMemberService.java @@ -6,11 +6,14 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.google.common.collect.Maps; import com.huifu.adapay.model.Member; +import com.jsowell.adapay.dto.AdapayMemberInfoDTO; +import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.id.IdUtils; import com.jsowell.pile.domain.AdapayMemberInfo; import com.jsowell.pile.service.AdapayMemberInfoService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.HashMap; @@ -20,6 +23,9 @@ import java.util.Map; @Service public class AdapayMemberService { + @Value("${adapay.appId}") + private String ADAPAY_APP_ID; + @Autowired private AdapayMemberInfoService adapayMemberInfoService; @@ -115,4 +121,28 @@ public class AdapayMemberService { System.out.println("=======execute list Member end======="); return member; } + + public void createMember(AdapayMemberInfoDTO dto) throws Exception { + log.info("=======execute CreateMember begin======="); + Map memberParams = Maps.newHashMap(); + memberParams.put("member_id", "AM" + IdUtils.getMemberId()); + memberParams.put("app_id", ADAPAY_APP_ID); + memberParams.put("location", dto.getLocation()); + memberParams.put("email", dto.getEmail()); + memberParams.put("gender", dto.getGender()); + memberParams.put("nickname", dto.getNickname()); + log.info("创建用户,请求参数:" + JSON.toJSONString(memberParams)); + Map member = Member.create(memberParams); + log.info("创建用户,返回参数:" + JSON.toJSONString(member)); + log.info("=======execute CreateMember end======="); + + // 创建成功保存到数据库 + if (member != null && StringUtils.equals((String)member.get("status"), "succeeded")) { + JSONObject jsonObject = JSON.parseObject(String.valueOf(member)); + ObjectMapper mapper = new ObjectMapper(); + mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); + AdapayMemberInfo adapayMemberInfo = mapper.readValue(jsonObject.toJSONString(), AdapayMemberInfo.class); + adapayMemberInfoService.insert(adapayMemberInfo); + } + } }