diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java index 626225612..ac3440c3c 100755 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCUserController.java @@ -3,6 +3,7 @@ package com.iformall.controller; import com.alibaba.fastjson.JSONObject; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; +import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.dto.WxCUserFromBDto; import com.iformall.domain.po.WxCUser; @@ -57,133 +58,120 @@ public class WxCUserController extends BaseController { /** * 会员更新信息 + * * @return */ @PostMapping("/updateUserInfo") - @ApiOperation(value = "用户更新信息", notes="") + @ApiOperation(value = "用户更新信息", notes = "") public ResultData updateUserInfo(@RequestBody WxCUserFromBDto wxCUserFromBDto) { logger.info("WxCUserController::updateUserInfo"); - if (wxCUserFromBDto == null){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"没有传入用户信息"); + if (wxCUserFromBDto == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "没有传入用户信息"); } - if (StringUtils.isEmpty(wxCUserFromBDto.getOpenid())){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"C端openid不能为空"); + if (StringUtils.isEmpty(wxCUserFromBDto.getOpenid())) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "C端openid不能为空"); } - if (wxCUserFromBDto.getbUserId()==null){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"bUserId不能为空"); + if (StringUtils.isEmpty(wxCUserFromBDto.getAppId())) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "C端appId不能为空"); + } + if (wxCUserFromBDto.getbUserId() == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "bUserId不能为空"); } //根据bUserId查询B端用户是否存在 WxMerchantBUser bUser = wxMerchantBUserService.getById(wxCUserFromBDto.getbUserId()); - if(bUser==null){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"B端用户不存在"); + if (bUser == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "B端用户不存在"); } final IdWorker idWorker = IdWorker.get(); - WxCUserFromB wxCUserFromB = wxCUserFromBService.getByOpenid(wxCUserFromBDto.getOpenid()); - if(wxCUserFromB==null){ - //查询C端微信信息 - WxCUser wxCUser = new WxCUser(); - wxCUser.setOpenId(wxCUserFromBDto.getOpenid()); - wxCUser = wxCUserService.getByOpenId(wxCUser); - //不存在时 - if(wxCUser==null){ + WxCUserFromB wxCUserFromB = wxCUserFromBService.getByOpenidAndAppId(wxCUserFromBDto); + //查询C端微信信息 + WxCUser wxCUser = new WxCUser(); + wxCUser.setAppId(wxCUserFromBDto.getAppId()); + wxCUser.setOpenId(wxCUserFromBDto.getOpenid()); + wxCUser = wxCUserService.getByOpenId(wxCUser); + if (wxCUserFromB == null) { + String phone = wxCUser.getPhone(); + String tenantId = wxCUser.getTenantId(); + //查询会员信息 + List byPhone = wxCUserBasicInfoService.findByPhone(tenantId, phone); + //存在会员信息 + if (!byPhone.isEmpty()) { + //更新会员信息 + WxCUserBasicInfo wxCUserBasicInfo = byPhone.get(0); + if (!StringUtils.isEmpty(wxCUserFromBDto.getName())) { + wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); + } + if (wxCUserFromBDto != null) { + wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); + } + if (wxCUserFromBDto.getSex() != null) { + wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex()); + } + if (!StringUtils.isEmpty(wxCUserFromBDto.getAddress())) { + wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); + } + wxCUserBasicInfo.setPhone(wxCUser.getPhone()); + wxCUserBasicInfo.setUpdateDate(new Date()); + wxCUserBasicInfoService.update(wxCUserBasicInfo); + wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); + wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo); + //新增来自B端的会员关联数据 + wxCUserFromB = new WxCUserFromB(); + wxCUserFromB.setbUserId(wxCUserFromBDto.getbUserId()); + wxCUserFromB.setcUserId(wxCUserBasicInfo.getId()); + wxCUserFromB.setOpenid(wxCUserFromBDto.getOpenid()); + wxCUserFromB.setMerchantId(bUser.getMerchantId()); + wxCUserFromB.setTenantId(bUser.getTenantId()); + wxCUserFromB.setAppId(wxCUserFromBDto.getAppId()); + wxCUserFromB.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); + wxCUserFromBService.saveOrUpdate(wxCUserFromB); + } else { //新增来自B端的会员 long cUserId = idWorker.nextId(); WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); wxCUserBasicInfo.setId(cUserId); - wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); - wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); - wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex() ); - wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); - wxCUserBasicInfo.setPhone(wxCUserFromBDto.getPhone()); - wxCUserBasicInfo.setUpdateDate(new Date()); - wxCUserBasicInfoService.save(wxCUserBasicInfo); - //新增来自B端的会员关联数据 - WxCUserFromB record = new WxCUserFromB(); - record.setbUserId(wxCUserFromBDto.getbUserId()); - record.setcUserId(cUserId); - record.setOpenid(wxCUserFromBDto.getOpenid()); - record.setMerchantId(bUser.getMerchantId()); - record.setTenantId(bUser.getTenantId()); - record.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); - wxCUserFromBService.saveOrUpdate(record); - }else{ - String phone = wxCUser.getPhone(); - String tenantId = wxCUser.getTenantId(); - //查询会员信息 - List byPhone = wxCUserBasicInfoService.findByPhone(tenantId, phone); - //存在会员信息 - if(!byPhone.isEmpty()){ - //更新会员信息 - WxCUserBasicInfo wxCUserBasicInfo = byPhone.get(0); - if(!StringUtils.isEmpty(wxCUserFromBDto.getName())){ - wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); - } - if(wxCUserFromBDto!=null){ - wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); - } - if(wxCUserFromBDto.getSex()!=null){ - wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex() ); - } - if(!StringUtils.isEmpty(wxCUserFromBDto.getAddress())){ - wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); - } - if(!StringUtils.isEmpty(wxCUserFromBDto.getPhone())){ - wxCUserBasicInfo.setPhone(wxCUserFromBDto.getPhone()); - } - wxCUserBasicInfo.setUpdateDate(new Date()); - wxCUserBasicInfoService.update(wxCUserBasicInfo); - wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); - wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo); - //新增来自B端的会员关联数据 - wxCUserFromB = new WxCUserFromB(); - wxCUserFromB.setbUserId(wxCUserFromBDto.getbUserId()); - wxCUserFromB.setcUserId(wxCUserBasicInfo.getId()); - wxCUserFromB.setOpenid(wxCUserFromBDto.getOpenid()); - wxCUserFromB.setMerchantId(bUser.getMerchantId()); - wxCUserFromB.setTenantId(bUser.getTenantId()); - wxCUserFromB.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); - wxCUserFromBService.saveOrUpdate(wxCUserFromB); - }else{ - //新增来自B端的会员 - long cUserId = idWorker.nextId(); - WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); - wxCUserBasicInfo.setId(cUserId); + if (!StringUtils.isEmpty(wxCUserFromBDto.getName())) { wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); + } + if (wxCUserFromBDto != null) { wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); - wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex() ); + } + if (wxCUserFromBDto.getSex() != null) { + wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex()); + } + if (!StringUtils.isEmpty(wxCUserFromBDto.getAddress())) { wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); - wxCUserBasicInfo.setPhone(wxCUserFromBDto.getPhone()); - wxCUserBasicInfo.setUpdateDate(new Date()); - wxCUserBasicInfoService.save(wxCUserBasicInfo); - //新增来自B端的会员关联数据 - WxCUserFromB record = new WxCUserFromB(); - record.setbUserId(wxCUserFromBDto.getbUserId()); - record.setcUserId(cUserId); - record.setOpenid(wxCUserFromBDto.getOpenid()); - record.setMerchantId(bUser.getMerchantId()); - record.setTenantId(bUser.getTenantId()); - record.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); - wxCUserFromBService.saveOrUpdate(record); } + wxCUserBasicInfo.setPhone(wxCUser.getPhone()); + wxCUserBasicInfo.setUpdateDate(new Date()); + wxCUserBasicInfoService.save(wxCUserBasicInfo); + //新增来自B端的会员关联数据 + wxCUserFromB = new WxCUserFromB(); + wxCUserFromB.setbUserId(wxCUserFromBDto.getbUserId()); + wxCUserFromB.setcUserId(cUserId); + wxCUserFromB.setOpenid(wxCUserFromBDto.getOpenid()); + wxCUserFromB.setMerchantId(bUser.getMerchantId()); + wxCUserFromB.setTenantId(bUser.getTenantId()); + wxCUserFromB.setAppId(wxCUserFromBDto.getAppId()); + wxCUserFromB.setInfo(JSONObject.toJSONString(wxCUserBasicInfo)); + wxCUserFromBService.saveOrUpdate(wxCUserFromB); } - }else{ + } else { WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(wxCUserFromB.getcUserId()); - if(!StringUtils.isEmpty(wxCUserFromBDto.getName())){ + if (!StringUtils.isEmpty(wxCUserFromBDto.getName())) { wxCUserBasicInfo.setName(wxCUserFromBDto.getName()); } - if(wxCUserFromBDto!=null){ + if (wxCUserFromBDto != null) { wxCUserBasicInfo.setBirthdate(wxCUserFromBDto.getBirthdate()); } - if(wxCUserFromBDto.getSex()!=null){ - wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex() ); + if (wxCUserFromBDto.getSex() != null) { + wxCUserBasicInfo.setSex(wxCUserFromBDto.getSex()); } - if(!StringUtils.isEmpty(wxCUserFromBDto.getAddress())){ + if (!StringUtils.isEmpty(wxCUserFromBDto.getAddress())) { wxCUserBasicInfo.setAddress(wxCUserFromBDto.getAddress()); } - if(!StringUtils.isEmpty(wxCUserFromBDto.getPhone())){ - wxCUserBasicInfo.setPhone(wxCUserFromBDto.getPhone()); - } + wxCUserBasicInfo.setPhone(wxCUser.getPhone()); wxCUserBasicInfoService.update(wxCUserBasicInfo); wxScoreRulesService.addScore(EnumScoreType.COMPLETE_INFO, wxCUserBasicInfo); wxCUserTagsService.triggerAssignTags(EnumAssignTagsTrigger.ASSIGN_TAGS_TRIGGER_IMPORT, wxCUserBasicInfo); @@ -197,21 +185,25 @@ public class WxCUserController extends BaseController { /** * 会员信息 + * * @return */ @PostMapping("/findUserInfo") - @ApiOperation(value = "获取会员信息", notes="") + @ApiOperation(value = "获取会员信息", notes = "") public ResultData findUserInfo(@RequestBody WxCUserFromBDto wxCUserFromBDto) { logger.info("WxCUserController::updateUserInfo"); - if (wxCUserFromBDto == null){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"没有传入用户信息"); + if (wxCUserFromBDto == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "没有传入用户信息"); + } + if (StringUtils.isEmpty(wxCUserFromBDto.getOpenid())) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL, "C端openid不能为空"); } - if (StringUtils.isEmpty(wxCUserFromBDto.getOpenid())){ - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL,"C端openid不能为空"); + WxCUserFromB wxCUserFromB = wxCUserFromBService.getByOpenidAndAppId(wxCUserFromBDto); + if(wxCUserFromB!=null){ + WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(wxCUserFromB.getcUserId()); + return new ResultData(wxCUserBasicInfo); } - WxCUserFromB wxCUserFromB = wxCUserFromBService.getByOpenid(wxCUserFromBDto.getOpenid()); - WxCUserBasicInfo wxCUserBasicInfo = wxCUserBasicInfoService.getById(wxCUserFromB.getcUserId()); - return new ResultData(wxCUserBasicInfo); + return new ResultData(Result.SUCCESS,"查询成功",null); } diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/WxCUserFromBDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/WxCUserFromBDto.java index f1a0c3bb2..7baa423cc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/WxCUserFromBDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxCUserFromBDto.java @@ -11,6 +11,8 @@ public class WxCUserFromBDto implements Serializable { private Long bUserId; @io.swagger.annotations.ApiModelProperty(value="C端openid",name="openid") private String openid; + @io.swagger.annotations.ApiModelProperty(value="C端appid",name="appId") + private String appId; @io.swagger.annotations.ApiModelProperty(value="C端会员姓名",name="name") private String name; @io.swagger.annotations.ApiModelProperty(value="C端会员性别",name="sex") @@ -77,4 +79,12 @@ public class WxCUserFromBDto implements Serializable { public void setPhone(String phone) { this.phone = phone; } + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserFromB.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserFromB.java index 86da3a6da..d966cb695 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserFromB.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserFromB.java @@ -63,6 +63,18 @@ public class WxCUserFromB implements Serializable { /*openid**/ @io.swagger.annotations.ApiModelProperty(value="openid",name="openid") private String openid; + /***/ + @io.swagger.annotations.ApiModelProperty(value="",name="appId") + private String appId; + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + public String getTenantId() { return tenantId; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserFromBMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserFromBMapper.java index f3a7d3c1f..347806444 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserFromBMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserFromBMapper.java @@ -1,8 +1,8 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; +import com.iformall.domain.dto.WxCUserFromBDto; import com.iformall.domain.po.WxCUserFromB; -import org.apache.ibatis.annotations.Select; import java.util.List; @@ -13,6 +13,6 @@ public interface WxCUserFromBMapper extends CommonMapper { List findList(WxCUserFromB wxCUserFromB); - @Select("select * from wx_c_user_from_b where openid=#{openid}") - WxCUserFromB getByOpenid(String openid); + WxCUserFromB getByOpenidAndAppId(WxCUserFromBDto wxCUserFromBDto); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserFromBService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserFromBService.java index ea86d2816..e1b7c3237 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCUserFromBService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserFromBService.java @@ -1,6 +1,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; +import com.iformall.domain.dto.WxCUserFromBDto; import com.iformall.domain.po.WxCUserFromB; /** @@ -41,6 +42,6 @@ public interface WxCUserFromBService { void deleteById(Long id); - WxCUserFromB getByOpenid(String openid); + WxCUserFromB getByOpenidAndAppId(WxCUserFromBDto wxCUserFromBDto); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserFromBServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserFromBServiceImpl.java index e78eec4ac..05328d5cb 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserFromBServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserFromBServiceImpl.java @@ -3,6 +3,7 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; +import com.iformall.domain.dto.WxCUserFromBDto; import com.iformall.domain.po.WxCUserFromB; import com.iformall.mapper.WxCUserFromBMapper; import com.iformall.service.WxCUserFromBService; @@ -53,8 +54,8 @@ public class WxCUserFromBServiceImpl implements WxCUserFromBService { } @Override - public WxCUserFromB getByOpenid(String openid) { - return wxCUserFromBMapper.getByOpenid(openid); + public WxCUserFromB getByOpenidAndAppId(WxCUserFromBDto wxCUserFromBDto) { + return wxCUserFromBMapper.getByOpenidAndAppId(wxCUserFromBDto); } diff --git a/mallinkService/src/main/resources/mapper/WxCUserFromBMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserFromBMapper.xml index 96e91e10f..8d65c1c7a 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserFromBMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserFromBMapper.xml @@ -11,10 +11,12 @@ + + - `id`,`tenant_id`,`merchant_id`,`b_user_id`,`c_user_id`,`info`,`create_time`,`update_time`,`openid` + `id`,`tenant_id`,`merchant_id`,`b_user_id`,`c_user_id`,`info`,`create_time`,`update_time`,`openid`,`app_id` @@ -27,7 +29,9 @@ and `info` = #{info} and `create_time` = #{createTime} and `update_time` = #{updateTime} - and `openid` = #{openid} + and `openid` = #{openid} + and `app_id` = #{appId} + and id in @@ -42,7 +46,9 @@ - + diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index dfb3716e2..363239218 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -276,7 +276,7 @@ o.`id`,o.`order_number`,o.`tenant_id`,o.`c_user_id`,o.`product_id`,o.`type`, o.`payment_type`,o.`payment`,o.`payment_time`,o.`order_status`,o.`create_date`,o.`update_date`,o.`detail`, - m.name as merchant_name, bu.name, bu.phone as bphone, cu.phone,cu.`nick_name` c_user_name + m.name as merchant_name, bu.name, bu.phone as bphone, cu.phone,cu.c_user_name +