From 8dfa874483d682c540b5ee0fd74206cf94b240c3 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Tue, 21 Nov 2023 15:33:14 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=9D=99=E9=BB=98=E7=99=BB=E5=BD=95=20?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=89=8B=E6=9C=BA=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yxt/yyth/api/lpkcustomer/LpkCustomer.java | 33 +++++++ .../yyth/api/lpkcustomer/LpkCustomerDto.java | 14 +++ .../api/lpkcustomer/LpkCustomerQuery.java | 14 +++ .../yyth/api/lpkcustomer/LpkCustomerVo.java | 16 ++++ .../yyth/api/lpkcustomer/WxBindMobileDto.java | 17 ++++ .../biz/lpkcustomer/LpkCustomerMapper.java | 13 +++ .../biz/lpkcustomer/LpkCustomerMapper.xml | 7 ++ .../yyth/biz/lpkcustomer/LpkCustomerRest.java | 35 ++++++++ .../biz/lpkcustomer/LpkCustomerService.java | 89 +++++++++++++++++++ 9 files changed, 238 insertions(+) create mode 100644 src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomer.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerDto.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java create mode 100644 src/main/java/com/yxt/yyth/api/lpkcustomer/WxBindMobileDto.java create mode 100644 src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java create mode 100644 src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml create mode 100644 src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java create mode 100644 src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomer.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomer.java new file mode 100644 index 0000000..673ba63 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomer.java @@ -0,0 +1,33 @@ +package com.yxt.yyth.api.lpkcustomer; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +import java.util.Date; +import java.util.UUID; + +/** + * @author wangpengfei + * @date 2023/11/21 15:06 + */ +@ApiModel(value = "客户信息", description = "客户信息") +@TableName("lpk_customer") +@Data +public class LpkCustomer { + private String id; + private String sid=UUID.randomUUID().toString(); + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date createTime; + private String remarks; + private String isEnable; + @TableField(value = "wx_mp_openid") + private String wxMpOpenid; + private String mobile; + private String bindDate; + private String realName; + private String nick; + private String photo; +} diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerDto.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerDto.java new file mode 100644 index 0000000..f356c74 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerDto.java @@ -0,0 +1,14 @@ +package com.yxt.yyth.api.lpkcustomer; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:13 + */ +@ApiModel(value = "客户信息 数据传输对象", description = "客户信息 数据传输对象") +@Data +public class LpkCustomerDto implements Dto { +} diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java new file mode 100644 index 0000000..6e5624b --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java @@ -0,0 +1,14 @@ +package com.yxt.yyth.api.lpkcustomer; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2023/11/21 15:31 + */ +@ApiModel(value = "客户信息 查询条件", description = "客户信息 查询条件") +@Data +public class LpkCustomerQuery implements Query { +} diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java new file mode 100644 index 0000000..cdc2425 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java @@ -0,0 +1,16 @@ +package com.yxt.yyth.api.lpkcustomer; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author wangpengfei + * @date 2023/11/21 15:12 + */ +@Data +@ApiModel(value = "客户信息 视图数据对象", description = "客户信息 视图数据对象") +@NoArgsConstructor +public class LpkCustomerVo implements Vo { +} diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/WxBindMobileDto.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/WxBindMobileDto.java new file mode 100644 index 0000000..1ab9506 --- /dev/null +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/WxBindMobileDto.java @@ -0,0 +1,17 @@ +package com.yxt.yyth.api.lpkcustomer; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class WxBindMobileDto implements Dto { + + @ApiModelProperty(value = "手机号") + private String mobile; + @ApiModelProperty(value = "验证码") + private String code; + //微信id + private String openid; + private String unionid; +} diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java new file mode 100644 index 0000000..579a5a2 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java @@ -0,0 +1,13 @@ +package com.yxt.yyth.biz.lpkcustomer; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Mapper +public interface LpkCustomerMapper extends BaseMapper { +} diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml new file mode 100644 index 0000000..81a3049 --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java new file mode 100644 index 0000000..3ed351a --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java @@ -0,0 +1,35 @@ +package com.yxt.yyth.biz.lpkcustomer; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; +import com.yxt.yyth.api.lpkcustomer.WxBindMobileDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ + +@Api(tags = "用户信息") +@RestController +@RequestMapping("lpkcustomer") +public class LpkCustomerRest { + + @Autowired + LpkCustomerService lpkCustomerService; + + @PostMapping("/wxBindMobile") + @ApiOperation(value = "微信绑定手机") + public ResultBean wxBindMobile(@RequestBody WxBindMobileDto wxBindMobileDto){ + return lpkCustomerService.wxBindMobile(wxBindMobileDto); + } + @ApiOperation(value = "微信静默登录") + @GetMapping("/wxSilentLogin") + public ResultBean wxSilentLogin(@RequestParam(value = "wxCode") String wxCode) { + return lpkCustomerService.wxSilentLogin(wxCode); + } +} diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java new file mode 100644 index 0000000..59ea8be --- /dev/null +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java @@ -0,0 +1,89 @@ +package com.yxt.yyth.biz.lpkcustomer; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; +import com.yxt.yyth.api.lpkcustomer.WxBindMobileDto; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2023/11/21 15:03 + */ +@Service +public class LpkCustomerService extends MybatisBaseService { + String APP_ID = "wx4724e3a3c27f36b5"; + String SECRET = "971fd3b8aa7b08ce3e8a5f3e502b1a8d"; + private static final String WX_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code "; + public ResultBean wxLogin(String jsCode, String appid, String secret) { + ResultBean rb=new ResultBean(); + String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE",jsCode).replace("authorization_code","authorization_code"); + RestTemplate restTemplate = new RestTemplate(); + ResponseEntity forEntity = restTemplate.getForEntity(url,String.class); + JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody()); + System.out.println(jsonObject); + return rb.success().setData(jsonObject); + } + + /** + * 微信静默登录 + * @param wxCode 临时凭证code值 + * @return ResultBean data:Token + * 登陆成功后data返回用户Sid + * 聂金毅 2022/6/8 20:30 创建 + */ + public ResultBean wxSilentLogin(String wxCode) { + ResultBean rb = ResultBean.fireFail(); + // 通过wxCode获取unionid,失败返回微信的错误提示。 + + ResultBean rbJsonObject = wxLogin(wxCode,APP_ID,SECRET); + if (!rbJsonObject.getSuccess()){ + JSONObject jsonObject = rbJsonObject.getData(); + String errcode = jsonObject.get("errcode").toString(); + String errmsg = jsonObject.get("errmsg").toString(); + return rb.setMsg(errmsg).setCode(errcode); + } + // 判断存在不存在unionid,用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台帐号下会返回,详见 UnionID 机制说明。、 + JSONObject jsonObject = rbJsonObject.getData(); + if (!jsonObject.containsKey("openid")){ + return rb.setMsg("未获得openid,请联系管理员"); + } + String unionid = jsonObject.get("unionid").toString(); + String openid = jsonObject.get("openid").toString(); + Map map=new HashMap<>(); + map.put("unionid",unionid); + map.put("openid",openid); + LpkCustomer lpkCustomer= baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid",openid)); + //查询用户是否存在 + if(null==lpkCustomer){ + //新增用户 + LpkCustomer newCustomer=new LpkCustomer(); + newCustomer.setWxMpOpenid(openid); + newCustomer.setCreateTime(new Date()); + baseMapper.insert(newCustomer); + return rb.success().setData(newCustomer); + } + return rb.success().setData(lpkCustomer); + } + public ResultBean wxBindMobile(WxBindMobileDto wxBindMobileDto) { + ResultBean rb = ResultBean.fireFail(); + String mobile = wxBindMobileDto.getMobile(); + LpkCustomer lpkCustomer= baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid",wxBindMobileDto.getOpenid())); + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + lpkCustomer.setBindDate(sdf.format(new Date())); + lpkCustomer.setMobile(mobile); + baseMapper.insert(lpkCustomer); + return rb.setMsg("绑定成功"); + } +} From 03c98827fdb0b4b46a8b09df2679a9365a1e9df5 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 21 Nov 2023 17:03:41 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E4=BF=A1=E6=81=AF=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/lpkcustomer/LpkCustomerQuery.java | 2 + .../yyth/api/lpkcustomer/LpkCustomerVo.java | 6 ++ .../biz/lpkcustomer/LpkCustomerMapper.java | 7 ++ .../biz/lpkcustomer/LpkCustomerMapper.xml | 13 ++++ .../yyth/biz/lpkcustomer/LpkCustomerRest.java | 14 +++- .../biz/lpkcustomer/LpkCustomerService.java | 71 ++++++++++++++----- 6 files changed, 95 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java index 6e5624b..80d00b6 100644 --- a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java @@ -11,4 +11,6 @@ import lombok.Data; @ApiModel(value = "客户信息 查询条件", description = "客户信息 查询条件") @Data public class LpkCustomerQuery implements Query { + private String realName; + private String mobile; } diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java index cdc2425..98c2dcb 100644 --- a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java @@ -13,4 +13,10 @@ import lombok.NoArgsConstructor; @ApiModel(value = "客户信息 视图数据对象", description = "客户信息 视图数据对象") @NoArgsConstructor public class LpkCustomerVo implements Vo { + private String sid; + private String mobile; + private String bindDate; + private String realName; + private String nick; + private String photo; } diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java index 579a5a2..539ac33 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java @@ -1,8 +1,13 @@ package com.yxt.yyth.biz.lpkcustomer; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * @author wangpengfei @@ -10,4 +15,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface LpkCustomerMapper extends BaseMapper { + + IPage customerListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml index 81a3049..77fd1a1 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml @@ -4,4 +4,17 @@ + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java index 3ed351a..f62cc7a 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java @@ -1,7 +1,10 @@ package com.yxt.yyth.biz.lpkcustomer; +import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerQuery; import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; import com.yxt.yyth.api.lpkcustomer.WxBindMobileDto; import io.swagger.annotations.Api; @@ -24,12 +27,21 @@ public class LpkCustomerRest { @PostMapping("/wxBindMobile") @ApiOperation(value = "微信绑定手机") - public ResultBean wxBindMobile(@RequestBody WxBindMobileDto wxBindMobileDto){ + public ResultBean wxBindMobile(@RequestBody WxBindMobileDto wxBindMobileDto) { return lpkCustomerService.wxBindMobile(wxBindMobileDto); } + @ApiOperation(value = "微信静默登录") @GetMapping("/wxSilentLogin") public ResultBean wxSilentLogin(@RequestParam(value = "wxCode") String wxCode) { return lpkCustomerService.wxSilentLogin(wxCode); } + + @ApiOperation("客户信息列表") + @PostMapping("/customerListPage") + public ResultBean> customerListPage(@RequestBody PagerQuery pq) { + return lpkCustomerService.customerListPage(pq); + } + + } diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java index 59ea8be..260f057 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java @@ -2,20 +2,25 @@ package com.yxt.yyth.biz.lpkcustomer; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerQuery; import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; import com.yxt.yyth.api.lpkcustomer.WxBindMobileDto; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** * @author wangpengfei @@ -23,14 +28,19 @@ import java.util.Map; */ @Service public class LpkCustomerService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + String APP_ID = "wx4724e3a3c27f36b5"; String SECRET = "971fd3b8aa7b08ce3e8a5f3e502b1a8d"; private static final String WX_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code "; + public ResultBean wxLogin(String jsCode, String appid, String secret) { - ResultBean rb=new ResultBean(); - String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE",jsCode).replace("authorization_code","authorization_code"); + ResultBean rb = new ResultBean(); + String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE", jsCode).replace("authorization_code", "authorization_code"); RestTemplate restTemplate = new RestTemplate(); - ResponseEntity forEntity = restTemplate.getForEntity(url,String.class); + ResponseEntity forEntity = restTemplate.getForEntity(url, String.class); JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody()); System.out.println(jsonObject); return rb.success().setData(jsonObject); @@ -38,6 +48,7 @@ public class LpkCustomerService extends MybatisBaseService rbJsonObject = wxLogin(wxCode,APP_ID,SECRET); - if (!rbJsonObject.getSuccess()){ + ResultBean rbJsonObject = wxLogin(wxCode, APP_ID, SECRET); + if (!rbJsonObject.getSuccess()) { JSONObject jsonObject = rbJsonObject.getData(); String errcode = jsonObject.get("errcode").toString(); String errmsg = jsonObject.get("errmsg").toString(); @@ -56,19 +67,19 @@ public class LpkCustomerService extends MybatisBaseService map=new HashMap<>(); - map.put("unionid",unionid); - map.put("openid",openid); - LpkCustomer lpkCustomer= baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid",openid)); + Map map = new HashMap<>(); + map.put("unionid", unionid); + map.put("openid", openid); + LpkCustomer lpkCustomer = baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid", openid)); //查询用户是否存在 - if(null==lpkCustomer){ + if (null == lpkCustomer) { //新增用户 - LpkCustomer newCustomer=new LpkCustomer(); + LpkCustomer newCustomer = new LpkCustomer(); newCustomer.setWxMpOpenid(openid); newCustomer.setCreateTime(new Date()); baseMapper.insert(newCustomer); @@ -76,14 +87,40 @@ public class LpkCustomerService extends MybatisBaseService().eq("wx_mp_openid",wxBindMobileDto.getOpenid())); - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + LpkCustomer lpkCustomer = baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid", wxBindMobileDto.getOpenid())); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); lpkCustomer.setBindDate(sdf.format(new Date())); lpkCustomer.setMobile(mobile); baseMapper.insert(lpkCustomer); return rb.setMsg("绑定成功"); } + + public ResultBean> customerListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomerQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getMobile())) { + qw.like("mobile", query.getMobile()); + } + if (StringUtils.isNotBlank(query.getRealName())) { + qw.like("realName", query.getRealName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.customerListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (LpkCustomerVo record : records) { + if (StringUtils.isNotBlank(record.getPhoto())) { + record.setPhoto(fileUploadComponent.getUrlPrefix() + record.getPhoto()); + } + } + } + return rb.success().setData(p); + } } From f5412491d1d2a439a4e8b30f158d15abf7623ef3 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Tue, 21 Nov 2023 17:11:15 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E9=9D=99=E9=BB=98=E7=99=BB=E5=BD=95=20?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=89=8B=E6=9C=BA=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yxt/yyth/api/lpkcustomer/LpkCustomer.java | 2 + .../yyth/biz/lpkcustomer/LpkCustomerRest.java | 2 +- .../biz/lpkcustomer/LpkCustomerService.java | 48 +++++++++++-------- 3 files changed, 31 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomer.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomer.java index 673ba63..66e6dfa 100644 --- a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomer.java +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomer.java @@ -25,7 +25,9 @@ public class LpkCustomer { private String isEnable; @TableField(value = "wx_mp_openid") private String wxMpOpenid; + private String unionId; private String mobile; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private String bindDate; private String realName; private String nick; diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java index f62cc7a..3cf90af 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java @@ -33,7 +33,7 @@ public class LpkCustomerRest { @ApiOperation(value = "微信静默登录") @GetMapping("/wxSilentLogin") - public ResultBean wxSilentLogin(@RequestParam(value = "wxCode") String wxCode) { + public ResultBean wxSilentLogin(@RequestParam(value = "wxCode") String wxCode) { return lpkCustomerService.wxSilentLogin(wxCode); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java index 260f057..180abf4 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java @@ -2,8 +2,6 @@ package com.yxt.yyth.biz.lpkcustomer; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; @@ -48,18 +46,17 @@ public class LpkCustomerService extends MybatisBaseService wxSilentLogin(String wxCode) { + public ResultBean wxSilentLogin(String wxCode) { ResultBean rb = ResultBean.fireFail(); // 通过wxCode获取unionid,失败返回微信的错误提示。 - ResultBean rbJsonObject = wxLogin(wxCode, APP_ID, SECRET); - if (!rbJsonObject.getSuccess()) { + ResultBean rbJsonObject = wxLogin(wxCode,APP_ID,SECRET); + if (!rbJsonObject.getSuccess()){ JSONObject jsonObject = rbJsonObject.getData(); String errcode = jsonObject.get("errcode").toString(); String errmsg = jsonObject.get("errmsg").toString(); @@ -67,36 +64,47 @@ public class LpkCustomerService extends MybatisBaseService map = new HashMap<>(); - map.put("unionid", unionid); - map.put("openid", openid); - LpkCustomer lpkCustomer = baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid", openid)); + Map map=new HashMap<>(); +// map.put("unionid",unionid); + map.put("openid",openid); + LpkCustomer lpkCustomer= baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid",openid)); //查询用户是否存在 - if (null == lpkCustomer) { + if(null==lpkCustomer){ //新增用户 - LpkCustomer newCustomer = new LpkCustomer(); + LpkCustomer newCustomer=new LpkCustomer(); newCustomer.setWxMpOpenid(openid); +// newCustomer.setUnionId(unionid); newCustomer.setCreateTime(new Date()); baseMapper.insert(newCustomer); - return rb.success().setData(newCustomer); + return rb.setData(newCustomer).setCode("110"); + } + //判断是否绑定手机号 + if(StringUtils.isBlank(lpkCustomer.getMobile())){ + return rb.setData(lpkCustomer).setCode("110"); } return rb.success().setData(lpkCustomer); } - public ResultBean wxBindMobile(WxBindMobileDto wxBindMobileDto) { ResultBean rb = ResultBean.fireFail(); String mobile = wxBindMobileDto.getMobile(); - LpkCustomer lpkCustomer = baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid", wxBindMobileDto.getOpenid())); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + LpkCustomer lpkCustomer= baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid",wxBindMobileDto.getOpenid())); + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); lpkCustomer.setBindDate(sdf.format(new Date())); lpkCustomer.setMobile(mobile); - baseMapper.insert(lpkCustomer); - return rb.setMsg("绑定成功"); + baseMapper.updateById(lpkCustomer); + return rb.success().setMsg("绑定成功").setData(lpkCustomer.getSid()); + } + public ResultBean wxBindMobile(String sid) { + ResultBean rb = ResultBean.fireFail(); + + LpkCustomer lpkCustomer= baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid",wxBindMobileDto.getOpenid())); + + return rb.success().setMsg("绑定成功").setData(lpkCustomer.getSid()); } public ResultBean> customerListPage(PagerQuery pq) { From 320e761c7246efe28aabe1946a9a21880ee0e177 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 21 Nov 2023 17:13:40 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E4=BF=A1=E6=81=AF=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yyth/biz/lpkcustomer/LpkCustomerService.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java index 180abf4..dbfb19b 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java @@ -2,6 +2,8 @@ package com.yxt.yyth.biz.lpkcustomer; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; @@ -99,13 +101,13 @@ public class LpkCustomerService extends MybatisBaseService().eq("wx_mp_openid",wxBindMobileDto.getOpenid())); - - return rb.success().setMsg("绑定成功").setData(lpkCustomer.getSid()); - } +// public ResultBean wxBindMobile(String sid) { +// ResultBean rb = ResultBean.fireFail(); +// +// // LpkCustomer lpkCustomer= baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid",wxBindMobileDto.getOpenid())); +// +// return rb.success().setMsg("绑定成功").setData(lpkCustomer.getSid()); +// } public ResultBean> customerListPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail();