diff --git a/src/main/java/com/ycwl/basic/controller/pc/ScenicAccountController.java b/src/main/java/com/ycwl/basic/controller/pc/ScenicAccountController.java index 53772ed..faa58b5 100644 --- a/src/main/java/com/ycwl/basic/controller/pc/ScenicAccountController.java +++ b/src/main/java/com/ycwl/basic/controller/pc/ScenicAccountController.java @@ -39,6 +39,13 @@ public class ScenicAccountController { return result > 0 ? ApiResponse.success("更新成功") : ApiResponse.fail("更新失败"); } + // 激活/停用景区账号 + @PostMapping("/updateActiveStatus/{id}") + public ApiResponse updateActiveStatus(@PathVariable Long id) { + int result = service.updateActiveStatus(id); + return result > 0 ? ApiResponse.success("操作成功") : ApiResponse.fail("操作失败"); + } + // 更新景区账号 @PostMapping("/update") public ApiResponse updateScenicAccount(@RequestBody ScenicAccountEntity entity) { diff --git a/src/main/java/com/ycwl/basic/mapper/ScenicAccountMapper.java b/src/main/java/com/ycwl/basic/mapper/ScenicAccountMapper.java index a6b7ce4..ecc9e82 100644 --- a/src/main/java/com/ycwl/basic/mapper/ScenicAccountMapper.java +++ b/src/main/java/com/ycwl/basic/mapper/ScenicAccountMapper.java @@ -14,6 +14,7 @@ public interface ScenicAccountMapper { int update(ScenicAccountEntity scenicAccount); int deleteById(Long id); int updateStatus(Long id); + int updateActiveStatus(Long id); int deleteByScenicId(Long scenicId); ScenicAccountEntity findAccountById(String id); diff --git a/src/main/java/com/ycwl/basic/model/pc/scenic/entity/ScenicAccountEntity.java b/src/main/java/com/ycwl/basic/model/pc/scenic/entity/ScenicAccountEntity.java index ade8398..48b043d 100644 --- a/src/main/java/com/ycwl/basic/model/pc/scenic/entity/ScenicAccountEntity.java +++ b/src/main/java/com/ycwl/basic/model/pc/scenic/entity/ScenicAccountEntity.java @@ -17,6 +17,7 @@ public class ScenicAccountEntity { private String account; private String password; private Integer status; + private Integer isActive; private Date createTime; private Date updateTime; } diff --git a/src/main/java/com/ycwl/basic/service/mobile/impl/AppScenicServiceImpl.java b/src/main/java/com/ycwl/basic/service/mobile/impl/AppScenicServiceImpl.java index bca2acb..b3ab480 100644 --- a/src/main/java/com/ycwl/basic/service/mobile/impl/AppScenicServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/mobile/impl/AppScenicServiceImpl.java @@ -90,6 +90,9 @@ public class AppScenicServiceImpl implements AppScenicService { if (scenicAccount.getStatus() == 0) { return ApiResponse.fail("账号已被禁用"); } + if (scenicAccount.getIsActive() == null || scenicAccount.getIsActive() != 1) { + return ApiResponse.fail("账号未激活"); + } if (!scenicAccount.getPassword().equals(scenicLoginReq.getPassword())) { return ApiResponse.fail("密码错误"); } diff --git a/src/main/java/com/ycwl/basic/service/pc/ScenicAccountService.java b/src/main/java/com/ycwl/basic/service/pc/ScenicAccountService.java index a57bb85..dac55b2 100644 --- a/src/main/java/com/ycwl/basic/service/pc/ScenicAccountService.java +++ b/src/main/java/com/ycwl/basic/service/pc/ScenicAccountService.java @@ -17,5 +17,7 @@ public interface ScenicAccountService { int updateStatus(Long id); + int updateActiveStatus(Long id); + ScenicAccountEntity getScenicAccountByAccount(String account); } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/ScenicAccountServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/ScenicAccountServiceImpl.java index 7b75912..bdf0194 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/ScenicAccountServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/ScenicAccountServiceImpl.java @@ -72,6 +72,11 @@ public class ScenicAccountServiceImpl implements ScenicAccountService { return mapper.updateStatus(id); } + @Override + public int updateActiveStatus(Long id) { + return mapper.updateActiveStatus(id); + } + @Override public ScenicAccountEntity getScenicAccountByAccount(String account) { ScenicAccountEntity accountEntity = mapper.getByAccount(account); diff --git a/src/main/java/com/ycwl/basic/utils/WxMpUtil.java b/src/main/java/com/ycwl/basic/utils/WxMpUtil.java index b2e6344..5f1d8b9 100644 --- a/src/main/java/com/ycwl/basic/utils/WxMpUtil.java +++ b/src/main/java/com/ycwl/basic/utils/WxMpUtil.java @@ -141,6 +141,6 @@ public class WxMpUtil { } public static void main(String[] args) throws Exception { - generateWXAQRCode("wxe7ff26af70bfc37c", "5252fbbc68513bc77b7cc0052b9f9695", "trial", "pages/home/index?scenicId=3978838215909052416", "dhg_t.jpg"); + generateWXAQRCode("wxe7ff26af70bfc37c", "5252fbbc68513bc77b7cc0052b9f9695", "trial", "pages/home/index?scenicId=3930324797233434624&morphId=22", "zt_p_t.jpg"); } } \ No newline at end of file diff --git a/src/main/resources/mapper/ScenicAccountMapper.xml b/src/main/resources/mapper/ScenicAccountMapper.xml index 01ea7ab..e399976 100644 --- a/src/main/resources/mapper/ScenicAccountMapper.xml +++ b/src/main/resources/mapper/ScenicAccountMapper.xml @@ -2,8 +2,8 @@ - insert into scenic_account(id, is_super, name, phone, account, password, create_time, update_time) - values (#{id}, #{isSuper}, #{name}, #{phone}, #{account}, #{password}, now(), now()) + insert into scenic_account(id, is_super, name, phone, account, password, is_active, create_time, update_time) + values (#{id}, #{isSuper}, #{name}, #{phone}, #{account}, #{password}, #{isActive}, now(), now()) insert into account_scenic(account_id, scenic_id, is_admin) @@ -24,6 +24,9 @@ password = #{password}, + + is_active = #{isActive}, + update_time = now() where id = #{id} @@ -39,6 +42,17 @@ END) where id = #{id} + + update scenic_account + set is_active = (CASE + WHEN is_active = 1 THEN + 0 + WHEN is_active = 0 THEN + 1 + ELSE 1 + END) + where id = #{id} + delete from scenic_account where id = #{id} @@ -53,12 +67,12 @@