You've already forked FrameTour-BE
支持用户切换景区账号,单账号多景区权限
This commit is contained in:
13
src/main/java/com/ycwl/basic/constant/JwtRoleConstant.java
Normal file
13
src/main/java/com/ycwl/basic/constant/JwtRoleConstant.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package com.ycwl.basic.constant;
|
||||||
|
|
||||||
|
public enum JwtRoleConstant {
|
||||||
|
MERCHANT("merchant"),
|
||||||
|
ADMIN("admin"),
|
||||||
|
APP_USER("app_user");
|
||||||
|
|
||||||
|
public final String type;
|
||||||
|
|
||||||
|
JwtRoleConstant(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
}
|
@ -1,25 +1,36 @@
|
|||||||
package com.ycwl.basic.controller.mobile.manage;
|
package com.ycwl.basic.controller.mobile.manage;
|
||||||
|
|
||||||
import com.ycwl.basic.annotation.IgnoreToken;
|
import com.ycwl.basic.annotation.IgnoreToken;
|
||||||
|
import com.ycwl.basic.constant.BaseContextHandler;
|
||||||
import com.ycwl.basic.model.mobile.scenic.account.ScenicLoginReq;
|
import com.ycwl.basic.model.mobile.scenic.account.ScenicLoginReq;
|
||||||
import com.ycwl.basic.model.mobile.scenic.account.ScenicLoginRespVO;
|
import com.ycwl.basic.model.mobile.scenic.account.ScenicLoginRespVO;
|
||||||
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoDTO;
|
import com.ycwl.basic.model.mobile.weChat.DTO.WeChatUserInfoDTO;
|
||||||
import com.ycwl.basic.model.pc.device.resp.DeviceRespVO;
|
import com.ycwl.basic.model.pc.device.resp.DeviceRespVO;
|
||||||
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
||||||
|
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||||
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||||
import com.ycwl.basic.service.mobile.AppScenicService;
|
import com.ycwl.basic.service.mobile.AppScenicService;
|
||||||
|
import com.ycwl.basic.service.pc.ScenicAccountService;
|
||||||
|
import com.ycwl.basic.service.pc.ScenicService;
|
||||||
import com.ycwl.basic.utils.ApiResponse;
|
import com.ycwl.basic.utils.ApiResponse;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.ycwl.basic.constant.JwtRoleConstant.MERCHANT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:longbinbin
|
* @Author:longbinbin
|
||||||
* @Date:2024/12/12 18:28
|
* @Date:2024/12/12 18:28
|
||||||
@ -28,9 +39,12 @@ import java.util.List;
|
|||||||
@RequestMapping("/api/mobile/scenicAccount/v1")
|
@RequestMapping("/api/mobile/scenicAccount/v1")
|
||||||
@Api(tags = "景区账号相关接口")
|
@Api(tags = "景区账号相关接口")
|
||||||
public class AppScenicAccountController {
|
public class AppScenicAccountController {
|
||||||
|
@Autowired
|
||||||
|
private ScenicAccountService accountService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AppScenicService scenicService;
|
private AppScenicService scenicService;
|
||||||
|
@Autowired
|
||||||
|
private ScenicService adminScenicService;
|
||||||
|
|
||||||
@ApiOperation("登录")
|
@ApiOperation("登录")
|
||||||
@PostMapping("/login")
|
@PostMapping("/login")
|
||||||
@ -39,13 +53,68 @@ public class AppScenicAccountController {
|
|||||||
return scenicService.login(scenicLoginReq);
|
return scenicService.login(scenicLoginReq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/myScenicList")
|
||||||
|
public ApiResponse<List<ScenicRespVO>> myScenicList() {
|
||||||
|
List<ScenicRespVO> list = Collections.emptyList();
|
||||||
|
if (StringUtils.equals(BaseContextHandler.getRoleId(), MERCHANT.type)) {
|
||||||
|
String userId = BaseContextHandler.getUserId();
|
||||||
|
ScenicAccountEntity account = accountService.getScenicAccountById(Long.valueOf(userId));
|
||||||
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
|
}
|
||||||
|
list = account.getScenicId().stream().map(id -> {
|
||||||
|
return scenicService.getDetails(id).getData();
|
||||||
|
}).toList();
|
||||||
|
} else {
|
||||||
|
list = adminScenicService.list(new ScenicReqQuery()).getData();
|
||||||
|
}
|
||||||
|
return ApiResponse.success(list);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/getScenic")
|
@GetMapping("/getScenic")
|
||||||
public ApiResponse<ScenicRespVO> getMyScenic() {
|
public ApiResponse<ScenicRespVO> getMyScenic() {
|
||||||
return scenicService.getMyScenic();
|
String userId = BaseContextHandler.getUserId();
|
||||||
|
ScenicAccountEntity account = accountService.getScenicAccountById(Long.valueOf(userId));
|
||||||
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
|
}
|
||||||
|
return scenicService.getDetails(account.getScenicId().getFirst());
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/{scenicId}")
|
||||||
|
public ApiResponse<ScenicRespVO> getScenic(@PathVariable Long scenicId) {
|
||||||
|
String userId = BaseContextHandler.getUserId();
|
||||||
|
ScenicAccountEntity account = accountService.getScenicAccountById(Long.valueOf(userId));
|
||||||
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
|
}
|
||||||
|
if (!account.getScenicId().contains(scenicId)) {
|
||||||
|
return ApiResponse.fail("无权限");
|
||||||
|
}
|
||||||
|
return scenicService.getDetails(scenicId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/devices")
|
@GetMapping("/devices")
|
||||||
public ApiResponse<List<DeviceRespVO>> getDeviceList() {
|
public ApiResponse<List<DeviceRespVO>> getDeviceList() {
|
||||||
return scenicService.getMyDevices();
|
String userId = BaseContextHandler.getUserId();
|
||||||
|
ScenicAccountEntity account = accountService.getScenicAccountById(Long.valueOf(userId));
|
||||||
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
|
}
|
||||||
|
return scenicService.getDevices(account.getScenicId().getFirst());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/{scenicId}/devices")
|
||||||
|
public ApiResponse<List<DeviceRespVO>> getDeviceList(@PathVariable Long scenicId) {
|
||||||
|
String userId = BaseContextHandler.getUserId();
|
||||||
|
ScenicAccountEntity account = accountService.getScenicAccountById(Long.valueOf(userId));
|
||||||
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
|
}
|
||||||
|
if (!account.getScenicId().contains(scenicId)) {
|
||||||
|
return ApiResponse.fail("无权限");
|
||||||
|
}
|
||||||
|
return scenicService.getDevices(scenicId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,9 +7,11 @@ import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
|||||||
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
|
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
|
||||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
||||||
import com.ycwl.basic.service.pc.OrderService;
|
import com.ycwl.basic.service.pc.OrderService;
|
||||||
|
import com.ycwl.basic.service.pc.ScenicAccountService;
|
||||||
import com.ycwl.basic.utils.ApiResponse;
|
import com.ycwl.basic.utils.ApiResponse;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
@ -24,27 +26,57 @@ public class AppScenicOrderController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private OrderService orderService;
|
private OrderService orderService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ScenicAccountMapper scenicAccountMapper;
|
private ScenicAccountService service;
|
||||||
|
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
|
@Deprecated
|
||||||
public ApiResponse<List<OrderRespVO>> list(@RequestBody OrderReqQuery query) {
|
public ApiResponse<List<OrderRespVO>> list(@RequestBody OrderReqQuery query) {
|
||||||
String userId = BaseContextHandler.getUserId();
|
String userId = BaseContextHandler.getUserId();
|
||||||
ScenicAccountEntity account = scenicAccountMapper.findAccountById(userId);
|
ScenicAccountEntity account = service.getScenicAccountById(Long.valueOf(userId));
|
||||||
if (account == null) {
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
return ApiResponse.fail("用户未绑定景区");
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
}
|
}
|
||||||
query.setScenicId(account.getScenicId());
|
query.setScenicId(account.getScenicId().getFirst());
|
||||||
|
return orderService.list(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/{scenicId}/list")
|
||||||
|
public ApiResponse<List<OrderRespVO>> list(@PathVariable Long scenicId, @RequestBody OrderReqQuery query) {
|
||||||
|
String userId = BaseContextHandler.getUserId();
|
||||||
|
ScenicAccountEntity account = service.getScenicAccountById(Long.valueOf(userId));
|
||||||
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
|
}
|
||||||
|
if (!account.getScenicId().contains(scenicId)) {
|
||||||
|
return ApiResponse.fail("无权限查看该景区订单");
|
||||||
|
}
|
||||||
|
query.setScenicId(scenicId);
|
||||||
return orderService.list(query);
|
return orderService.list(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/page")
|
@PostMapping("/page")
|
||||||
|
@Deprecated
|
||||||
public ApiResponse<PageInfo<OrderRespVO>> page(@RequestBody OrderReqQuery query) {
|
public ApiResponse<PageInfo<OrderRespVO>> page(@RequestBody OrderReqQuery query) {
|
||||||
String userId = BaseContextHandler.getUserId();
|
String userId = BaseContextHandler.getUserId();
|
||||||
ScenicAccountEntity account = scenicAccountMapper.findAccountById(userId);
|
ScenicAccountEntity account = service.getScenicAccountById(Long.valueOf(userId));
|
||||||
if (account == null) {
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
return ApiResponse.fail("用户未绑定景区");
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
}
|
}
|
||||||
query.setScenicId(account.getScenicId());
|
query.setScenicId(account.getScenicId().getFirst());
|
||||||
|
return orderService.pageQueryDetail(query);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/{scenicId}/page")
|
||||||
|
public ApiResponse<PageInfo<OrderRespVO>> page(@PathVariable Long scenicId, @RequestBody OrderReqQuery query) {
|
||||||
|
String userId = BaseContextHandler.getUserId();
|
||||||
|
ScenicAccountEntity account = service.getScenicAccountById(Long.valueOf(userId));
|
||||||
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
|
}
|
||||||
|
if (!account.getScenicId().contains(scenicId)) {
|
||||||
|
return ApiResponse.fail("无权限查看该景区订单");
|
||||||
|
}
|
||||||
|
query.setScenicId(scenicId);
|
||||||
return orderService.pageQueryDetail(query);
|
return orderService.pageQueryDetail(query);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package com.ycwl.basic.controller.pc;
|
|||||||
|
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import com.ycwl.basic.mapper.ScenicAccountMapper;
|
||||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
||||||
import com.ycwl.basic.model.pc.scenic.req.ScenicAccountReqQuery;
|
import com.ycwl.basic.model.pc.scenic.req.ScenicAccountReqQuery;
|
||||||
import com.ycwl.basic.service.pc.ScenicAccountService;
|
import com.ycwl.basic.service.pc.ScenicAccountService;
|
||||||
@ -16,6 +17,8 @@ import java.util.List;
|
|||||||
public class ScenicAccountController {
|
public class ScenicAccountController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ScenicAccountService service;
|
private ScenicAccountService service;
|
||||||
|
@Autowired
|
||||||
|
private ScenicAccountMapper scenicAccountMapper;
|
||||||
|
|
||||||
// 添加景区账号
|
// 添加景区账号
|
||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
@ -62,6 +65,10 @@ public class ScenicAccountController {
|
|||||||
public ApiResponse<PageInfo<ScenicAccountEntity>> pageQuery(@RequestBody ScenicAccountReqQuery req) {
|
public ApiResponse<PageInfo<ScenicAccountEntity>> pageQuery(@RequestBody ScenicAccountReqQuery req) {
|
||||||
PageHelper.startPage(req.getPageNum(), req.getPageSize());
|
PageHelper.startPage(req.getPageNum(), req.getPageSize());
|
||||||
List<ScenicAccountEntity> list = service.pageQuery(req);
|
List<ScenicAccountEntity> list = service.pageQuery(req);
|
||||||
|
list.forEach(entity -> {
|
||||||
|
entity.setPassword("");
|
||||||
|
entity.setScenicId(scenicAccountMapper.getAccountRelations(entity.getId()));
|
||||||
|
});
|
||||||
PageInfo<ScenicAccountEntity> pageInfo = new PageInfo<>(list);
|
PageInfo<ScenicAccountEntity> pageInfo = new PageInfo<>(list);
|
||||||
return ApiResponse.success(pageInfo);
|
return ApiResponse.success(pageInfo);
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
package com.ycwl.basic.controller.pc;
|
package com.ycwl.basic.controller.pc;
|
||||||
|
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import com.ycwl.basic.constant.BaseContextHandler;
|
||||||
import com.ycwl.basic.model.mobile.statistic.req.CommonQueryReq;
|
import com.ycwl.basic.model.mobile.statistic.req.CommonQueryReq;
|
||||||
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
||||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||||
import com.ycwl.basic.model.pc.scenic.req.ScenicAddOrUpdateReq;
|
import com.ycwl.basic.model.pc.scenic.req.ScenicAddOrUpdateReq;
|
||||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||||
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||||
|
import com.ycwl.basic.service.mobile.AppScenicService;
|
||||||
import com.ycwl.basic.service.mobile.AppStatisticsService;
|
import com.ycwl.basic.service.mobile.AppStatisticsService;
|
||||||
|
import com.ycwl.basic.service.pc.ScenicAccountService;
|
||||||
import com.ycwl.basic.service.pc.ScenicService;
|
import com.ycwl.basic.service.pc.ScenicService;
|
||||||
import com.ycwl.basic.storage.StorageFactory;
|
import com.ycwl.basic.storage.StorageFactory;
|
||||||
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
import com.ycwl.basic.storage.adapters.IStorageAdapter;
|
||||||
@ -17,12 +21,16 @@ import com.ycwl.basic.repository.ScenicRepository;
|
|||||||
import com.ycwl.basic.model.pc.mp.MpConfigEntity;
|
import com.ycwl.basic.model.pc.mp.MpConfigEntity;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.ycwl.basic.constant.JwtRoleConstant.MERCHANT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:longbinbin
|
* @Author:longbinbin
|
||||||
* @Date:2024/12/3 15:20
|
* @Date:2024/12/3 15:20
|
||||||
@ -34,11 +42,15 @@ public class ScenicController {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ScenicService scenicService;
|
private ScenicService scenicService;
|
||||||
|
@Autowired
|
||||||
|
private AppScenicService appScenicService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ScenicRepository scenicRepository;
|
private ScenicRepository scenicRepository;
|
||||||
@Autowired
|
@Autowired
|
||||||
private AppStatisticsService appStatisticsService;
|
private AppStatisticsService appStatisticsService;
|
||||||
|
@Autowired
|
||||||
|
private ScenicAccountService accountService;
|
||||||
|
|
||||||
@ApiOperation("分页查询景区")
|
@ApiOperation("分页查询景区")
|
||||||
@PostMapping("/page")
|
@PostMapping("/page")
|
||||||
@ -155,4 +167,22 @@ public class ScenicController {
|
|||||||
query.setScenicId(scenicId);
|
query.setScenicId(scenicId);
|
||||||
return appStatisticsService.orderChart(query);
|
return appStatisticsService.orderChart(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/myScenicList")
|
||||||
|
public ApiResponse<List<ScenicRespVO>> myScenicList() {
|
||||||
|
List<ScenicRespVO> list = Collections.emptyList();
|
||||||
|
if (StringUtils.equals(BaseContextHandler.getRoleId(), MERCHANT.type)) {
|
||||||
|
String userId = BaseContextHandler.getUserId();
|
||||||
|
ScenicAccountEntity account = accountService.getScenicAccountById(Long.valueOf(userId));
|
||||||
|
if (account == null || account.getScenicId().isEmpty()) {
|
||||||
|
return ApiResponse.fail("景区账号未绑定景区");
|
||||||
|
}
|
||||||
|
list = account.getScenicId().stream().map(id -> {
|
||||||
|
return appScenicService.getDetails(id).getData();
|
||||||
|
}).toList();
|
||||||
|
} else {
|
||||||
|
list = scenicService.list(new ScenicReqQuery()).getData();
|
||||||
|
}
|
||||||
|
return ApiResponse.success(list);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,4 +19,11 @@ public interface ScenicAccountMapper {
|
|||||||
ScenicAccountEntity findAccountById(String id);
|
ScenicAccountEntity findAccountById(String id);
|
||||||
List<ScenicAccountEntity> pageQuery(ScenicAccountReqQuery req);
|
List<ScenicAccountEntity> pageQuery(ScenicAccountReqQuery req);
|
||||||
|
|
||||||
|
int addAccountScenicRelation(Long accountId, Long scenicId, int isAdmin);
|
||||||
|
|
||||||
|
int deleteRelationByScenicId(Long scenicId);
|
||||||
|
|
||||||
|
List<Long> getAccountRelations(Long accountId);
|
||||||
|
|
||||||
|
int deleteRelationById(Long accountId);
|
||||||
}
|
}
|
||||||
|
@ -44,11 +44,6 @@ public class JwtInfo implements Serializable {
|
|||||||
|
|
||||||
private String phone;
|
private String phone;
|
||||||
|
|
||||||
/**
|
|
||||||
* 景区id
|
|
||||||
*/
|
|
||||||
private Long scenicId;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成 token 的时间
|
* 生成 token 的时间
|
||||||
|
@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
|
|||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:longbinbin
|
* @Author:longbinbin
|
||||||
* @Date:2024/12/13 9:44
|
* @Date:2024/12/13 9:44
|
||||||
@ -13,7 +15,7 @@ import lombok.Data;
|
|||||||
public class ScenicLoginRespVO {
|
public class ScenicLoginRespVO {
|
||||||
private Long id;
|
private Long id;
|
||||||
@ApiModelProperty("景区id")
|
@ApiModelProperty("景区id")
|
||||||
private Long scenicId;
|
private List<Long> scenicId;
|
||||||
@ApiModelProperty("是否是超级管理员")
|
@ApiModelProperty("是否是超级管理员")
|
||||||
private Integer isSuper;
|
private Integer isSuper;
|
||||||
@ApiModelProperty("账号名称")
|
@ApiModelProperty("账号名称")
|
||||||
|
@ -4,12 +4,13 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@TableName("scenic_account")
|
@TableName("scenic_account")
|
||||||
public class ScenicAccountEntity {
|
public class ScenicAccountEntity {
|
||||||
private Long id;
|
private Long id;
|
||||||
private Long scenicId;
|
private List<Long> scenicId;
|
||||||
private Integer isSuper;
|
private Integer isSuper;
|
||||||
private String name;
|
private String name;
|
||||||
private String phone;
|
private String phone;
|
||||||
|
@ -26,9 +26,7 @@ public interface AppScenicService {
|
|||||||
|
|
||||||
ApiResponse<ScenicLoginRespVO> login(ScenicLoginReq scenicLoginReq) throws Exception;
|
ApiResponse<ScenicLoginRespVO> login(ScenicLoginReq scenicLoginReq) throws Exception;
|
||||||
|
|
||||||
ApiResponse<ScenicRespVO> getMyScenic();
|
|
||||||
|
|
||||||
ApiResponse<List<DeviceRespVO>> getMyDevices();
|
|
||||||
|
|
||||||
List<ScenicAppVO> scenicListByLnLa(ScenicIndexVO scenicIndexVO);
|
List<ScenicAppVO> scenicListByLnLa(ScenicIndexVO scenicIndexVO);
|
||||||
|
|
||||||
|
ApiResponse<List<DeviceRespVO>> getDevices(Long scenicId);
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
|||||||
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
|
||||||
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
|
||||||
import com.ycwl.basic.service.mobile.AppScenicService;
|
import com.ycwl.basic.service.mobile.AppScenicService;
|
||||||
|
import com.ycwl.basic.service.pc.ScenicAccountService;
|
||||||
import com.ycwl.basic.utils.ApiResponse;
|
import com.ycwl.basic.utils.ApiResponse;
|
||||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@ -25,6 +26,8 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.ycwl.basic.constant.JwtRoleConstant.MERCHANT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:longbinbin
|
* @Author:longbinbin
|
||||||
* @Date:2024/12/6 10:23
|
* @Date:2024/12/6 10:23
|
||||||
@ -41,6 +44,8 @@ public class AppScenicServiceImpl implements AppScenicService {
|
|||||||
private ScenicAccountMapper scenicAccountMapper;
|
private ScenicAccountMapper scenicAccountMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private JwtTokenUtil jwtTokenUtil;
|
private JwtTokenUtil jwtTokenUtil;
|
||||||
|
@Autowired
|
||||||
|
private ScenicAccountService scenicAccountService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<PageInfo<ScenicAppVO>> pageQuery(ScenicReqQuery scenicReqQuery) {
|
public ApiResponse<PageInfo<ScenicAppVO>> pageQuery(ScenicReqQuery scenicReqQuery) {
|
||||||
@ -67,8 +72,7 @@ public class AppScenicServiceImpl implements AppScenicService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<ScenicLoginRespVO> login(ScenicLoginReq scenicLoginReq) throws Exception {
|
public ApiResponse<ScenicLoginRespVO> login(ScenicLoginReq scenicLoginReq) throws Exception {
|
||||||
|
ScenicAccountEntity scenicAccount = scenicAccountService.getScenicAccountByAccount(scenicLoginReq.getAccount());
|
||||||
ScenicAccountEntity scenicAccount = scenicAccountMapper.getByAccount(scenicLoginReq.getAccount());
|
|
||||||
if (scenicAccount == null) {
|
if (scenicAccount == null) {
|
||||||
return ApiResponse.fail("账号不存在");
|
return ApiResponse.fail("账号不存在");
|
||||||
}
|
}
|
||||||
@ -83,7 +87,7 @@ public class AppScenicServiceImpl implements AppScenicService {
|
|||||||
jwtInfo.setName(scenicAccount.getName());
|
jwtInfo.setName(scenicAccount.getName());
|
||||||
jwtInfo.setAccount(scenicAccount.getAccount());
|
jwtInfo.setAccount(scenicAccount.getAccount());
|
||||||
jwtInfo.setUserId(scenicAccount.getId());
|
jwtInfo.setUserId(scenicAccount.getId());
|
||||||
jwtInfo.setScenicId(scenicAccount.getScenicId());
|
jwtInfo.setRoleId(MERCHANT.type);
|
||||||
String token = jwtTokenUtil.generateToken(jwtInfo);
|
String token = jwtTokenUtil.generateToken(jwtInfo);
|
||||||
|
|
||||||
ScenicLoginRespVO scenicLoginRespVO = new ScenicLoginRespVO();
|
ScenicLoginRespVO scenicLoginRespVO = new ScenicLoginRespVO();
|
||||||
@ -92,30 +96,15 @@ public class AppScenicServiceImpl implements AppScenicService {
|
|||||||
return ApiResponse.success(scenicLoginRespVO);
|
return ApiResponse.success(scenicLoginRespVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ApiResponse<ScenicRespVO> getMyScenic() {
|
|
||||||
String userId = BaseContextHandler.getUserId();
|
|
||||||
ScenicAccountEntity account = scenicAccountMapper.findAccountById(userId);
|
|
||||||
if (account == null) {
|
|
||||||
return ApiResponse.fail("用户未绑定景区");
|
|
||||||
}
|
|
||||||
return getDetails(account.getScenicId());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ApiResponse<List<DeviceRespVO>> getMyDevices() {
|
|
||||||
String userId = BaseContextHandler.getUserId();
|
|
||||||
ScenicAccountEntity account = scenicAccountMapper.findAccountById(userId);
|
|
||||||
if (account == null) {
|
|
||||||
return ApiResponse.fail("用户未绑定景区");
|
|
||||||
}
|
|
||||||
List<DeviceRespVO> deviceRespVOList = deviceMapper.listByScenicIdWithWVP(account.getScenicId());
|
|
||||||
return ApiResponse.success(deviceRespVOList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ScenicAppVO> scenicListByLnLa(ScenicIndexVO scenicIndexVO) {
|
public List<ScenicAppVO> scenicListByLnLa(ScenicIndexVO scenicIndexVO) {
|
||||||
List<ScenicAppVO> scenicAppVOS = scenicMapper.scenicListByLnLa(scenicIndexVO);
|
List<ScenicAppVO> scenicAppVOS = scenicMapper.scenicListByLnLa(scenicIndexVO);
|
||||||
return scenicAppVOS.stream().filter(scenic -> scenic.getDistance().compareTo(scenic.getRadius().multiply(BigDecimal.valueOf(1_000L))) < 0).toList();
|
return scenicAppVOS.stream().filter(scenic -> scenic.getDistance().compareTo(scenic.getRadius().multiply(BigDecimal.valueOf(1_000L))) < 0).toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResponse<List<DeviceRespVO>> getDevices(Long scenicId) {
|
||||||
|
List<DeviceRespVO> deviceRespVOList = deviceMapper.listByScenicIdWithWVP(scenicId);
|
||||||
|
return ApiResponse.success(deviceRespVOList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,4 +16,6 @@ public interface ScenicAccountService {
|
|||||||
List<ScenicAccountEntity> pageQuery(ScenicAccountReqQuery req);
|
List<ScenicAccountEntity> pageQuery(ScenicAccountReqQuery req);
|
||||||
|
|
||||||
int updateStatus(Long id);
|
int updateStatus(Long id);
|
||||||
|
|
||||||
|
ScenicAccountEntity getScenicAccountByAccount(String account);
|
||||||
}
|
}
|
@ -130,7 +130,7 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
LoginRespVO loginRespVO = new LoginRespVO();
|
LoginRespVO loginRespVO = new LoginRespVO();
|
||||||
String token = jwtTokenUtil.generateToken(new JwtInfo(login.getStaffName(), login.getStaffId(), roleId, login.getAccount(), login.getAccount(), null,null));
|
String token = jwtTokenUtil.generateToken(new JwtInfo(login.getStaffName(), login.getStaffId(), roleId, login.getAccount(), login.getAccount(), null));
|
||||||
loginRespVO.setToken(token);
|
loginRespVO.setToken(token);
|
||||||
loginRespVO.setName(login.getStaffName());
|
loginRespVO.setName(login.getStaffName());
|
||||||
loginRespVO.setTypeName(login.getTypeName());
|
loginRespVO.setTypeName(login.getTypeName());
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.ycwl.basic.service.pc.impl;
|
package com.ycwl.basic.service.pc.impl;
|
||||||
|
|
||||||
|
import com.ycwl.basic.exception.BaseException;
|
||||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity;
|
||||||
import com.ycwl.basic.model.pc.scenic.req.ScenicAccountReqQuery;
|
import com.ycwl.basic.model.pc.scenic.req.ScenicAccountReqQuery;
|
||||||
import com.ycwl.basic.service.pc.ScenicAccountService;
|
import com.ycwl.basic.service.pc.ScenicAccountService;
|
||||||
@ -30,12 +31,23 @@ public class ScenicAccountServiceImpl implements ScenicAccountService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int updateScenicAccount(ScenicAccountEntity entity) {
|
public int updateScenicAccount(ScenicAccountEntity entity) {
|
||||||
return mapper.update(entity);
|
if (entity.getId() == null) {
|
||||||
|
throw new BaseException("参数错误");
|
||||||
|
}
|
||||||
|
int update = mapper.update(entity);
|
||||||
|
mapper.deleteRelationById(entity.getId());
|
||||||
|
entity.getScenicId().forEach(scenicId -> {
|
||||||
|
mapper.addAccountScenicRelation(entity.getId(), scenicId, entity.getIsSuper());
|
||||||
|
});
|
||||||
|
return update;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ScenicAccountEntity getScenicAccountById(Long id) {
|
public ScenicAccountEntity getScenicAccountById(Long id) {
|
||||||
return mapper.findAccountById(String.valueOf(id));
|
ScenicAccountEntity account = mapper.findAccountById(String.valueOf(id));
|
||||||
|
List<Long> scenicList = mapper.getAccountRelations(id);
|
||||||
|
account.setScenicId(scenicList);
|
||||||
|
return account;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -53,4 +65,12 @@ public class ScenicAccountServiceImpl implements ScenicAccountService {
|
|||||||
public int updateStatus(Long id) {
|
public int updateStatus(Long id) {
|
||||||
return mapper.updateStatus(id);
|
return mapper.updateStatus(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ScenicAccountEntity getScenicAccountByAccount(String account) {
|
||||||
|
ScenicAccountEntity accountEntity = mapper.getByAccount(account);
|
||||||
|
List<Long> scenicList = mapper.getAccountRelations(accountEntity.getId());
|
||||||
|
accountEntity.setScenicId(scenicList);
|
||||||
|
return accountEntity;
|
||||||
|
}
|
||||||
}
|
}
|
@ -71,21 +71,20 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ApiResponse<Boolean> add(ScenicAddOrUpdateReq scenicAddReq) {
|
public ApiResponse<Boolean> add(ScenicAddOrUpdateReq scenicAddReq) {
|
||||||
ScenicAccountEntity scenicAccount = scenicAccountMapper.getByAccount(scenicAddReq.getAccount());
|
|
||||||
if (scenicAccount != null) {
|
|
||||||
return ApiResponse.fail("账号已存在");
|
|
||||||
}
|
|
||||||
Long scenicId = SnowFlakeUtil.getLongId();
|
Long scenicId = SnowFlakeUtil.getLongId();
|
||||||
scenicAddReq.setId(scenicId);
|
scenicAddReq.setId(scenicId);
|
||||||
int add = scenicMapper.add(scenicAddReq);
|
int add = scenicMapper.add(scenicAddReq);
|
||||||
ScenicAccountEntity account = new ScenicAccountEntity();
|
ScenicAccountEntity scenicAccount = scenicAccountMapper.getByAccount(scenicAddReq.getAccount());
|
||||||
account.setId(SnowFlakeUtil.getLongId());
|
if (scenicAccount == null) {
|
||||||
account.setScenicId(scenicId);
|
scenicAccount = new ScenicAccountEntity();
|
||||||
account.setName(scenicAddReq.getName() + "管理员");
|
scenicAccount.setId(SnowFlakeUtil.getLongId());
|
||||||
account.setAccount(scenicAddReq.getAccount());
|
scenicAccount.setName(scenicAddReq.getName() + "管理员");
|
||||||
account.setPassword(scenicAddReq.getPassword());
|
scenicAccount.setAccount(scenicAddReq.getAccount());
|
||||||
account.setIsSuper(1);
|
scenicAccount.setPassword(scenicAddReq.getPassword());
|
||||||
scenicAccountMapper.add(account);
|
scenicAccount.setIsSuper(1);
|
||||||
|
scenicAccountMapper.add(scenicAccount);
|
||||||
|
}
|
||||||
|
scenicAccountMapper.addAccountScenicRelation(scenicAccount.getId(), scenicId, 1);
|
||||||
if (add > 0) {
|
if (add > 0) {
|
||||||
return ApiResponse.success(true);
|
return ApiResponse.success(true);
|
||||||
} else {
|
} else {
|
||||||
@ -98,7 +97,7 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
public ApiResponse<Boolean> deleteById(Long id) {
|
public ApiResponse<Boolean> deleteById(Long id) {
|
||||||
int i = scenicMapper.deleteById(id);
|
int i = scenicMapper.deleteById(id);
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
scenicAccountMapper.deleteByScenicId(id);
|
scenicAccountMapper.deleteRelationByScenicId(id);
|
||||||
IFaceBodyAdapter adapter = getScenicFaceBodyAdapter(id);
|
IFaceBodyAdapter adapter = getScenicFaceBodyAdapter(id);
|
||||||
Thread.ofVirtual().start(() -> {
|
Thread.ofVirtual().start(() -> {
|
||||||
adapter.deleteFaceDb(id.toString());
|
adapter.deleteFaceDb(id.toString());
|
||||||
@ -117,6 +116,9 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResponse<Boolean> update(ScenicAddOrUpdateReq scenicUpdateReq) {
|
public ApiResponse<Boolean> update(ScenicAddOrUpdateReq scenicUpdateReq) {
|
||||||
|
if (scenicUpdateReq.getId() == null) {
|
||||||
|
return ApiResponse.fail("参数错误");
|
||||||
|
}
|
||||||
if (StringUtils.isNotBlank(scenicUpdateReq.getAccount()) && StringUtils.isNotBlank(scenicUpdateReq.getPassword())) {
|
if (StringUtils.isNotBlank(scenicUpdateReq.getAccount()) && StringUtils.isNotBlank(scenicUpdateReq.getPassword())) {
|
||||||
ScenicAccountEntity scenicAccount = scenicAccountMapper.getByAccount(scenicUpdateReq.getAccount());
|
ScenicAccountEntity scenicAccount = scenicAccountMapper.getByAccount(scenicUpdateReq.getAccount());
|
||||||
if (scenicAccount != null) {
|
if (scenicAccount != null) {
|
||||||
@ -132,13 +134,13 @@ public class ScenicServiceImpl implements ScenicService {
|
|||||||
} else {
|
} else {
|
||||||
account = new ScenicAccountEntity();
|
account = new ScenicAccountEntity();
|
||||||
account.setId(SnowFlakeUtil.getLongId());
|
account.setId(SnowFlakeUtil.getLongId());
|
||||||
account.setScenicId(scenicUpdateReq.getId());
|
|
||||||
account.setName(scenicUpdateReq.getName() + "管理员");
|
account.setName(scenicUpdateReq.getName() + "管理员");
|
||||||
account.setAccount(scenicUpdateReq.getAccount());
|
account.setAccount(scenicUpdateReq.getAccount());
|
||||||
account.setPassword(scenicUpdateReq.getPassword());
|
account.setPassword(scenicUpdateReq.getPassword());
|
||||||
account.setIsSuper(1);
|
account.setIsSuper(1);
|
||||||
scenicAccountMapper.add(account);
|
scenicAccountMapper.add(account);
|
||||||
}
|
}
|
||||||
|
scenicAccountMapper.addAccountScenicRelation(account.getId(), scenicUpdateReq.getId(), 1);
|
||||||
}
|
}
|
||||||
int i = scenicMapper.update(scenicUpdateReq);
|
int i = scenicMapper.update(scenicUpdateReq);
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
|
@ -6,11 +6,13 @@ import io.jsonwebtoken.Claims;
|
|||||||
import io.jsonwebtoken.JwtBuilder;
|
import io.jsonwebtoken.JwtBuilder;
|
||||||
import io.jsonwebtoken.Jwts;
|
import io.jsonwebtoken.Jwts;
|
||||||
import io.jsonwebtoken.SignatureAlgorithm;
|
import io.jsonwebtoken.SignatureAlgorithm;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author yangchen
|
* @author yangchen
|
||||||
@ -73,15 +75,13 @@ public class JwtAnalysisUtil {
|
|||||||
}
|
}
|
||||||
Long userId = null;
|
Long userId = null;
|
||||||
if (body.get("userId")!=null) {
|
if (body.get("userId")!=null) {
|
||||||
String strUserId = StringUtil.a(body.get("userId"));
|
userId= Long.parseLong(Objects.requireNonNullElse(body.get("userId"), "").toString());
|
||||||
userId= Long.parseLong(strUserId);
|
|
||||||
}
|
}
|
||||||
return new JwtInfo(StringUtil.a(body.get("name")),
|
return new JwtInfo(Objects.requireNonNullElse(body.get("name"), "").toString(),
|
||||||
userId,
|
userId,
|
||||||
StringUtil.a(body.get("roleId")),
|
Objects.requireNonNullElse(body.get("roleId"), "").toString(),
|
||||||
body.getSubject(),
|
body.getSubject(),
|
||||||
StringUtil.a(body.get("phone")),
|
Objects.requireNonNullElse(body.get("phone"), "").toString(),
|
||||||
body.get("scenicId") == null ? null : Long.valueOf(body.get("scenicId").toString()),
|
|
||||||
expireTime);
|
expireTime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
package com.ycwl.basic.utils;
|
|
||||||
|
|
||||||
public final class StringUtil {
|
|
||||||
|
|
||||||
public StringUtil() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String a(Object obj) {
|
|
||||||
return obj == null ? "" : obj.toString();
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,19 +3,19 @@
|
|||||||
<mapper namespace="com.ycwl.basic.mapper.PermissionMapper">
|
<mapper namespace="com.ycwl.basic.mapper.PermissionMapper">
|
||||||
<!-- 新增插入语句 -->
|
<!-- 新增插入语句 -->
|
||||||
<insert id="insertPermission">
|
<insert id="insertPermission">
|
||||||
INSERT INTO permission (user_id, perm_str, create_time, update_time)
|
INSERT INTO account_permission (user_id, perm_str, create_time, update_time)
|
||||||
VALUES (#{userId}, #{permString}, NOW(), NOW())
|
VALUES (#{userId}, #{permString}, NOW(), NOW())
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<!-- 新增更新语句 -->
|
<!-- 新增更新语句 -->
|
||||||
<update id="updatePermission">
|
<update id="updatePermission">
|
||||||
UPDATE permission
|
UPDATE account_permission
|
||||||
SET perm_str = #{permString}, update_time = NOW()
|
SET perm_str = #{permString}, update_time = NOW()
|
||||||
WHERE user_id = #{userId}
|
WHERE user_id = #{userId}
|
||||||
</update>
|
</update>
|
||||||
<select id="selectByUserId" resultType="com.ycwl.basic.model.pc.permission.entity.PermissionEntity">
|
<select id="selectByUserId" resultType="com.ycwl.basic.model.pc.permission.entity.PermissionEntity">
|
||||||
SELECT id, user_id, perm_str as permString, create_time, update_time
|
SELECT id, user_id, perm_str as permString, create_time, update_time
|
||||||
FROM permission
|
FROM account_permission
|
||||||
WHERE user_id = #{userId}
|
WHERE user_id = #{userId}
|
||||||
limit 1
|
limit 1
|
||||||
</select>
|
</select>
|
||||||
|
@ -5,6 +5,10 @@
|
|||||||
insert into scenic_account(id, scenic_id, is_super, name, phone, account, password, create_time, update_time)
|
insert into scenic_account(id, scenic_id, is_super, name, phone, account, password, create_time, update_time)
|
||||||
values (#{id}, #{scenicId}, #{isSuper}, #{name}, #{phone}, #{account}, #{password}, now(), now())
|
values (#{id}, #{scenicId}, #{isSuper}, #{name}, #{phone}, #{account}, #{password}, now(), now())
|
||||||
</insert>
|
</insert>
|
||||||
|
<insert id="addAccountScenicRelation">
|
||||||
|
insert into account_scenic(account_id, scenic_id, is_admin)
|
||||||
|
values (#{accountId}, #{scenicId}, #{isAdmin})
|
||||||
|
</insert>
|
||||||
<update id="update">
|
<update id="update">
|
||||||
update scenic_account
|
update scenic_account
|
||||||
<set>
|
<set>
|
||||||
@ -41,11 +45,17 @@
|
|||||||
<delete id="deleteByScenicId">
|
<delete id="deleteByScenicId">
|
||||||
delete from scenic_account where scenic_id = #{scenicId}
|
delete from scenic_account where scenic_id = #{scenicId}
|
||||||
</delete>
|
</delete>
|
||||||
|
<delete id="deleteRelationByScenicId">
|
||||||
|
delete from account_scenic where scenic_id = #{scenicId}
|
||||||
|
</delete>
|
||||||
|
<delete id="deleteRelationById">
|
||||||
|
delete from account_scenic where account_id = #{accountId}
|
||||||
|
</delete>
|
||||||
<select id="getSuperAccountOfScenic"
|
<select id="getSuperAccountOfScenic"
|
||||||
resultType="com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity">
|
resultType="com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity">
|
||||||
select id, scenic_id, is_super, name, phone, account, password, create_time, update_time
|
select a.id, b.scenic_id, b.is_admin as isSuper, a.name, a.phone, a.account, a.password, a.create_time, a.update_time
|
||||||
from scenic_account
|
from scenic_account a left join account_scenic b on a.id = b.account_id
|
||||||
where scenic_id = #{scenicId} and is_super = 1
|
where b.scenic_id = #{scenicId} and b.is_admin = 1
|
||||||
</select>
|
</select>
|
||||||
<select id="getByAccount" resultType="com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity">
|
<select id="getByAccount" resultType="com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity">
|
||||||
select id, scenic_id, is_super, name, phone, account, password, status,create_time, update_time
|
select id, scenic_id, is_super, name, phone, account, password, status,create_time, update_time
|
||||||
@ -61,7 +71,7 @@
|
|||||||
SELECT * FROM scenic_account
|
SELECT * FROM scenic_account
|
||||||
<where>
|
<where>
|
||||||
<if test="scenicId != null">
|
<if test="scenicId != null">
|
||||||
AND scenic_id = #{scenicId}
|
AND id in (select account_id from account_scenic where scenic_id = #{scenicId})
|
||||||
</if>
|
</if>
|
||||||
<if test="account != null and account != ''">
|
<if test="account != null and account != ''">
|
||||||
AND account LIKE CONCAT('%', #{account}, '%')
|
AND account LIKE CONCAT('%', #{account}, '%')
|
||||||
@ -84,4 +94,9 @@
|
|||||||
</where>
|
</where>
|
||||||
ORDER BY create_time DESC
|
ORDER BY create_time DESC
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getAccountRelations" resultType="java.lang.Long">
|
||||||
|
SELECT scenic_id
|
||||||
|
FROM account_scenic
|
||||||
|
WHERE account_id = #{scenicId}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Reference in New Issue
Block a user