From a6bbe9bee666d598a851aded804e43c1734b3054 Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 12 Sep 2024 16:17:55 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E6=8B=9C=E8=AE=BFAPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serve/modules/visit/api/VisitMainApi.java | 95 +++++++++++++++++++ .../serve/modules/visit/entity/VisitMain.java | 13 ++- 2 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/visit/api/VisitMainApi.java diff --git a/src/main/java/com/qs/serve/modules/visit/api/VisitMainApi.java b/src/main/java/com/qs/serve/modules/visit/api/VisitMainApi.java new file mode 100644 index 0000000..2e88ee2 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/visit/api/VisitMainApi.java @@ -0,0 +1,95 @@ +package com.qs.serve.modules.visit.api; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.StringUtils; +import com.qs.serve.modules.visit.entity.VisitMain; +import com.qs.serve.modules.visit.service.VisitMainService; +import com.qs.serve.modules.wx.common.consts.WxUserTypeConst; +import com.qs.serve.modules.wx.entity.WxUser; +import com.qs.serve.modules.wx.service.WxUserService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * 系统 拜访 + * @author YenHex + * @since 2024-09-11 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("/api/visit") +public class VisitMainApi { + + private WxUserService wxUserService; + private VisitMainService visitMainService; + + /** + * 用户查看访问申请记录 + * @param param + * @return + */ + @GetMapping("/page") + public R> getPage(VisitMain param){ + WxUser wxUser = wxUserService.getCurrentWxUser(); + if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + lqw.eq(VisitMain::getVisitorId,wxUser.getUserId()); + lqw.orderByDesc(VisitMain::getCreateTime); + PageUtil.startPage(); + List list = visitMainService.list(lqw); + return R.byPageHelperList(list); + } + return R.byEmptyList(); + } + + /** + * ID查询 + * @param id + * @return + */ + @GetMapping("/getById/{id}") + @SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.QUERY) + public R getById(@PathVariable("id") String id){ + VisitMain visitMain = visitMainService.getById(id); + return R.ok(visitMain); + } + + /** + * 更新 + * @param param + * @return + */ + @PostMapping("/updateById") + @SysLog(module = SystemModule.VISIT, title = "拜访", biz = BizType.UPDATE) + public R updateById(@RequestBody @Valid VisitMain param){ + WxUser wxUser = wxUserService.getCurrentWxUser(); + if(wxUser.getUserType().equals(WxUserTypeConst.UMS_MEMBER)){ + //memberId + param.setVisitorId(wxUser.getUserId()); + param.setCheckState(null); + param.setDeptId(null); + param.setDeptName(null); + param.setUserId(null); + param.setUserCode(null); + param.setUserName(null); + param.setSubmitTime(null); + boolean result = visitMainService.updateById(param); + return R.isTrue(result); + } + return R.error("用户角色暂不支持"); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java b/src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java index 1de4dd7..aa0fa9b 100644 --- a/src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java +++ b/src/main/java/com/qs/serve/modules/visit/entity/VisitMain.java @@ -28,8 +28,8 @@ public class VisitMain implements Serializable { private static final long serialVersionUID = 1L; /** id */ - @TableId(type = IdType.AUTO) - private Long id; + @TableId(type = IdType.ASSIGN_UUID) + private String id; /** 审批状态 */ private Integer checkState; @@ -65,10 +65,19 @@ public class VisitMain implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime visitTime; + /** 提交时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime submitTime; + /** 来访公司 */ @Length(max = 255,message = "来访公司长度不能超过255字") private String visitorCompany; + /** 来访人ID */ + @Length(max = 255,message = "来访人姓名长度不能超过255字") + private String visitorId; + /** 来访人姓名 */ @Length(max = 255,message = "来访人姓名长度不能超过255字") private String visitorName;