From bf73241bf4239de0cb285dbfd15e7aa37a9a03e4 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 5 Dec 2024 14:33:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E9=83=A8=E5=88=86=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/mapper/pc/ScenicAccountMapper.java | 15 ++++++ .../model/pc/broker/entity/BrokerEntity.java | 5 ++ .../model/pc/broker/req/BrokerReqQuery.java | 2 + .../pc/scenic/entity/ScenicAccountEntity.java | 19 +++++++ .../pc/scenic/req/ScenicAddOrUpdateReq.java | 10 ++++ .../model/pc/scenic/resp/ScenicRespVO.java | 10 ++++ .../impl/pc/RenderWorkerServiceImpl.java | 5 ++ .../service/impl/pc/ScenicServiceImpl.java | 41 +++++++++++++++ src/main/resources/mapper/pc/BrokerMapper.xml | 10 +++- .../mapper/pc/ScenicAccountMapper.xml | 52 +++++++++++++++++++ src/main/resources/mapper/pc/ScenicMapper.xml | 15 ++++-- 11 files changed, 179 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/ycwl/basic/mapper/pc/ScenicAccountMapper.java create mode 100644 src/main/java/com/ycwl/basic/model/pc/scenic/entity/ScenicAccountEntity.java create mode 100644 src/main/resources/mapper/pc/ScenicAccountMapper.xml diff --git a/src/main/java/com/ycwl/basic/mapper/pc/ScenicAccountMapper.java b/src/main/java/com/ycwl/basic/mapper/pc/ScenicAccountMapper.java new file mode 100644 index 0000000..ca5901b --- /dev/null +++ b/src/main/java/com/ycwl/basic/mapper/pc/ScenicAccountMapper.java @@ -0,0 +1,15 @@ +package com.ycwl.basic.mapper.pc; + +import com.ycwl.basic.model.pc.scenic.entity.ScenicAccountEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ScenicAccountMapper { + ScenicAccountEntity getByAccount(String account); + int add(ScenicAccountEntity scenicAccount); + ScenicAccountEntity getSuperAccountOfScenic(Long scenicId); + int update(ScenicAccountEntity scenicAccount); + int deleteById(Long id); + int updateStatus(Long id); + int deleteByScenicId(Long scenicId); +} diff --git a/src/main/java/com/ycwl/basic/model/pc/broker/entity/BrokerEntity.java b/src/main/java/com/ycwl/basic/model/pc/broker/entity/BrokerEntity.java index d195acc..04418c7 100644 --- a/src/main/java/com/ycwl/basic/model/pc/broker/entity/BrokerEntity.java +++ b/src/main/java/com/ycwl/basic/model/pc/broker/entity/BrokerEntity.java @@ -20,6 +20,7 @@ public class BrokerEntity { * 推客名称 */ private String name; + private String phone; /** * 专属优惠码,新建时生成 */ @@ -30,4 +31,8 @@ public class BrokerEntity { private Integer status; private Date createAt; private Date updateAt; + private Integer brokerOrderCount; + private Integer brokerOrderAmount; + private Date firstBrokerDate; + private Date lastBrokerDate; } diff --git a/src/main/java/com/ycwl/basic/model/pc/broker/req/BrokerReqQuery.java b/src/main/java/com/ycwl/basic/model/pc/broker/req/BrokerReqQuery.java index c3ff059..9775b67 100644 --- a/src/main/java/com/ycwl/basic/model/pc/broker/req/BrokerReqQuery.java +++ b/src/main/java/com/ycwl/basic/model/pc/broker/req/BrokerReqQuery.java @@ -18,6 +18,8 @@ public class BrokerReqQuery extends BaseQueryParameterReq { private Long id; @ApiModelProperty("推客名称") private String name; + @ApiModelProperty("手机号") + private String phone; @ApiModelProperty("专属优惠码") private String promoCode; @ApiModelProperty("状态,0禁用,1启用") 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 new file mode 100644 index 0000000..8c8c3ee --- /dev/null +++ b/src/main/java/com/ycwl/basic/model/pc/scenic/entity/ScenicAccountEntity.java @@ -0,0 +1,19 @@ +package com.ycwl.basic.model.pc.scenic.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +@Data +@TableName("scenic_account") +public class ScenicAccountEntity { + private Long id; + private Long scenicId; + private Integer isSuper; + private String name; + private String account; + private String password; + private Date createTime; + private Date updateTime; +} diff --git a/src/main/java/com/ycwl/basic/model/pc/scenic/req/ScenicAddOrUpdateReq.java b/src/main/java/com/ycwl/basic/model/pc/scenic/req/ScenicAddOrUpdateReq.java index 224946d..eb74a15 100644 --- a/src/main/java/com/ycwl/basic/model/pc/scenic/req/ScenicAddOrUpdateReq.java +++ b/src/main/java/com/ycwl/basic/model/pc/scenic/req/ScenicAddOrUpdateReq.java @@ -22,6 +22,11 @@ public class ScenicAddOrUpdateReq { */ @ApiModelProperty("景区名称") private String name; + /** + * 景区电话 + */ + @ApiModelProperty("联系电话") + private String phone; /** * 景区介绍 */ @@ -75,4 +80,9 @@ public class ScenicAddOrUpdateReq { private ScenicConfigEntity scenicConfig; @ApiModelProperty("景区源素材价格,元") private BigDecimal price; + + @ApiModelProperty("账号") + private String account; + @ApiModelProperty("密码") + private String password; } diff --git a/src/main/java/com/ycwl/basic/model/pc/scenic/resp/ScenicRespVO.java b/src/main/java/com/ycwl/basic/model/pc/scenic/resp/ScenicRespVO.java index 2685313..87d7b7e 100644 --- a/src/main/java/com/ycwl/basic/model/pc/scenic/resp/ScenicRespVO.java +++ b/src/main/java/com/ycwl/basic/model/pc/scenic/resp/ScenicRespVO.java @@ -23,6 +23,16 @@ public class ScenicRespVO { */ @ApiModelProperty("景区名称") private String name; + /** + * 账号 + */ + @ApiModelProperty("账号") + private String account; + /** + * 联系电话 + */ + @ApiModelProperty("联系电话") + private String phone; /** * 景区介绍 */ diff --git a/src/main/java/com/ycwl/basic/service/impl/pc/RenderWorkerServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/pc/RenderWorkerServiceImpl.java index 8ce6fb5..3dfe1a8 100644 --- a/src/main/java/com/ycwl/basic/service/impl/pc/RenderWorkerServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/pc/RenderWorkerServiceImpl.java @@ -8,6 +8,7 @@ import com.ycwl.basic.model.pc.renderWorker.req.RenderWorkerReqQuery; import com.ycwl.basic.service.pc.RenderWorkerService; import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.SnowFlakeUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -44,6 +45,10 @@ public class RenderWorkerServiceImpl implements RenderWorkerService { @Override public ApiResponse add(RenderWorkerEntity renderWorker) { renderWorker.setId(SnowFlakeUtil.getLongId()); + if (StringUtils.isEmpty(renderWorker.getAccessKey())) { + renderWorker.setAccessKey(SnowFlakeUtil.getId()); + } + renderWorker.setStatus(0); int add = renderWorkerMapper.add(renderWorker); if (add == 0) { return ApiResponse.fail("渲染机添加失败"); diff --git a/src/main/java/com/ycwl/basic/service/impl/pc/ScenicServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/pc/ScenicServiceImpl.java index 731bb16..954a504 100644 --- a/src/main/java/com/ycwl/basic/service/impl/pc/ScenicServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/pc/ScenicServiceImpl.java @@ -2,7 +2,9 @@ package com.ycwl.basic.service.impl.pc; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.ycwl.basic.mapper.pc.ScenicAccountMapper; import com.ycwl.basic.mapper.pc.ScenicMapper; +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.req.ScenicAddOrUpdateReq; import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery; @@ -10,6 +12,7 @@ import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO; import com.ycwl.basic.service.pc.ScenicService; import com.ycwl.basic.utils.ApiResponse; import com.ycwl.basic.utils.SnowFlakeUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,6 +27,8 @@ import java.util.List; public class ScenicServiceImpl implements ScenicService { @Autowired private ScenicMapper scenicMapper; + @Autowired + private ScenicAccountMapper scenicAccountMapper; @Override public ApiResponse> pageQuery(ScenicReqQuery scenicReqQuery) { @@ -46,9 +51,21 @@ public class ScenicServiceImpl implements ScenicService { @Override @Transactional(rollbackFor = Exception.class) public ApiResponse add(ScenicAddOrUpdateReq scenicAddReq) { + ScenicAccountEntity scenicAccount = scenicAccountMapper.getByAccount(scenicAddReq.getAccount()); + if (scenicAccount != null) { + return ApiResponse.fail("账号已存在"); + } Long scenicId = SnowFlakeUtil.getLongId(); scenicAddReq.setId(scenicId); int add = scenicMapper.add(scenicAddReq); + ScenicAccountEntity account = new ScenicAccountEntity(); + account.setId(SnowFlakeUtil.getLongId()); + account.setScenicId(scenicId); + account.setName(scenicAddReq.getName() + "管理员"); + account.setAccount(scenicAddReq.getAccount()); + account.setPassword(scenicAddReq.getPassword()); + account.setIsSuper(1); + scenicAccountMapper.add(account); if (add > 0) { return ApiResponse.success(true); }else { @@ -62,6 +79,7 @@ public class ScenicServiceImpl implements ScenicService { int i = scenicMapper.deleteById(id); if (i > 0) { scenicMapper.deleteConfigByscenicId(id); + scenicAccountMapper.deleteByScenicId(id); return ApiResponse.success(true); }else { return ApiResponse.fail("景区删除失败"); @@ -70,6 +88,29 @@ public class ScenicServiceImpl implements ScenicService { @Override public ApiResponse update(ScenicAddOrUpdateReq scenicUpdateReq) { + if (StringUtils.isNotBlank(scenicUpdateReq.getAccount()) && StringUtils.isNotBlank(scenicUpdateReq.getPassword())) { + ScenicAccountEntity scenicAccount = scenicAccountMapper.getByAccount(scenicUpdateReq.getAccount()); + if (scenicAccount != null) { + if (!scenicAccount.getScenicId().equals(scenicUpdateReq.getId())) { + return ApiResponse.fail("账号已存在"); + } + } + ScenicAccountEntity account = scenicAccountMapper.getSuperAccountOfScenic(scenicUpdateReq.getId()); + if (account != null) { + account.setAccount(scenicUpdateReq.getAccount()); + account.setPassword(scenicUpdateReq.getPassword()); + scenicAccountMapper.update(account); + } else { + account = new ScenicAccountEntity(); + account.setId(SnowFlakeUtil.getLongId()); + account.setScenicId(scenicUpdateReq.getId()); + account.setName(scenicUpdateReq.getName() + "管理员"); + account.setAccount(scenicUpdateReq.getAccount()); + account.setPassword(scenicUpdateReq.getPassword()); + account.setIsSuper(1); + scenicAccountMapper.add(account); + } + } int i = scenicMapper.update(scenicUpdateReq); if (i > 0) { return ApiResponse.success(true); diff --git a/src/main/resources/mapper/pc/BrokerMapper.xml b/src/main/resources/mapper/pc/BrokerMapper.xml index a498c76..d2a6700 100644 --- a/src/main/resources/mapper/pc/BrokerMapper.xml +++ b/src/main/resources/mapper/pc/BrokerMapper.xml @@ -23,12 +23,20 @@ delete from broker where id = #{id} + select id, scenic_id, is_super, name, account, password, create_time, update_time + from scenic_account + where scenic_id = #{scenicId} and is_super = 1 + + + \ No newline at end of file diff --git a/src/main/resources/mapper/pc/ScenicMapper.xml b/src/main/resources/mapper/pc/ScenicMapper.xml index 68149e5..cb3e504 100644 --- a/src/main/resources/mapper/pc/ScenicMapper.xml +++ b/src/main/resources/mapper/pc/ScenicMapper.xml @@ -16,6 +16,9 @@ `name`=#{name}, + + `phone`=#{phone}, + introduction=#{introduction}, @@ -77,8 +80,10 @@ delete from scenic_config where scenic_id = #{scenicId} - + + +