|
|
|
@@ -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<WxCUserBasicInfo> 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<WxCUserBasicInfo> 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); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|