diff --git a/src/main/java/com/gxwebsoft/booking/controller/UsersController.java b/src/main/java/com/gxwebsoft/booking/controller/UsersController.java deleted file mode 100644 index 6d20388..0000000 --- a/src/main/java/com/gxwebsoft/booking/controller/UsersController.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.gxwebsoft.booking.controller; - -import com.gxwebsoft.common.core.exception.BusinessException; -import com.gxwebsoft.common.core.security.JwtSubject; -import com.gxwebsoft.common.core.security.JwtUtil; -import com.gxwebsoft.common.core.web.BaseController; -import com.gxwebsoft.booking.service.UsersService; -import com.gxwebsoft.booking.entity.Users; -import com.gxwebsoft.booking.param.UsersParam; -import com.gxwebsoft.common.core.web.ApiResult; -import com.gxwebsoft.common.core.web.PageResult; -import com.gxwebsoft.common.core.web.PageParam; -import com.gxwebsoft.common.core.web.BatchParam; -import com.gxwebsoft.common.core.annotation.OperationLog; -import com.gxwebsoft.common.system.entity.LoginRecord; -import com.gxwebsoft.common.system.entity.User; -import com.gxwebsoft.common.system.param.UserParam; -import com.gxwebsoft.common.system.result.LoginResult; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import java.util.List; - -import static com.gxwebsoft.common.core.constants.RedisConstants.ACCESS_TOKEN_KEY; - -/** - * 用户控制器 - * - * @author 科技小王子 - * @since 2024-04-25 20:44:46 - */ -@Api(tags = "用户管理") -@RestController -@RequestMapping("/api/booking/users") -public class UsersController extends BaseController { - @Resource - private UsersService usersService; - - @ApiOperation("分页查询用户") - @GetMapping("/page") - public ApiResult> page(UsersParam param) { - // 使用关联查询 - return success(usersService.pageRel(param)); - } - - @ApiOperation("查询全部用户") - @GetMapping() - public ApiResult> list(UsersParam param) { - // 使用关联查询 - return success(usersService.listRel(param)); - } - - @PreAuthorize("hasAuthority('booking:users:list')") - @ApiOperation("根据id查询用户") - @GetMapping("/{id}") - public ApiResult get(@PathVariable("id") Integer id) { - // 使用关联查询 - return success(usersService.getByIdRel(id)); - } - - @PreAuthorize("hasAuthority('booking:users:list')") - @ApiOperation("根据手机查询用户") - @GetMapping("/getByPhone") - public ApiResult getByPhone(UsersParam param) { - final List users = usersService.listRel(param); - return success(param.getOne(users)); - } - - @ApiOperation("添加用户") - @PostMapping() - public ApiResult save(@RequestBody Users users) { - // 记录当前登录用户id - // User loginUser = getLoginUser(); - // if (loginUser != null) { - // users.setUserId(loginUser.getUserId()); - // } - if (usersService.save(users)) { - return success("添加成功"); - } - return fail("添加失败"); - } - - @ApiOperation("修改用户") - @PutMapping() - public ApiResult update(@RequestBody Users users) { - if (usersService.updateById(users)) { - return success("修改成功"); - } - return fail("修改失败"); - } - - @ApiOperation("删除用户") - @DeleteMapping("/{id}") - public ApiResult remove(@PathVariable("id") Integer id) { - if (usersService.removeById(id)) { - return success("删除成功"); - } - return fail("删除失败"); - } - - @ApiOperation("批量添加用户") - @PostMapping("/batch") - public ApiResult saveBatch(@RequestBody List list) { - if (usersService.saveBatch(list)) { - return success("添加成功"); - } - return fail("添加失败"); - } - - @ApiOperation("批量修改用户") - @PutMapping("/batch") - public ApiResult removeBatch(@RequestBody BatchParam batchParam) { - if (batchParam.update(usersService, "user_id")) { - return success("修改成功"); - } - return fail("修改失败"); - } - - @ApiOperation("批量删除用户") - @DeleteMapping("/batch") - public ApiResult removeBatch(@RequestBody List ids) { - if (usersService.removeByIds(ids)) { - return success("删除成功"); - } - return fail("删除失败"); - } -} diff --git a/src/main/java/com/gxwebsoft/cms/entity/MpMenu.java b/src/main/java/com/gxwebsoft/cms/entity/MpMenu.java index 3f01d8e..975d850 100644 --- a/src/main/java/com/gxwebsoft/cms/entity/MpMenu.java +++ b/src/main/java/com/gxwebsoft/cms/entity/MpMenu.java @@ -38,6 +38,9 @@ public class MpMenu implements Serializable { @ApiModelProperty(value = "类型 0自定义 1单页内容2外部链接") private Integer type; + @ApiModelProperty(value = "所在行 0第一行 1第二行") + private Integer rows; + @ApiModelProperty(value = "是否微信小程序菜单") private Boolean isMpWeixin; diff --git a/src/main/java/com/gxwebsoft/cms/mapper/xml/MpMenuMapper.xml b/src/main/java/com/gxwebsoft/cms/mapper/xml/MpMenuMapper.xml index 9530ccd..d3ffe6c 100644 --- a/src/main/java/com/gxwebsoft/cms/mapper/xml/MpMenuMapper.xml +++ b/src/main/java/com/gxwebsoft/cms/mapper/xml/MpMenuMapper.xml @@ -19,6 +19,9 @@ AND a.type = #{param.type} + + AND a.rows = #{param.rows} + AND a.is_mp_weixin = #{param.isMpWeixin} diff --git a/src/main/java/com/gxwebsoft/cms/param/MpMenuParam.java b/src/main/java/com/gxwebsoft/cms/param/MpMenuParam.java index 8f30584..db13411 100644 --- a/src/main/java/com/gxwebsoft/cms/param/MpMenuParam.java +++ b/src/main/java/com/gxwebsoft/cms/param/MpMenuParam.java @@ -38,6 +38,10 @@ public class MpMenuParam extends BaseParam { @QueryField(type = QueryType.EQ) private Integer type; + @ApiModelProperty(value = "所在行 0第一行 1第二行") + @QueryField(type = QueryType.EQ) + private Integer rows; + @ApiModelProperty(value = "是否微信小程序菜单") @QueryField(type = QueryType.EQ) private Boolean isMpWeixin; diff --git a/src/main/java/com/gxwebsoft/common/system/entity/User.java b/src/main/java/com/gxwebsoft/common/system/entity/User.java index e74e697..79c71e5 100644 --- a/src/main/java/com/gxwebsoft/common/system/entity/User.java +++ b/src/main/java/com/gxwebsoft/common/system/entity/User.java @@ -195,7 +195,7 @@ public class User implements UserDetails { @ApiModelProperty(value = "注册时间") private Integer addTime; - @ApiModelProperty(value = "是否管理员:1是;2否") + @ApiModelProperty(value = "是否管理员:1是;0否") private Boolean isAdmin; @ApiModelProperty(value = "客户端ID") diff --git a/src/main/java/com/gxwebsoft/shop/controller/BrandController.java b/src/main/java/com/gxwebsoft/shop/controller/BrandController.java index f8712f4..c02df5c 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/BrandController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/BrandController.java @@ -38,6 +38,7 @@ public class BrandController extends BaseController { return success(brandService.pageRel(param)); } + @PreAuthorize("hasAuthority('shop:brand:list')") @ApiOperation("查询全部品牌") @GetMapping() public ApiResult> list(BrandParam param) { @@ -52,6 +53,7 @@ public class BrandController extends BaseController { return success(brandService.getByIdRel(id)); } + @PreAuthorize("hasAuthority('shop:brand:save')") @ApiOperation("添加品牌") @PostMapping() public ApiResult save(@RequestBody Brand brand) { @@ -66,6 +68,7 @@ public class BrandController extends BaseController { return fail("添加失败"); } + @PreAuthorize("hasAuthority('shop:brand:update')") @ApiOperation("修改品牌") @PutMapping() public ApiResult update(@RequestBody Brand brand) { @@ -75,6 +78,7 @@ public class BrandController extends BaseController { return fail("修改失败"); } + @PreAuthorize("hasAuthority('shop:brand:remove')") @ApiOperation("删除品牌") @DeleteMapping("/{id}") public ApiResult remove(@PathVariable("id") Integer id) { @@ -84,6 +88,7 @@ public class BrandController extends BaseController { return fail("删除失败"); } + @PreAuthorize("hasAuthority('shop:brand:save')") @ApiOperation("批量添加品牌") @PostMapping("/batch") public ApiResult saveBatch(@RequestBody List list) { @@ -93,6 +98,7 @@ public class BrandController extends BaseController { return fail("添加失败"); } + @PreAuthorize("hasAuthority('shop:brand:update')") @ApiOperation("批量修改品牌") @PutMapping("/batch") public ApiResult removeBatch(@RequestBody BatchParam batchParam) { @@ -102,6 +108,7 @@ public class BrandController extends BaseController { return fail("修改失败"); } + @PreAuthorize("hasAuthority('shop:brand:remove')") @ApiOperation("批量删除品牌") @DeleteMapping("/batch") public ApiResult removeBatch(@RequestBody List ids) { diff --git a/src/main/java/com/gxwebsoft/shop/controller/OrderController.java b/src/main/java/com/gxwebsoft/shop/controller/OrderController.java index dbd43e5..73af0c0 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/OrderController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/OrderController.java @@ -38,6 +38,7 @@ public class OrderController extends BaseController { return success(orderService.pageRel(param)); } + @PreAuthorize("hasAuthority('shop:order:list')") @ApiOperation("查询全部预约订单") @GetMapping() public ApiResult> list(OrderParam param) { diff --git a/src/main/java/com/gxwebsoft/shop/controller/UsersController.java b/src/main/java/com/gxwebsoft/shop/controller/UsersController.java new file mode 100644 index 0000000..df090ef --- /dev/null +++ b/src/main/java/com/gxwebsoft/shop/controller/UsersController.java @@ -0,0 +1,138 @@ +package com.gxwebsoft.shop.controller; + +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.shop.entity.Users; +import com.gxwebsoft.shop.param.UsersParam; +import com.gxwebsoft.shop.service.UsersService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 用户控制器 + * + * @author 科技小王子 + * @since 2024-05-07 16:25:11 + */ +@Api(tags = "用户管理") +@RestController +@RequestMapping("/api/shop/users") +public class UsersController extends BaseController { + @Resource + private UsersService usersService; + + @ApiOperation("分页查询用户") + @GetMapping("/page") + public ApiResult> page(UsersParam param) { + // 使用关联查询 + return success(usersService.pageRel(param)); + } + + @PreAuthorize("hasAuthority('shop:users:list')") + @ApiOperation("查询全部用户") + @GetMapping() + public ApiResult> list(UsersParam param) { + // 使用关联查询 + return success(usersService.listRel(param)); + } + + @PreAuthorize("hasAuthority('shop:users:list')") + @ApiOperation("根据id查询用户") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(usersService.getByIdRel(id)); + } + + @PreAuthorize("hasAuthority('shop:users:list')") + @ApiOperation("根据手机查询用户") + @GetMapping("/getByPhone") + public ApiResult getByPhone(UsersParam param) { + Users result; + final List users = usersService.listRel(param); + if (users.isEmpty()) { + // 同步注册用户 + final Users addUsers = new Users(); + addUsers.setPhone(param.getPhone()); + addUsers.setUsername("微信用户"); + addUsers.setOpenid(""); + addUsers.setAvatarUrl(""); + addUsers.setSex(0); + addUsers.setIsAdmin(2); + addUsers.setCountry(""); + addUsers.setProvince(""); + addUsers.setCity(""); + addUsers.setRegion(""); + long longValue = System.currentTimeMillis() / 1000; + addUsers.setAddTime((int) longValue); + addUsers.setSortNumber(0); + usersService.save(addUsers); + result = addUsers; + }else { + result = param.getOne(users); + } + return success(result); + } + + @ApiOperation("添加用户") + @PostMapping() + public ApiResult save(@RequestBody Users users) { + if (usersService.save(users)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改用户") + @PutMapping() + public ApiResult update(@RequestBody Users users) { + if (usersService.updateById(users)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除用户") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (usersService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加用户") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (usersService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改用户") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(usersService, "user_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除用户") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (usersService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/booking/entity/Users.java b/src/main/java/com/gxwebsoft/shop/entity/Users.java similarity index 95% rename from src/main/java/com/gxwebsoft/booking/entity/Users.java rename to src/main/java/com/gxwebsoft/shop/entity/Users.java index 5b610d1..8eee8a8 100644 --- a/src/main/java/com/gxwebsoft/booking/entity/Users.java +++ b/src/main/java/com/gxwebsoft/shop/entity/Users.java @@ -1,4 +1,4 @@ -package com.gxwebsoft.booking.entity; +package com.gxwebsoft.shop.entity; import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.TableName; @@ -18,12 +18,12 @@ import lombok.EqualsAndHashCode; * 用户 * * @author 科技小王子 - * @since 2024-04-25 20:44:46 + * @since 2024-05-07 16:25:11 */ @Data @EqualsAndHashCode(callSuper = false) @ApiModel(value = "Users对象", description = "用户") -@TableName("booking_users") +@TableName("shop_users") public class Users implements Serializable { private static final long serialVersionUID = 1L; @@ -43,7 +43,7 @@ public class Users implements Serializable { private String avatarUrl; @ApiModelProperty(value = "1男,2女") - private Boolean sex; + private Integer sex; @ApiModelProperty(value = "国家") private String country; @@ -88,7 +88,7 @@ public class Users implements Serializable { private String realName; @ApiModelProperty(value = "是否管理员:1是;2否") - private Boolean isAdmin; + private Integer isAdmin; @ApiModelProperty(value = "客户端ID") private String clientId; diff --git a/src/main/java/com/gxwebsoft/booking/mapper/UsersMapper.java b/src/main/java/com/gxwebsoft/shop/mapper/UsersMapper.java similarity index 82% rename from src/main/java/com/gxwebsoft/booking/mapper/UsersMapper.java rename to src/main/java/com/gxwebsoft/shop/mapper/UsersMapper.java index 0ef5a03..9cc30ee 100644 --- a/src/main/java/com/gxwebsoft/booking/mapper/UsersMapper.java +++ b/src/main/java/com/gxwebsoft/shop/mapper/UsersMapper.java @@ -1,9 +1,9 @@ -package com.gxwebsoft.booking.mapper; +package com.gxwebsoft.shop.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.gxwebsoft.booking.entity.Users; -import com.gxwebsoft.booking.param.UsersParam; +import com.gxwebsoft.shop.entity.Users; +import com.gxwebsoft.shop.param.UsersParam; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -12,7 +12,7 @@ import java.util.List; * 用户Mapper * * @author 科技小王子 - * @since 2024-04-25 20:44:46 + * @since 2024-05-07 16:25:11 */ public interface UsersMapper extends BaseMapper { diff --git a/src/main/java/com/gxwebsoft/booking/mapper/xml/UsersMapper.xml b/src/main/java/com/gxwebsoft/shop/mapper/xml/UsersMapper.xml similarity index 85% rename from src/main/java/com/gxwebsoft/booking/mapper/xml/UsersMapper.xml rename to src/main/java/com/gxwebsoft/shop/mapper/xml/UsersMapper.xml index 0df6687..d0cef28 100644 --- a/src/main/java/com/gxwebsoft/booking/mapper/xml/UsersMapper.xml +++ b/src/main/java/com/gxwebsoft/shop/mapper/xml/UsersMapper.xml @@ -1,11 +1,11 @@ - + SELECT a.* - FROM booking_users a + FROM shop_users a AND a.user_id = #{param.userId} @@ -98,24 +98,24 @@ AND a.create_time <= #{param.createTimeEnd} - AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') - OR a.phone LIKE CONCAT('%', #{param.keywords}, '%') - OR a.username LIKE CONCAT('%', #{param.keywords}, '%') - OR a.province LIKE CONCAT('%', #{param.keywords}, '%') - OR a.city LIKE CONCAT('%', #{param.keywords}, '%') - OR a.region LIKE CONCAT('%', #{param.keywords}, '%') - ) - + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + OR a.phone LIKE CONCAT('%', #{param.keywords}, '%') + OR a.username LIKE CONCAT('%', #{param.keywords}, '%') + OR a.province LIKE CONCAT('%', #{param.keywords}, '%') + OR a.city LIKE CONCAT('%', #{param.keywords}, '%') + OR a.region LIKE CONCAT('%', #{param.keywords}, '%') + ) + - - diff --git a/src/main/java/com/gxwebsoft/booking/param/UsersParam.java b/src/main/java/com/gxwebsoft/shop/param/UsersParam.java similarity index 96% rename from src/main/java/com/gxwebsoft/booking/param/UsersParam.java rename to src/main/java/com/gxwebsoft/shop/param/UsersParam.java index 39b9b92..bde2ae0 100644 --- a/src/main/java/com/gxwebsoft/booking/param/UsersParam.java +++ b/src/main/java/com/gxwebsoft/shop/param/UsersParam.java @@ -1,4 +1,4 @@ -package com.gxwebsoft.booking.param; +package com.gxwebsoft.shop.param; import java.math.BigDecimal; import com.gxwebsoft.common.core.annotation.QueryField; @@ -14,7 +14,7 @@ import lombok.EqualsAndHashCode; * 用户查询参数 * * @author 科技小王子 - * @since 2024-04-25 20:44:46 + * @since 2024-05-07 16:25:11 */ @Data @EqualsAndHashCode(callSuper = false) @@ -40,7 +40,7 @@ public class UsersParam extends BaseParam { @ApiModelProperty(value = "1男,2女") @QueryField(type = QueryType.EQ) - private Boolean sex; + private Integer sex; @ApiModelProperty(value = "国家") private String country; @@ -90,7 +90,7 @@ public class UsersParam extends BaseParam { @ApiModelProperty(value = "是否管理员:1是;2否") @QueryField(type = QueryType.EQ) - private Boolean isAdmin; + private Integer isAdmin; @ApiModelProperty(value = "客户端ID") private String clientId; diff --git a/src/main/java/com/gxwebsoft/booking/service/UsersService.java b/src/main/java/com/gxwebsoft/shop/service/UsersService.java similarity index 81% rename from src/main/java/com/gxwebsoft/booking/service/UsersService.java rename to src/main/java/com/gxwebsoft/shop/service/UsersService.java index 12fa493..e60f9bc 100644 --- a/src/main/java/com/gxwebsoft/booking/service/UsersService.java +++ b/src/main/java/com/gxwebsoft/shop/service/UsersService.java @@ -1,9 +1,9 @@ -package com.gxwebsoft.booking.service; +package com.gxwebsoft.shop.service; import com.baomidou.mybatisplus.extension.service.IService; import com.gxwebsoft.common.core.web.PageResult; -import com.gxwebsoft.booking.entity.Users; -import com.gxwebsoft.booking.param.UsersParam; +import com.gxwebsoft.shop.entity.Users; +import com.gxwebsoft.shop.param.UsersParam; import java.util.List; @@ -11,7 +11,7 @@ import java.util.List; * 用户Service * * @author 科技小王子 - * @since 2024-04-25 20:44:46 + * @since 2024-05-07 16:25:11 */ public interface UsersService extends IService { diff --git a/src/main/java/com/gxwebsoft/booking/service/impl/UsersServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/UsersServiceImpl.java similarity index 73% rename from src/main/java/com/gxwebsoft/booking/service/impl/UsersServiceImpl.java rename to src/main/java/com/gxwebsoft/shop/service/impl/UsersServiceImpl.java index b8933dd..a5d8448 100644 --- a/src/main/java/com/gxwebsoft/booking/service/impl/UsersServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/UsersServiceImpl.java @@ -1,10 +1,10 @@ -package com.gxwebsoft.booking.service.impl; +package com.gxwebsoft.shop.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.gxwebsoft.booking.mapper.UsersMapper; -import com.gxwebsoft.booking.service.UsersService; -import com.gxwebsoft.booking.entity.Users; -import com.gxwebsoft.booking.param.UsersParam; +import com.gxwebsoft.shop.mapper.UsersMapper; +import com.gxwebsoft.shop.service.UsersService; +import com.gxwebsoft.shop.entity.Users; +import com.gxwebsoft.shop.param.UsersParam; import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.PageResult; import org.springframework.stereotype.Service; @@ -15,15 +15,14 @@ import java.util.List; * 用户Service实现 * * @author 科技小王子 - * @since 2024-04-25 20:44:46 + * @since 2024-05-07 16:25:11 */ @Service public class UsersServiceImpl extends ServiceImpl implements UsersService { - @Override public PageResult pageRel(UsersParam param) { PageParam page = new PageParam<>(param); - page.setDefaultOrder("sort_number asc, create_time desc"); + page.setDefaultOrder("sort_number asc, add_time desc, create_time desc"); List list = baseMapper.selectPageRel(page, param); return new PageResult<>(list, page.getTotal()); } @@ -33,7 +32,7 @@ public class UsersServiceImpl extends ServiceImpl implements List list = baseMapper.selectListRel(param); // 排序 PageParam page = new PageParam<>(); - page.setDefaultOrder("sort_number asc, create_time desc"); + page.setDefaultOrder("sort_number asc, add_time desc, create_time desc"); return page.sortRecords(list); } diff --git a/src/test/java/com/gxwebsoft/generator/ShopGenerator.java b/src/test/java/com/gxwebsoft/generator/ShopGenerator.java index 19c41d9..72d4414 100644 --- a/src/test/java/com/gxwebsoft/generator/ShopGenerator.java +++ b/src/test/java/com/gxwebsoft/generator/ShopGenerator.java @@ -70,7 +70,8 @@ public class ShopGenerator { // "shop_mp_menu" // "shop_order_info", // "shop_order_info_log", - "shop_wechat_deposit" +// "shop_wechat_deposit" + "shop_users" }; // 需要去除的表前缀 private static final String[] TABLE_PREFIX = new String[]{