From 3fed2873659f5f9497a9ffd4657951427a9b176b Mon Sep 17 00:00:00 2001 From: xhxu Date: Fri, 20 Jan 2023 02:03:05 +0800 Subject: [PATCH] //msg --- .../sm/UserInviteCodeController.java | 95 +++++++++++++++++++ .../iformall/controller/BaseController.java | 8 ++ .../controller/UserInviteCodeController.java | 71 ++++++++++++++ .../interceptor/AuthorizationInterceptor.java | 2 + .../iformall/domain/po/sm/UserInviteCode.java | 41 ++++++++ .../iformall/mapper/UserInviteCodeMapper.java | 16 ++++ .../service/sm/UserInviteCodeService.java | 44 +++++++++ .../sm/impl/UserInviteCodeServiceImpl.java | 66 +++++++++++++ .../resources/mapper/MouldPatchMapper.xml | 7 +- .../resources/mapper/UserInviteCodeMapper.xml | 74 +++++++++++++++ .../resources/mapper/UserMouldVideoMapper.xml | 7 +- 11 files changed, 427 insertions(+), 4 deletions(-) create mode 100644 suimangAdmin/src/main/java/com/iformall/controller/sm/UserInviteCodeController.java create mode 100644 suimangCApi/src/main/java/com/iformall/controller/UserInviteCodeController.java create mode 100644 suimangService/src/main/java/com/iformall/domain/po/sm/UserInviteCode.java create mode 100644 suimangService/src/main/java/com/iformall/mapper/UserInviteCodeMapper.java create mode 100644 suimangService/src/main/java/com/iformall/service/sm/UserInviteCodeService.java create mode 100644 suimangService/src/main/java/com/iformall/service/sm/impl/UserInviteCodeServiceImpl.java create mode 100644 suimangService/src/main/resources/mapper/UserInviteCodeMapper.xml diff --git a/suimangAdmin/src/main/java/com/iformall/controller/sm/UserInviteCodeController.java b/suimangAdmin/src/main/java/com/iformall/controller/sm/UserInviteCodeController.java new file mode 100644 index 0000000..df7ad6d --- /dev/null +++ b/suimangAdmin/src/main/java/com/iformall/controller/sm/UserInviteCodeController.java @@ -0,0 +1,95 @@ +package com.iformall.controller.sm; + +import com.github.pagehelper.PageInfo; +import com.iformall.annotation.SystemControllerLog; +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.controller.base.BaseController; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.po.sm.MouldPatch; +import com.iformall.domain.po.sm.MouldPatchSign; +import com.iformall.domain.po.sm.UserInviteCode; +import com.iformall.enums.EnumYesOrNo; +import com.iformall.service.sm.MouldPatchService; +import com.iformall.service.sm.MouldPatchSignService; +import com.iformall.service.sm.UserInviteCodeService; +import com.iformall.utils.sign.AppUtils; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +@RestController +@RequestMapping("inviteCode") +@Api(description = "邀请码接口") +public class UserInviteCodeController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private UserInviteCodeService userInviteCodeService; + + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute UserInviteCode record, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] UserInviteCodeController::list"); + if (record == null) record = new UserInviteCode(); + record.setSortColumns(BaseEntity.SortField.UpdateDate_DESC); + final PageInfo page = userInviteCodeService.listAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("新增接口") + @PostMapping("save") + @SystemControllerLog(description = "-新增") + public ResultData save(@RequestBody UserInviteCode record) { + logger.debug("[" + getIpAddr() + "] UserInviteCodeController::saveOrUpdate"); + if(StringUtils.isBlank(record.getInviteName())){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + record.setId(null); + record.setInviteCode(AppUtils.getAppId()); + + UserInviteCode inviteCode = new UserInviteCode(); + inviteCode.setInviteCode(record.getInviteCode()); + inviteCode = userInviteCodeService.selectOne(inviteCode); + if(inviteCode != null){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"生成邀请码重复,请重新生成"); + } + + record.updateTenantInfo(getTenantInfo()); + userInviteCodeService.saveOrUpdate(record); + return new ResultData(record); + } + + @ApiOperation("根据id删除接口") + @GetMapping("/del") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + @SystemControllerLog(description = "删除") + public ResultData delete(Long id) { + logger.debug("[" + getIpAddr() + "] UserInviteCodeController::delete"); + userInviteCodeService.deleteById(id); + return new ResultData(); + } + + @ApiOperation("根据id查询接口") + @GetMapping("/findById") + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) + @SystemControllerLog(description = "查询") + public ResultData findById(Long id) { + logger.debug("[" + getIpAddr() + "] UserInviteCodeController::findById"); + UserInviteCode inviteCode = userInviteCodeService.getById(id); + return new ResultData(inviteCode); + } + +} diff --git a/suimangCApi/src/main/java/com/iformall/controller/BaseController.java b/suimangCApi/src/main/java/com/iformall/controller/BaseController.java index a6b462f..571c475 100644 --- a/suimangCApi/src/main/java/com/iformall/controller/BaseController.java +++ b/suimangCApi/src/main/java/com/iformall/controller/BaseController.java @@ -106,6 +106,14 @@ public class BaseController { return new TenantEntity(); } + public WxCUserBasicInfo getCUser() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + WxCUserBasicInfo baseuser = (WxCUserBasicInfo) request.getAttribute(Constant.REQUEST_C_USER_KEY); + if (baseuser == null) { + throw new MallinkException(ErrorCode.USER_IS_EMPTY); + } + return baseuser; + } public Long getMemberId() { HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); diff --git a/suimangCApi/src/main/java/com/iformall/controller/UserInviteCodeController.java b/suimangCApi/src/main/java/com/iformall/controller/UserInviteCodeController.java new file mode 100644 index 0000000..2a8483f --- /dev/null +++ b/suimangCApi/src/main/java/com/iformall/controller/UserInviteCodeController.java @@ -0,0 +1,71 @@ +package com.iformall.controller; + +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.domain.po.sm.UserInviteCode; +import com.iformall.enums.EnumYesOrNo; +import com.iformall.service.sm.UserInviteCodeService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +@RestController +@RequestMapping("/api/inviteCode") +@Api(description = "模板接口") +public class UserInviteCodeController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private UserInviteCodeService userInviteCodeService; + + + @ApiOperation("使用邀请码") + @PostMapping("update") + public ResultData saveOrUpdate(@RequestBody Map map) { + logger.debug("[" + getIpAddr() + "] UserInviteCodeController::saveOrUpdate"); + String code = map.get("inviteCode"); + if(StringUtils.isBlank(code)){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + UserInviteCode inviteCode = new UserInviteCode(); + inviteCode.setUserId(getMemberId()); + inviteCode = userInviteCodeService.selectOne(inviteCode); + if(inviteCode != null){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该会员已使用邀请码"); + } + inviteCode = new UserInviteCode(); + inviteCode.setInviteCode(code); + inviteCode.setStatus(EnumYesOrNo.NO.getCode()); + inviteCode = userInviteCodeService.selectOne(inviteCode); + if(inviteCode == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该邀请码未找到或已失效"); + } + + WxCUserBasicInfo basicUser = getCUser(); + inviteCode.setStatus(EnumYesOrNo.YES.getCode()); + inviteCode.setUserId(basicUser.getId()); + inviteCode.setUserPhone(basicUser.getPhone()); + inviteCode.setUserDate(basicUser.getCreateDate()); + userInviteCodeService.saveOrUpdate(inviteCode); + return new ResultData(); + } + + @ApiOperation("根据id查询接口") + @GetMapping("/find") + public ResultData find() { + logger.debug("[" + getIpAddr() + "] UserInviteCodeController::find"); + UserInviteCode inviteCode = new UserInviteCode(); + inviteCode.setUserId(getMemberId()); + inviteCode = userInviteCodeService.selectOne(inviteCode); + return new ResultData(inviteCode); + } + +} diff --git a/suimangCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java b/suimangCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java index 5cde095..e9f4182 100644 --- a/suimangCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java +++ b/suimangCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java @@ -73,7 +73,9 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if(basicInfo == null){ throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录"); } + request.setAttribute(Constant.LOGIN_MEMBER_KEY,basicInfo.getId()); + request.setAttribute(Constant.REQUEST_C_USER_KEY, basicInfo); return true; } diff --git a/suimangService/src/main/java/com/iformall/domain/po/sm/UserInviteCode.java b/suimangService/src/main/java/com/iformall/domain/po/sm/UserInviteCode.java new file mode 100644 index 0000000..7c434f8 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/domain/po/sm/UserInviteCode.java @@ -0,0 +1,41 @@ +package com.iformall.domain.po.sm; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.po.base.TenantEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +@TableName(value = "user_invite_code") +@Data +@EqualsAndHashCode(callSuper = true) +public class UserInviteCode extends TenantEntity { + + protected Long id; + + @io.swagger.annotations.ApiModelProperty(value="邀请码",name="inviteCode") + private String inviteCode; + + @io.swagger.annotations.ApiModelProperty(value="邀请码",name="inviteName") + private String inviteName; + + @io.swagger.annotations.ApiModelProperty(value="EnumYesOrNo 是否使用",name="status") + private Integer status; + + @io.swagger.annotations.ApiModelProperty(value="用户ID",name="userId") + private Long userId; + + @io.swagger.annotations.ApiModelProperty(value="用户手机号",name="userPhone") + private String userPhone; + + @io.swagger.annotations.ApiModelProperty(value="用户注册时间",name="userDate") + private Date userDate; + + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + private Date createDate; + @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") + private Date updateDate; + +} diff --git a/suimangService/src/main/java/com/iformall/mapper/UserInviteCodeMapper.java b/suimangService/src/main/java/com/iformall/mapper/UserInviteCodeMapper.java new file mode 100644 index 0000000..68da484 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/mapper/UserInviteCodeMapper.java @@ -0,0 +1,16 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.sm.UserInviteCode; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface UserInviteCodeMapper extends CommonMapper { + + List findList(UserInviteCode record); + + int deleteById(@Param("id")Long id); + + UserInviteCode findOne(UserInviteCode inviteCode); +} diff --git a/suimangService/src/main/java/com/iformall/service/sm/UserInviteCodeService.java b/suimangService/src/main/java/com/iformall/service/sm/UserInviteCodeService.java new file mode 100644 index 0000000..04a4ab6 --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/sm/UserInviteCodeService.java @@ -0,0 +1,44 @@ +package com.iformall.service.sm; + +import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.sm.UserInviteCode; + +import java.util.List; + +public interface UserInviteCodeService { + + List getList(UserInviteCode record); + + /** + * 根据实体查询分页列表 + * + * @param record + * @return + */ + PageInfo listAsPage(UserInviteCode record, Integer pageIndex, Integer pageSize); + + /** + * 根据Id获得实体 + * + * @param id + * @return + */ + UserInviteCode getById(Long id); + + /** + * 保存或更新实体 + * + * @param record + */ + void saveOrUpdate(UserInviteCode record); + + /** + * 根据Id删除实体 + * + * @param id + */ + void deleteById(Long id); + + + UserInviteCode selectOne(UserInviteCode inviteCode); +} diff --git a/suimangService/src/main/java/com/iformall/service/sm/impl/UserInviteCodeServiceImpl.java b/suimangService/src/main/java/com/iformall/service/sm/impl/UserInviteCodeServiceImpl.java new file mode 100644 index 0000000..5573e1f --- /dev/null +++ b/suimangService/src/main/java/com/iformall/service/sm/impl/UserInviteCodeServiceImpl.java @@ -0,0 +1,66 @@ +package com.iformall.service.sm.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.common.IdWorker; +import com.iformall.domain.po.sm.UserInviteCode; +import com.iformall.mapper.UserInviteCodeMapper; +import com.iformall.service.sm.UserInviteCodeService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +@Service +public class UserInviteCodeServiceImpl implements UserInviteCodeService { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + UserInviteCodeMapper userInviteCodeMapper; + + + @Override + public List getList(UserInviteCode record) { + return userInviteCodeMapper.findList(record); + } + + @Override + public PageInfo listAsPage(UserInviteCode record, Integer pageIndex, Integer pageSize) { + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> userInviteCodeMapper.findList(record)); + } + + @Override + public UserInviteCode getById(Long id) { + return userInviteCodeMapper.selectById(id); + } + + @Override + public void saveOrUpdate(UserInviteCode record) { + Date now = new Date(); + if (record.getId() == null) { + //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + record.setCreateDate(now); + record.setUpdateDate(now); + userInviteCodeMapper.insert(record); + } else { + record.setUpdateDate(now); + userInviteCodeMapper.updateById(record); + } + } + + @Override + public void deleteById(Long id) { + userInviteCodeMapper.deleteById(id); + } + + @Override + public UserInviteCode selectOne(UserInviteCode inviteCode) { + return userInviteCodeMapper.findOne(inviteCode); + } + +} diff --git a/suimangService/src/main/resources/mapper/MouldPatchMapper.xml b/suimangService/src/main/resources/mapper/MouldPatchMapper.xml index b738a5f..3e91a8e 100644 --- a/suimangService/src/main/resources/mapper/MouldPatchMapper.xml +++ b/suimangService/src/main/resources/mapper/MouldPatchMapper.xml @@ -91,8 +91,11 @@ and `status` = #{status} - - and `create_date` between #{startDate} and #{endDate} + + and create_date >= #{startDate} + + + and create_date < #{endDate} diff --git a/suimangService/src/main/resources/mapper/UserInviteCodeMapper.xml b/suimangService/src/main/resources/mapper/UserInviteCodeMapper.xml new file mode 100644 index 0000000..dc1d57f --- /dev/null +++ b/suimangService/src/main/resources/mapper/UserInviteCodeMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + `id`,`invite_code`,`invite_name`,`status` + ,`user_id`,`user_phone`,`user_date` + ,`create_date`,`update_date` + + + + where `is_del` = 0 + + + and `id` = #{id} + + + + and `invite_code` like concat('%', #{inviteCode},'%') + + + + and `invite_name` like concat('%', #{inviteName},'%') + + + + and `status` = #{status} + + + + and `user_id` = #{userId} + + + + and `user_phone` like concat('%', #{userPhone},'%') + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + update user_invite_code set is_del = 1,update_date = now() where id = #{id} + + + diff --git a/suimangService/src/main/resources/mapper/UserMouldVideoMapper.xml b/suimangService/src/main/resources/mapper/UserMouldVideoMapper.xml index 0a5332d..82af886 100644 --- a/suimangService/src/main/resources/mapper/UserMouldVideoMapper.xml +++ b/suimangService/src/main/resources/mapper/UserMouldVideoMapper.xml @@ -75,8 +75,11 @@ and `video_status` = #{videoStatus} - - and `create_date` between #{startDate} and #{endDate} + + and create_date >= #{startDate} + + + and create_date < #{endDate}