# Conflicts: # ruoyi-admin/src/main/resources/application.ymlmaster
@ -0,0 +1,91 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.applet.pojo.dto.ApiQueryIIdDTO; | |||||
import com.ruoyi.applet.utils.conf.AppletUtil; | |||||
import com.ruoyi.common.core.controller.BaseController; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | |||||
import com.ruoyi.model.domain.*; | |||||
import com.ruoyi.model.service.*; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.*; | |||||
import java.util.List; | |||||
@Api(description = "伴宠师-工作台外部") | |||||
@RestController | |||||
@RequestMapping("/applet/workIn") | |||||
public class ApiAppletHhrWorkInController extends BaseController { | |||||
@Autowired | |||||
private IIndexconfigIconService indexconfigIconService; | |||||
@Autowired | |||||
private IIndexconfigService indexConfigService; | |||||
@Autowired | |||||
private IAppUsersService appUsersService; | |||||
@Autowired | |||||
private IIndexPartnerConfigService iIndexPartnerConfigService; | |||||
//1.查询轮播图接口 | |||||
@Autowired | |||||
private IAppBannerService iAppBannerService; | |||||
@ApiOperation("轮播图列表") | |||||
@GetMapping("/bannerList") | |||||
public AjaxResult bannerList(){ | |||||
List<AppBanner> bannerList = iAppBannerService.getBannerList(); | |||||
return AjaxResult.success("轮播图列表",bannerList); | |||||
} | |||||
@ApiOperation("未加入的工作台图标配置查询") | |||||
@GetMapping("/indexConfigIco") | |||||
public AjaxResult getIndexConfigIcon(){ | |||||
List<IndexconfigIcon> indexconfigIconByIdentity = indexconfigIconService.getIndexconfigIconByIdentity(); | |||||
return AjaxResult.success(indexconfigIconByIdentity); | |||||
} | |||||
@ApiOperation("已加入的工作台图标配置查询") | |||||
@GetMapping("/indexConfig") | |||||
public TableDataInfo getIndexConfig(){ | |||||
return getDataTable(indexConfigService.getIndexconfigList()); | |||||
} | |||||
@ApiOperation("查询加入合伙人提示配置列表") | |||||
@GetMapping("/list") | |||||
public TableDataInfo list(){ | |||||
List<IndexPartnerConfig> indexPartnerConfigList = iIndexPartnerConfigService.getIndexPartnerConfigList(); | |||||
return getDataTable(indexPartnerConfigList); | |||||
} | |||||
@ApiOperation("申请加入合伙人-需要token") | |||||
@PostMapping("/joinHh") | |||||
public AjaxResult joinHh(@RequestBody ApiQueryIIdDTO dto){ | |||||
// AppUsers localAppletUser = AppletUtil.getLocalAppletUser(); | |||||
AppUsers localAppletUser = new AppUsers(); | |||||
localAppletUser.setUserId(dto.getAppUserId()); | |||||
localAppletUser.setUserHh(1); | |||||
appUsersService.updateAppUsers(localAppletUser); | |||||
return AjaxResult.success("申请成功合伙人"); | |||||
} | |||||
@ApiOperation("申请加入伴宠师-需要token") | |||||
@PostMapping("/joiBcs") | |||||
public AjaxResult joiBcs(@RequestBody ApiQueryIIdDTO dto){ | |||||
// AppUsers localAppletUser = AppletUtil.getLocalAppletUser(); | |||||
AppUsers localAppletUser = new AppUsers(); | |||||
localAppletUser.setUserId(dto.getAppUserId()); | |||||
localAppletUser.setUserBcs(1); | |||||
appUsersService.updateAppUsers(localAppletUser); | |||||
return AjaxResult.success("申请成功伴宠师"); | |||||
} | |||||
} |
@ -0,0 +1,70 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.applet.pojo.dto.ApiQueryIIdDTO; | |||||
import com.ruoyi.applet.pojo.dto.ApiQueryIIdMyUserDTO; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.model.service.IAApiAppletHhrWorkOutService; | |||||
import com.ruoyi.model.service.IAApiAppletLoginService; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.data.domain.Pageable; | |||||
import org.springframework.web.bind.annotation.*; | |||||
import javax.annotation.Resource; | |||||
@Api(description = "伴宠师-合伙人工作台内部流程") | |||||
@RestController | |||||
@RequestMapping("/applet/workOut") | |||||
public class ApiAppletHhrWorkOutController { | |||||
//伴宠师-登录相关问题 | |||||
@Resource | |||||
private IAApiAppletHhrWorkOutService apiAppletHhrWorkOutService; | |||||
//合伙人工作台 - 绑定用户基础信息 | |||||
@ApiOperation("合伙人工作台 - 绑定用户基础信息") | |||||
@GetMapping("/hhrInfo/{appUserId}") | |||||
public AjaxResult HhrInfo(@PathVariable("appUserId") Long appUserId){ | |||||
return apiAppletHhrWorkOutService.HhrInfo(appUserId); | |||||
} | |||||
//合伙人工作台 - 绑定二维码 | |||||
@ApiOperation("合伙人工作台 - 绑定二维码") | |||||
@GetMapping("/hhrCode/{appUserId}") | |||||
public AjaxResult HhrCode(@PathVariable("appUserId") Long appUserId){ | |||||
return apiAppletHhrWorkOutService.HhrCode(appUserId); | |||||
} | |||||
//合伙人工作台 - 我的用户列表 0 未下单 1已下单 | |||||
@ApiOperation("合伙人工作台 - 我的用户列表 0 未下单 1已下单") | |||||
@PostMapping("/hhrMyUserList") | |||||
public AjaxResult HhrMyUserList(@RequestBody ApiQueryIIdMyUserDTO dto, Pageable page){ | |||||
return apiAppletHhrWorkOutService.HhrMyUserList(dto.getAppUserId(),dto.getState(),page); | |||||
} | |||||
//合伙人工作台 - 根据用户标识查询用户下单详细信息 | |||||
@ApiOperation("合伙人工作台 - 根据用户标识查询用户下单详细信息") | |||||
@GetMapping("/hhrMyUserGetById/{appUserId}") | |||||
public AjaxResult HhrMyUserGetById(@PathVariable("appUserId") Long appUserId){ | |||||
return apiAppletHhrWorkOutService.HhrMyUserGetById(appUserId); | |||||
} | |||||
} |
@ -0,0 +1,28 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
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; | |||||
@Api(description = "伴宠师-我的流程") | |||||
@RestController | |||||
@RequestMapping("/applet/info") | |||||
public class ApiAppletInfoController { | |||||
} |
@ -0,0 +1,53 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.applet.pojo.dto.ApiAppletLoginDTO; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.model.service.IAApiAppletLoginService; | |||||
import com.ruoyi.model.service.IAddValueServiceService; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.*; | |||||
@Api(description = "伴宠师-登录流程") | |||||
@RestController | |||||
@RequestMapping("/applet/login") | |||||
public class ApiAppletLoginController { | |||||
//伴宠师-登录相关问题 | |||||
@Autowired | |||||
private IAApiAppletLoginService apiAppletLoginService; | |||||
//伴宠师-微信授权登录 | |||||
@ApiOperation("伴宠师-微信授权登录") | |||||
@PostMapping("/wechatLogin") | |||||
public AjaxResult wechatLogin(@RequestBody ApiAppletLoginDTO params){ | |||||
return apiAppletLoginService.wechatLogin(params); | |||||
} | |||||
//伴宠师-获取手机号码 | |||||
@ApiOperation("伴宠师-获取手机号码") | |||||
@PostMapping("/bindPhone") | |||||
public AjaxResult bindPhone(@RequestBody ApiAppletLoginDTO params){ | |||||
return apiAppletLoginService.bindPhone(params); | |||||
} | |||||
//伴宠师-登录页基础信息 | |||||
@ApiOperation("伴宠师-登录页基础信息") | |||||
@GetMapping("/loginConf") | |||||
public AjaxResult loginConf(){ | |||||
return apiAppletLoginService.loginConf(); | |||||
} | |||||
//伴宠师-获取用户基本能信息 | |||||
@ApiOperation("伴宠师-获取用户基本能信息") | |||||
@GetMapping("/getAppletUserInfo/{appUserId}") | |||||
public AjaxResult getAppletUserInfo(@PathVariable("appUserId") Long appUserId){ | |||||
return apiAppletLoginService.getAppletUserInfo(appUserId); | |||||
} | |||||
} |
@ -0,0 +1,59 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.common.core.controller.BaseController; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | |||||
import com.ruoyi.model.domain.AppTransactionDetails; | |||||
import com.ruoyi.model.service.*; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.*; | |||||
import javax.annotation.Resource; | |||||
import java.math.BigDecimal; | |||||
@Api(description = "伴宠师-钱包相关接口") | |||||
@RestController | |||||
@RequestMapping("/applet/wallet") | |||||
public class ApiAppletWalletController extends BaseController { | |||||
//钱包 | |||||
@Autowired | |||||
private IAppWalletService appWalletService; | |||||
//钱包提现配置 | |||||
@Autowired | |||||
private IAppWithdrawalConfigService appWithdrawalConfigService; | |||||
@Autowired | |||||
private IAppTransactionDetailsService appTransactionDetailsService; | |||||
@Autowired | |||||
private ITransactionDetailsService transactionDetailsService; | |||||
@ApiOperation("交易明细记录列表-这里还要改成带分页的") | |||||
@GetMapping("/getTransactionDetailsList/{transactionType}") | |||||
public TableDataInfo getTransactionDetailsList(@PathVariable Long transactionType){ | |||||
return getDataTable(transactionDetailsService.getTransactionDetailsList(transactionType)); | |||||
} | |||||
@ApiOperation("交易明细记录") | |||||
@GetMapping("/getTransactionDetails/{id}") | |||||
public TableDataInfo getAppTransactionDetailsByWid(@PathVariable Long id){ | |||||
return getDataTable(appTransactionDetailsService.getAppTransactionDetailsByWid(id)); | |||||
} | |||||
//伴宠师-用户提现 | |||||
@ApiOperation("伴宠师-用户提现") | |||||
@PostMapping("/saveMoney") | |||||
public AjaxResult saveMoney(@PathVariable BigDecimal money){ | |||||
AppTransactionDetails appTransactionDetails = new AppTransactionDetails(); | |||||
appTransactionDetails.setDetailsName("提现测试"); | |||||
appTransactionDetails.setDetailsPrice(100L); | |||||
appTransactionDetailsService.insertAppTransactionDetails(appTransactionDetails); | |||||
return AjaxResult.success("提现成功"); | |||||
} | |||||
} |
@ -1,29 +1,29 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.common.core.controller.BaseController; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | |||||
import com.ruoyi.model.domain.AppBanner; | |||||
import com.ruoyi.model.service.IAppBannerService; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.GetMapping; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | |||||
import org.springframework.web.bind.annotation.RestController; | |||||
import java.util.List; | |||||
@Api(description = "轮播图") | |||||
@RestController | |||||
@RequestMapping("/applet/banner") | |||||
public class AppletBannerController extends BaseController { | |||||
//1.查询轮播图接口 | |||||
@Autowired | |||||
private IAppBannerService iAppBannerService; | |||||
@ApiOperation("轮播图列表") | |||||
@GetMapping("/list") | |||||
public TableDataInfo list(){ | |||||
return getDataTable(iAppBannerService.getBannerList()); | |||||
} | |||||
} | |||||
//package com.ruoyi.applet.contoller; | |||||
// | |||||
//import com.ruoyi.common.core.controller.BaseController; | |||||
//import com.ruoyi.common.core.page.TableDataInfo; | |||||
//import com.ruoyi.model.domain.AppBanner; | |||||
//import com.ruoyi.model.service.IAppBannerService; | |||||
//import io.swagger.annotations.Api; | |||||
//import io.swagger.annotations.ApiOperation; | |||||
//import org.springframework.beans.factory.annotation.Autowired; | |||||
//import org.springframework.web.bind.annotation.GetMapping; | |||||
//import org.springframework.web.bind.annotation.RequestMapping; | |||||
//import org.springframework.web.bind.annotation.RestController; | |||||
// | |||||
//import java.util.List; | |||||
// | |||||
//@Api(description = "伴宠师-轮播图") | |||||
//@RestController | |||||
//@RequestMapping("/applet/banner") | |||||
//public class AppletBannerController extends BaseController { | |||||
//// //1.查询轮播图接口 | |||||
//// @Autowired | |||||
//// private IAppBannerService iAppBannerService; | |||||
//// | |||||
//// @ApiOperation("轮播图列表") | |||||
//// @GetMapping("/list") | |||||
//// public TableDataInfo list(){ | |||||
//// return getDataTable(iAppBannerService.getBannerList()); | |||||
//// } | |||||
//} |
@ -1,43 +0,0 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.common.core.controller.BaseController; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | |||||
import com.ruoyi.model.domain.Indexconfig; | |||||
import com.ruoyi.model.domain.IndexconfigIcon; | |||||
import com.ruoyi.model.service.IIndexconfigIconService; | |||||
import com.ruoyi.model.service.IIndexconfigService; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
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.util.List; | |||||
@Api(description = "工作台图标") | |||||
@RestController | |||||
@RequestMapping("/applet/indexIcon") | |||||
public class AppletIndexIconController extends BaseController { | |||||
@Autowired | |||||
private IIndexconfigIconService indexconfigIconService; | |||||
@Autowired | |||||
private IIndexconfigService indexConfigService; | |||||
@ApiOperation("未加入的工作台图标配置查询") | |||||
@GetMapping("/indexConfigIcon/{identity}") | |||||
public AjaxResult getIndexConfigIcon(@PathVariable Long identity){ | |||||
IndexconfigIcon indexconfigIconByIdentity = indexconfigIconService.getIndexconfigIconByIdentity(identity); | |||||
return AjaxResult.success(indexconfigIconByIdentity); | |||||
} | |||||
@ApiOperation("已加入的工作台图标配置查询") | |||||
@GetMapping("/indexConfig/{indexType}") | |||||
public TableDataInfo getIndexConfig(@PathVariable Long indexType){ | |||||
return getDataTable(indexConfigService.getIndexconfigList(indexType)); | |||||
} | |||||
} |
@ -1,30 +1,25 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.common.core.controller.BaseController; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | |||||
import com.ruoyi.model.domain.IndexPartnerConfig; | |||||
import com.ruoyi.model.service.IIndexPartnerConfigService; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.web.bind.annotation.GetMapping; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | |||||
import org.springframework.web.bind.annotation.RestController; | |||||
import java.util.List; | |||||
@Api(description = "加入合伙人提示配置") | |||||
@RestController | |||||
@RequestMapping("/applet/indexPartnerConfig") | |||||
public class AppletIndexPartnerConfigController extends BaseController { | |||||
@Autowired | |||||
private IIndexPartnerConfigService iIndexPartnerConfigService; | |||||
@ApiOperation("查询加入合伙人提示配置列表") | |||||
@GetMapping("/list") | |||||
public TableDataInfo list(){ | |||||
List<IndexPartnerConfig> indexPartnerConfigList = iIndexPartnerConfigService.getIndexPartnerConfigList(); | |||||
return getDataTable(indexPartnerConfigList); | |||||
} | |||||
} | |||||
//package com.ruoyi.applet.contoller; | |||||
// | |||||
//import com.ruoyi.common.core.controller.BaseController; | |||||
//import com.ruoyi.common.core.page.TableDataInfo; | |||||
//import com.ruoyi.model.domain.IndexPartnerConfig; | |||||
//import com.ruoyi.model.service.IIndexPartnerConfigService; | |||||
//import io.swagger.annotations.Api; | |||||
//import io.swagger.annotations.ApiOperation; | |||||
//import org.springframework.beans.factory.annotation.Autowired; | |||||
//import org.springframework.web.bind.annotation.GetMapping; | |||||
//import org.springframework.web.bind.annotation.RequestMapping; | |||||
//import org.springframework.web.bind.annotation.RestController; | |||||
// | |||||
//import java.util.List; | |||||
// | |||||
//@Api(description = "伴宠师-合伙人已绑定工作台") | |||||
//@RestController | |||||
//@RequestMapping("/applet/hhr") | |||||
//public class AppletIndexPartnerConfigController extends BaseController { | |||||
// | |||||
// | |||||
// | |||||
// | |||||
// | |||||
//} |
@ -1,39 +0,0 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.BeanUtils; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.data.domain.Page; | |||||
import org.springframework.data.domain.PageImpl; | |||||
import org.springframework.data.domain.Pageable; | |||||
import org.springframework.http.ResponseEntity; | |||||
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; | |||||
import java.util.ArrayList; | |||||
import java.util.HashMap; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
@Api(description = "伴宠师登录") | |||||
@RestController | |||||
@RequestMapping("/applet/login") | |||||
public class AppletLoginController { | |||||
// @Autowired | |||||
//1.微信授权登录接口 | |||||
//2.获取微信手机号接口 | |||||
//3.获取用户协议和隐私政策(用一个config拉取) | |||||
// @Aonymous | |||||
// @ApiOperation("登录接口") | |||||
// @PostMapping("/login") | |||||
// public ResponseEntity login(@RequestBody AppletLoginRequest appletLoginRequest){ | |||||
// Map<String,Object> hashMap = new HashMap(); | |||||
// hashMap.put("userInfo",appletLoginRequest); | |||||
// hashMap.put("token",123); | |||||
// return ResponseEntity.ok(hashMap); | |||||
// } | |||||
} |
@ -1,59 +0,0 @@ | |||||
package com.ruoyi.applet.contoller; | |||||
import com.ruoyi.common.core.controller.BaseController; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.common.core.page.TableDataInfo; | |||||
import com.ruoyi.model.service.IAppTransactionDetailsService; | |||||
import com.ruoyi.model.service.IAppWalletService; | |||||
import com.ruoyi.model.service.IAppWithdrawalConfigService; | |||||
import com.ruoyi.model.service.ITransactionDetailsService; | |||||
import io.swagger.annotations.Api; | |||||
import io.swagger.annotations.ApiOperation; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
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; | |||||
@Api(description = "钱包") | |||||
@RestController | |||||
@RequestMapping("/applet/wallet") | |||||
public class AppletWalletController extends BaseController { | |||||
//钱包 | |||||
@Autowired | |||||
private IAppWalletService appWalletService; | |||||
//钱包提现配置 | |||||
@Autowired | |||||
private IAppWithdrawalConfigService appWithdrawalConfigService; | |||||
@Autowired | |||||
private IAppTransactionDetailsService appTransactionDetailsService; | |||||
@ApiOperation("钱包列表") | |||||
@GetMapping("/getWalletList/{userId}") | |||||
public TableDataInfo getAppWalletByUserId(@PathVariable Long userId){ | |||||
return getDataTable(appWalletService.getAppWalletByUserId(userId)); | |||||
} | |||||
@Autowired | |||||
private ITransactionDetailsService transactionDetailsService; | |||||
@ApiOperation("交易明细记录列表") | |||||
@GetMapping("/getTransactionDetailsList") | |||||
public TableDataInfo getTransactionDetailsList(){ | |||||
return getDataTable(transactionDetailsService.getTransactionDetailsList()); | |||||
} | |||||
@ApiOperation("钱包提现规则") | |||||
@GetMapping("/getAppWithdrawal") | |||||
public AjaxResult getAppWithdrawalConfig(){ | |||||
return AjaxResult.success(appWithdrawalConfigService.getAppWithdrawalConfig()); | |||||
} | |||||
@ApiOperation("交易明细记录") | |||||
@GetMapping("/getTransactionDetails/{wid}") | |||||
public TableDataInfo getAppTransactionDetailsByWid(@PathVariable Long wid){ | |||||
return getDataTable(appTransactionDetailsService.getAppTransactionDetailsByWid(wid)); | |||||
} | |||||
} |
@ -0,0 +1,27 @@ | |||||
package com.ruoyi.applet.pojo.dto; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
@Data | |||||
public class ApiAppletLoginDTO { | |||||
/** | |||||
* 参数信息 | |||||
*/ | |||||
@ApiModelProperty(value = "参数信息") | |||||
private String code; | |||||
/** | |||||
* 用户唯一标识 | |||||
*/ | |||||
@ApiModelProperty(value = "用户唯一标识") | |||||
private String openid; | |||||
/** | |||||
* 邀请者标识 | |||||
*/ | |||||
@ApiModelProperty(value = "邀请者销售标识") | |||||
private String shareId; | |||||
} |
@ -0,0 +1,14 @@ | |||||
package com.ruoyi.applet.pojo.dto; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
@Data | |||||
public class ApiQueryIIdDTO { | |||||
/** | |||||
* 用户标识 | |||||
*/ | |||||
@ApiModelProperty(value = "用户标识") | |||||
private Long appUserId; | |||||
} |
@ -0,0 +1,21 @@ | |||||
package com.ruoyi.applet.pojo.dto; | |||||
import io.swagger.annotations.ApiModelProperty; | |||||
import lombok.Data; | |||||
@Data | |||||
public class ApiQueryIIdMyUserDTO { | |||||
/** | |||||
* 用户标识 | |||||
*/ | |||||
@ApiModelProperty(value = "用户标识") | |||||
private Long appUserId; | |||||
/** | |||||
* 状态0未下单1已下单 | |||||
*/ | |||||
@ApiModelProperty(value = "状态0未下单1已下单") | |||||
private Integer state; | |||||
} |
@ -0,0 +1,15 @@ | |||||
package com.ruoyi.applet.utils.conf; | |||||
import com.ruoyi.common.constant.Constants; | |||||
import com.ruoyi.framework.config.LocalDataUtil; | |||||
import com.ruoyi.model.domain.AppUsers; | |||||
import org.springframework.stereotype.Service; | |||||
@Service | |||||
public class AppletUtil { | |||||
public static AppUsers getLocalAppletUser() { | |||||
AppUsers user = (AppUsers) LocalDataUtil.getVar(Constants.LOGIN_APPLET_TOKEN_KEY); | |||||
return user; | |||||
} | |||||
} |
@ -0,0 +1,33 @@ | |||||
package com.ruoyi.applet.utils.wechat; | |||||
import com.alibaba.fastjson.JSONObject; | |||||
import org.apache.http.HttpEntity; | |||||
import org.apache.http.client.methods.CloseableHttpResponse; | |||||
import org.apache.http.client.methods.HttpGet; | |||||
import org.apache.http.impl.client.CloseableHttpClient; | |||||
import org.apache.http.impl.client.HttpClients; | |||||
import org.apache.http.util.EntityUtils; | |||||
import org.springframework.stereotype.Component; | |||||
@Component | |||||
public class WechatHttpConf { | |||||
public JSONObject getJSONObject(String url){ | |||||
String jsonObjectStr = null; | |||||
try { | |||||
CloseableHttpClient client = null; | |||||
CloseableHttpResponse response = null; | |||||
HttpGet httpGet = new HttpGet(url); | |||||
client = HttpClients.createDefault(); | |||||
response = client.execute(httpGet); | |||||
HttpEntity entity = response.getEntity(); | |||||
jsonObjectStr = EntityUtils.toString(entity); | |||||
} catch (Exception e) { | |||||
throw new RuntimeException("服务繁忙,稍后再试"); | |||||
} | |||||
JSONObject jsonObject = JSONObject.parseObject(jsonObjectStr); | |||||
return jsonObject; | |||||
} | |||||
} |
@ -0,0 +1,25 @@ | |||||
package com.ruoyi.model.service; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import org.springframework.data.domain.Pageable; | |||||
public interface IAApiAppletHhrWorkOutService { | |||||
//合伙人工作台 - 绑定用户基础信息 | |||||
AjaxResult HhrInfo(Long appUserId); | |||||
//合伙人工作台 - 绑定二维码 | |||||
AjaxResult HhrCode(Long appUserId); | |||||
//合伙人工作台 - 我的用户列表 0 未下单 1已下单 | |||||
AjaxResult HhrMyUserList(Long appUserId,Integer state, Pageable page); | |||||
//合伙人工作台 - 根据用户标识查询用户下单详细信息 | |||||
AjaxResult HhrMyUserGetById(Long appUserId); | |||||
} |
@ -0,0 +1,23 @@ | |||||
package com.ruoyi.model.service; | |||||
import com.ruoyi.applet.pojo.dto.ApiAppletLoginDTO; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import org.springframework.http.ResponseEntity; | |||||
import org.springframework.web.bind.annotation.PathVariable; | |||||
public interface IAApiAppletLoginService { | |||||
//伴宠师-微信授权登录 | |||||
AjaxResult wechatLogin(ApiAppletLoginDTO params); | |||||
//伴宠师-获取手机号码 | |||||
AjaxResult bindPhone(ApiAppletLoginDTO params); | |||||
//伴宠师-登录页基础信息 | |||||
AjaxResult loginConf(); | |||||
//伴宠师-获取用户基本能信息 | |||||
AjaxResult getAppletUserInfo(Long appUserId); | |||||
} |
@ -0,0 +1,4 @@ | |||||
package com.ruoyi.model.service; | |||||
public interface IApiAppletInfoService { | |||||
} |
@ -0,0 +1,135 @@ | |||||
package com.ruoyi.model.service.impl; | |||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |||||
import com.ruoyi.applet.utils.conf.AppletUtil; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.framework.web.service.TokenService; | |||||
import com.ruoyi.model.domain.AppUsers; | |||||
import com.ruoyi.model.service.IAApiAppletHhrWorkOutService; | |||||
import com.ruoyi.model.service.IAppUsersService; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.springframework.data.domain.PageImpl; | |||||
import org.springframework.data.domain.Pageable; | |||||
import org.springframework.http.ResponseEntity; | |||||
import org.springframework.stereotype.Service; | |||||
import javax.annotation.Resource; | |||||
import java.util.Date; | |||||
import java.util.HashMap; | |||||
import java.util.List; | |||||
import java.util.Map; | |||||
@Slf4j | |||||
@Service | |||||
public class AApiAppletHhrWorkOutServiceImpl implements IAApiAppletHhrWorkOutService { | |||||
@Resource | |||||
private IAppUsersService appUsersService; | |||||
@Resource | |||||
private TokenService tokenService; | |||||
//合伙人工作台 - 绑定用户基础信息 | |||||
@Override | |||||
public AjaxResult HhrInfo(Long appUserId){ | |||||
// AppUsers localAppletUser = AppletUtil.getLocalAppletUser(); | |||||
AppUsers localAppletUser = new AppUsers(); | |||||
localAppletUser.setUserId(appUserId); | |||||
AppUsers appUsers = appUsersService.selectAppUsersByUserId(localAppletUser.getUserId()); | |||||
Map<String,Object> map = new HashMap<>(); | |||||
map.put("info",appUsers); //用户信息 | |||||
map.put("partner_level","初级合伙人"); //合伙人等级 | |||||
map.put("partner_day","138天"); //合伙人加入天数 | |||||
map.put("partner_new_num","25"); //合伙人当前合伙人比例 | |||||
map.put("partner_upgrade_num","30"); //合伙人晋级之后的合伙人比例 | |||||
map.put("user_code","jsk66623"); //邀请码 | |||||
map.put("user_code_bj","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //邀请码背景图 | |||||
map.put("user_code_fx","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //分享海报背景图 | |||||
map.put("user_code_url","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //分销链接背景图 | |||||
map.put("register_users","100"); //当月注册用户 | |||||
map.put("order_users","200"); //当月下单用户 | |||||
map.put("use_users","200"); //当月有效用户 | |||||
map.put("order_users_money","288.98"); //本月订单金额 | |||||
map.put("use_users_money","288.98"); //本月有效订单金额 | |||||
map.put("register_users_sum","999"); //累积注册用户 | |||||
map.put("order_users_sum","998"); //累积下单用户 | |||||
map.put("use_users_sum","999"); //累积有效用户 | |||||
map.put("order_users_sum_money","288.98"); //累积订单金额 | |||||
map.put("use_users_sum_money","288.98"); //累积有效订单金额 | |||||
map.put("money","998.98"); //钱包金额 | |||||
map.put("new_money","288.98"); //本月分成 | |||||
map.put("old_money","288.98"); //累积分成 | |||||
map.put("upgrade_register_num","5"); //距离下一个等级需要注册多少人 | |||||
map.put("upgrade_order_num","20"); //距离下一个等级需要下单人数 | |||||
map.put("upgrade_image","https://image.hhlm1688.com/img/work/log/indexInfo/11.png"); //背景图 | |||||
map.put("upgrade_details","合伙人权益说明:富文本"); //合伙人权益说明:富文本 | |||||
map.put("user_details","*累计报酬:当该用户订单完成时,才会纳入报酬计算:这是一个富文本"); //我的用户说明 | |||||
map.put("level_details","累积数据:即注册至今的累计数据:这是一个富文本"); //我的等级说明 | |||||
map.put("withdrawal_details","提现说明:这是一个富文本提现说明:这是一个富文本提现说明:这是一个富文本提现说明:这是一个富文本"); //提现说明 | |||||
return AjaxResult.success(map); | |||||
} | |||||
//合伙人工作台 - 绑定二维码 | |||||
@Override | |||||
public AjaxResult HhrCode(Long appUserId){ | |||||
AppUsers localAppletUser = new AppUsers(); | |||||
localAppletUser.setUserId(appUserId); | |||||
AppUsers appUsers = appUsersService.selectAppUsersByUserId(localAppletUser.getUserId()); | |||||
Map<String,Object> map = new HashMap<>(); | |||||
map.put("code","666666");//邀请码 | |||||
map.put("url","https://image.hhlm1688.com/img/work/log/headImage.png");//二维码地址 | |||||
map.put("bj_url","https://image.hhlm1688.com/img/work/log/headImage.png");//海报背景图 | |||||
map.put("title","欢迎来到宠物小程序二维码部分");//说明 | |||||
return AjaxResult.success(map); | |||||
} | |||||
//合伙人工作台 - 我的用户列表 0 未下单 1已下单 | |||||
@Override | |||||
public AjaxResult HhrMyUserList(Long appUserId,Integer state, Pageable page){ | |||||
AppUsers localAppletUser = new AppUsers(); | |||||
localAppletUser.setUserId(appUserId); | |||||
List<AppUsers> pageRes = appUsersService.selectAppUsersList(new AppUsers()); | |||||
// PageImpl<AppUsers> appUsers = new PageImpl<>(pageRes, page, ((Page) pageRes).getTotal()); | |||||
return AjaxResult.success("查询分页成功",pageRes); | |||||
} | |||||
//合伙人工作台 - 根据用户标识查询用户下单详细信息 | |||||
@Override | |||||
public AjaxResult HhrMyUserGetById(Long appUserId){ | |||||
Map<String,Object> map = new HashMap<>(); | |||||
map.put("createTime",new Date());//注册时间 | |||||
map.put("recently_pay_time",new Date());//最近下单时间 | |||||
map.put("accumulate_money","9999.99");//海报背景图 | |||||
map.put("reward_money","100");//累积报酬 | |||||
return AjaxResult.success("用户下单详细信息成功",map); | |||||
} | |||||
} |
@ -0,0 +1,203 @@ | |||||
package com.ruoyi.model.service.impl; | |||||
import com.alibaba.fastjson.JSONObject; | |||||
import com.ruoyi.applet.pojo.dto.ApiAppletLoginDTO; | |||||
import com.ruoyi.applet.utils.wechat.WechatHttpConf; | |||||
import com.ruoyi.common.core.domain.AjaxResult; | |||||
import com.ruoyi.common.core.domain.model.LoginApplet; | |||||
import com.ruoyi.common.core.domain.model.LoginMember; | |||||
import com.ruoyi.model.domain.AppUsers; | |||||
import com.ruoyi.model.service.IAApiAppletLoginService; | |||||
import com.ruoyi.model.service.IAppUsersService; | |||||
import lombok.Data; | |||||
import lombok.extern.slf4j.Slf4j; | |||||
import org.apache.commons.lang3.StringUtils; | |||||
import org.springframework.beans.factory.annotation.Autowired; | |||||
import org.springframework.beans.factory.annotation.Value; | |||||
import org.springframework.http.ResponseEntity; | |||||
import com.ruoyi.framework.web.service.TokenService; | |||||
import org.springframework.stereotype.Service; | |||||
import org.springframework.transaction.annotation.Transactional; | |||||
import javax.annotation.Resource; | |||||
import java.io.BufferedReader; | |||||
import java.io.DataOutputStream; | |||||
import java.io.InputStreamReader; | |||||
import java.net.HttpURLConnection; | |||||
import java.net.URL; | |||||
import java.nio.charset.StandardCharsets; | |||||
import java.time.LocalDateTime; | |||||
import java.util.*; | |||||
import static org.bouncycastle.asn1.x500.style.RFC4519Style.member; | |||||
@Slf4j | |||||
@Service | |||||
public class AApiAppletLoginServiceImpl implements IAApiAppletLoginService { | |||||
@Value("${wechat-admin.appId}") | |||||
private String appId; | |||||
@Value("${wechat-admin.secret}") | |||||
private String secret; | |||||
private static final String TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s"; | |||||
private static final String API_URL = "https://api.weixin.qq.com/wxa/business/getuserphonenumber"; | |||||
@Resource | |||||
private WechatHttpConf wechatHttpConf; | |||||
@Resource | |||||
private IAppUsersService appUsersService; | |||||
@Resource | |||||
private TokenService tokenService; | |||||
//伴宠师-微信授权登录 | |||||
@Transactional(rollbackFor = {Exception.class}) | |||||
@Override | |||||
public AjaxResult wechatLogin(ApiAppletLoginDTO params){ | |||||
if(StringUtils.isEmpty(params.getCode())){ | |||||
throw new RuntimeException("参数错误"); | |||||
} | |||||
String loginUrl = "https://api.weixin.qq.com/sns/jscode2session?appid=" | |||||
+ appId + "&secret=" | |||||
+ secret+ "&js_code=" | |||||
+ params.getCode() | |||||
+ "&grant_type=authorization_code"; | |||||
JSONObject wx_json = wechatHttpConf.getJSONObject(loginUrl); | |||||
String wxOpenid = wx_json.getString("openid"); | |||||
if (StringUtils.isBlank(wxOpenid)) { | |||||
throw new RuntimeException("服务繁忙,稍后再试"); | |||||
} | |||||
AppUsers appUsers = appUsersService.selectAppUsersByOpenId(wxOpenid); | |||||
if (appUsers == null) { | |||||
//用户信息为空的情况下说明是新的用户 | |||||
appUsers = new AppUsers(); | |||||
long appletId = System.currentTimeMillis(); | |||||
appUsers.setUserId(appletId); | |||||
appUsers.setOpenid(wxOpenid); | |||||
appUsers.setUserName("伴宠师"+System.currentTimeMillis());//lzx需要修改到conf中的配置获取 | |||||
appUsers.setUserImage("https://image.hhlm1688.com/img/work/log/headImage.png"); //lzx需要修改到conf中的配置获取 | |||||
appUsers.setCreateTime(LocalDateTime.now()); | |||||
appUsersService.insertAppUsers(appUsers); | |||||
LoginApplet loginApplet = new LoginApplet(); | |||||
loginApplet.setAppletId(appletId); | |||||
String appletToken = tokenService.createAppletToken(loginApplet); | |||||
Map<String,Object> map = new HashMap(); | |||||
map.put("token",appletToken); | |||||
map.put("userInfo",appUsers); | |||||
return AjaxResult.success("登录成功",map); | |||||
}else{ | |||||
LoginApplet loginApplet = new LoginApplet(); | |||||
loginApplet.setAppletId(appUsers.getUserId()); | |||||
String appletToken = tokenService.createAppletToken(loginApplet); | |||||
Map<String,Object> map = new HashMap(); | |||||
map.put("token",appletToken); | |||||
map.put("userInfo",appUsers); | |||||
return AjaxResult.success("登录成功",map); | |||||
} | |||||
} | |||||
//伴宠师-获取手机号码 | |||||
@Override | |||||
public AjaxResult bindPhone(ApiAppletLoginDTO params){ | |||||
try { | |||||
String phoneNumber = this.getPhoneNumber(params.getCode()); | |||||
AppUsers appUsers = appUsersService.selectAppUsersByOpenId(params.getOpenid()); | |||||
//如果对象存在 | |||||
if (appUsers!=null){ | |||||
appUsers.setUserTelephone(phoneNumber); | |||||
appUsersService.updateAppUsers(appUsers); | |||||
} | |||||
return AjaxResult.success(phoneNumber); | |||||
}catch (Exception e){ | |||||
return AjaxResult.error(e.getMessage()); | |||||
} | |||||
} | |||||
//伴宠师-登录页基础信息 | |||||
@Override | |||||
public AjaxResult loginConf(){ | |||||
Map map = new HashMap(); | |||||
map.put("appletName","伴宠师"); | |||||
map.put("appletLogoImg","https://image.hhlm1688.com/img/Group%20213084%402x.png"); | |||||
map.put("user_xy","用户协议富文本"); | |||||
map.put("user_zc","隐私政策富文本"); | |||||
return AjaxResult.success("查询成功",map); | |||||
} | |||||
//伴宠师-获取用户基本能信息 | |||||
@Override | |||||
public AjaxResult getAppletUserInfo(Long appUserId){ | |||||
AppUsers appUsers = appUsersService.selectAppUsersByUserId(appUserId); | |||||
return AjaxResult.success("用户信息",appUsers); | |||||
} | |||||
public String getAccessToken() throws Exception { | |||||
String requestUrl = String.format(TOKEN_URL, appId, secret); | |||||
URL url = new URL(requestUrl); | |||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); | |||||
conn.setRequestMethod("GET"); | |||||
try (BufferedReader br = new BufferedReader( | |||||
new InputStreamReader(conn.getInputStream(), "UTF-8"))) { | |||||
StringBuilder response = new StringBuilder(); | |||||
String responseLine; | |||||
while ((responseLine = br.readLine()) != null) { | |||||
response.append(responseLine.trim()); | |||||
} | |||||
org.json.JSONObject jsonResponse = new org.json.JSONObject(response.toString()); | |||||
return jsonResponse.getString("access_token"); | |||||
} | |||||
} | |||||
public String getPhoneNumber(String code) throws Exception { | |||||
URL url = new URL(API_URL + "?access_token=" + this.getAccessToken()); | |||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); | |||||
conn.setRequestMethod("POST"); | |||||
conn.setRequestProperty("Content-Type", "application/json; utf-8"); | |||||
conn.setRequestProperty("Accept", "application/json"); | |||||
conn.setDoOutput(true); | |||||
JSONObject jsonInput = new JSONObject(); | |||||
jsonInput.put("code", code); | |||||
try (DataOutputStream os = new DataOutputStream(conn.getOutputStream())) { | |||||
byte[] input = jsonInput.toString().getBytes(StandardCharsets.UTF_8); | |||||
os.write(input, 0, input.length); | |||||
} | |||||
try (BufferedReader br = new BufferedReader( | |||||
new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8))) { | |||||
StringBuilder response = new StringBuilder(); | |||||
String responseLine; | |||||
while ((responseLine = br.readLine()) != null) { | |||||
response.append(responseLine.trim()); | |||||
} | |||||
//获取手机号码 | |||||
return response.toString(); | |||||
} | |||||
} | |||||
} |
@ -0,0 +1,8 @@ | |||||
package com.ruoyi.model.service.impl; | |||||
import com.ruoyi.model.service.IApiAppletInfoService; | |||||
import org.springframework.stereotype.Service; | |||||
@Service | |||||
public class ApiAppletInfoServiceImpl implements IApiAppletInfoService { | |||||
} |
@ -0,0 +1,20 @@ | |||||
package com.ruoyi.common.core.domain.model; | |||||
import lombok.Data; | |||||
/** | |||||
* 伴宠师-小程序登录 | |||||
*/ | |||||
@Data | |||||
public class LoginApplet { | |||||
private Long appletId; | |||||
private String token; | |||||
private Long loginTime; | |||||
private Long expireTime; | |||||
/** | |||||
* 登录类型(1伴宠师端) | |||||
*/ | |||||
private Integer sourceType; | |||||
} |