VIP数据同步,部分调整

This commit is contained in:
liuyingfang
2023-05-05 18:25:57 +08:00
parent 87b056b47f
commit f8a583063f
9 changed files with 147 additions and 22 deletions

View File

@@ -7,8 +7,10 @@ import cn.pluss.platform.activityRecommend.ActivityRecommendService;
import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.constants.Constant;
import cn.pluss.platform.constants.ProjectConstant;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.merchant.MerchantBaseInfoService;
import cn.pluss.platform.merchantStore.MerchantStoreService;
import cn.pluss.platform.util.EmojiUtil;
import cn.pluss.platform.util.StringUtil;
@@ -20,10 +22,9 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static cn.pluss.platform.controller.ActivityRechargeController.synchronous;
/**
* @author DJH
@@ -47,6 +48,8 @@ public class ActivityActivateController {
@Resource
private MerchantStoreService merchantStoreService;
@Resource
private MerchantBaseInfoService merchantBaseInfoService;
@GetMapping
@ApiOperation(value = "获取全部", notes = "返回分页过后的数据", httpMethod = "GET")
@@ -80,7 +83,9 @@ public class ActivityActivateController {
@PostMapping
@ApiOperation(value = "添加数据", notes = "添加新的数据", httpMethod = "POST")
public Result<Object> add(@RequestBody ActivityActivate activityActivate) {
if (activityActivate == null || activityActivate.getUserId() == null) {
return ResultGenerator.genFailResult("参数错误!");
}
ActivityActivate activity = new ActivityActivate();
activity.setMerchantCode(activityActivate.getMerchantCode());
activity.setStoreId(activityActivate.getStoreId());
@@ -98,6 +103,14 @@ public class ActivityActivateController {
}
activityActivate.setCreateDt(new Date());
activityActivateService.saveActivityActivate(activityActivate);
//同步到小程序
MerchantBaseInfo merchantBaseInfo = new MerchantBaseInfo();
MerchantBaseInfo queryMerchantBaseInfo = new MerchantBaseInfo();
queryMerchantBaseInfo.setUserId((String.valueOf(activityActivate.getUserId())));
merchantBaseInfo = merchantBaseInfoService.queryMerchantBaseInfo(queryMerchantBaseInfo);
List<ActivityActivate> activityActivateList = new ArrayList<>();
activityActivateList.add(activityActivate);
synchronous(merchantBaseInfo, activityActivateList, Constant.MEMBER_ACTIVATION_ACTIVITY);
return ResultGenerator.genSuccessResult("添加成功!");
}

View File

@@ -4,8 +4,11 @@ import cn.pluss.platform.activityConsumReturn.ActivityConsumReturnService;
import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.constants.Constant;
import cn.pluss.platform.constants.ProjectConstant;
import cn.pluss.platform.entity.ActivityConsumReturn;
import cn.pluss.platform.entity.MerchantBaseInfo;
import cn.pluss.platform.merchant.MerchantBaseInfoService;
import cn.pluss.platform.util.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -13,7 +16,10 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.util.Date;
@@ -21,6 +27,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static cn.pluss.platform.controller.ActivityRechargeController.synchronous;
@Slf4j
@RestController
@RequestMapping("/activityConsumReturn")
@@ -30,6 +38,8 @@ public class ActivityConsumReturnController {
@Resource
private ActivityConsumReturnService activityConsumReturnService;
@Resource
private MerchantBaseInfoService merchantBaseInfoService;
@GetMapping
@ApiOperation(value = "获取全部", notes = "返回分页过后的数据", httpMethod = "GET")
@@ -59,7 +69,7 @@ public class ActivityConsumReturnController {
@PostMapping
@ApiOperation(value = "添加数据", notes = "添加新的数据", httpMethod = "POST")
public Result<Object> add(@RequestBody List<ActivityConsumReturn> activityConsumReturn) {
if (activityConsumReturn == null) {
if (activityConsumReturn == null || activityConsumReturn.get(0).getUserId() == null) {
return ResultGenerator.genFailResult("参数错误!");
}
if (activityConsumReturn.size() > 0) {
@@ -76,6 +86,12 @@ public class ActivityConsumReturnController {
activityConsumReturn2.setCreateDt(new Date());
activityConsumReturnService.saveActivityConsumReturn(activityConsumReturn2);
}
//同步活动到小程序
MerchantBaseInfo merchantBaseInfo = new MerchantBaseInfo();
MerchantBaseInfo queryMerchantBaseInfo = new MerchantBaseInfo();
queryMerchantBaseInfo.setUserId((String.valueOf(activityConsumReturn.get(0).getUserId())));
merchantBaseInfo = merchantBaseInfoService.queryMerchantBaseInfo(queryMerchantBaseInfo);
synchronous(merchantBaseInfo, activityConsumReturn, Constant.MEMBER_CONSUME_ACTIVITY);
return ResultGenerator.genSuccessResult();
}

View File

@@ -4,6 +4,7 @@ import cn.pluss.platform.activityRecharge.ActivityRechargeService;
import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.constants.Constant;
import cn.pluss.platform.constants.ProjectConstant;
import cn.pluss.platform.entity.ActivityRecharge;
import cn.pluss.platform.entity.MerchantBaseInfo;
@@ -18,12 +19,13 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author DJH
@@ -96,6 +98,8 @@ public class ActivityRechargeController {
activityRecharge2.setStoreName(merchantStore.getStoreName());
activityRechargeService.saveActivityRecharge(activityRecharge2);
}
//同步活动到小程序
synchronous(merchantBaseInfo, activityRechargeList, Constant.MEMBER_RECHARGE_ACTIVITY);
}
return ResultGenerator.genSuccessResult(activityRechargeList);
}
@@ -131,4 +135,21 @@ public class ActivityRechargeController {
return ResultGenerator.genSuccessResult(activityRecharge);
}
/**
* 同步活动到小程序
* @param merchantBaseInfo
* @param list
*/
public static void synchronous(MerchantBaseInfo merchantBaseInfo, List<?> list, String URL){
RestTemplate restTemplate = new RestTemplate();
String url = URL;
MultiValueMap<String, Object> postMap = new LinkedMultiValueMap();
Long id = merchantBaseInfo.getId();
postMap.add("list", list);
postMap.add("syb_m_id", id);
System.out.println("postMap"+postMap);
String result = restTemplate.postForObject(url, postMap, String.class);
log.info("返回",result);
}
}

View File

@@ -5,10 +5,7 @@ import cn.pluss.platform.api.PageInfo;
import cn.pluss.platform.api.Result;
import cn.pluss.platform.api.ResultGenerator;
import cn.pluss.platform.constants.ProjectConstant;
import cn.pluss.platform.entity.ActivityActivate;
import cn.pluss.platform.entity.MerchantMenber;
import cn.pluss.platform.entity.MerchantMenberRecharge;
import cn.pluss.platform.entity.UserApp;
import cn.pluss.platform.entity.*;
import cn.pluss.platform.memberOrder.MemberOrderService;
import cn.pluss.platform.merchant.MerchantBaseInfoService;
import cn.pluss.platform.merchantMenber.MerchantMenberService;
@@ -111,7 +108,72 @@ public class MerchantMenberController {
merchantMenber.getPage().longValue(), merchantMenber.getSize().longValue(), merchantMenberList);
return ResultGenerator.genSuccessResult(pager);
}
@PostMapping("/info")
@ApiOperation(tags = {"页面-会员选择", "小程序"}, value = "获取全部", notes = "返回分页过后的数据", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "MerchantMenber", value = "查询对象的实例信息", paramType = "body", dataType = "MerchantMenber"),})
public Result<PageInfo<MerchantMenber>> listInfo(@RequestBody MerchantMenber merchantMenber) {
UserApp tokenUa = userAppService.queryUserAppByToken();
merchantMenber.setMerchantCode(tokenUa.getMerchantCode());
if (merchantMenber.getId() == null) {
return ResultGenerator.genFailResult("无商家编码!");
}
if (merchantMenber.getSize() == null || merchantMenber.getSize() == 0) {
merchantMenber.setSize(ProjectConstant.PAGE_SIZE);
}
if (merchantMenber.getPage() == null || merchantMenber.getPage() == 0) {
merchantMenber.setPage(1);
}
//通过商户id换取商户code
MerchantBaseInfo merchantBaseInfo = new MerchantBaseInfo();
MerchantBaseInfo queryMerchantBaseInfo = new MerchantBaseInfo();
queryMerchantBaseInfo.setId(Long.valueOf(merchantMenber.getId()));
merchantBaseInfo = merchantBaseInfoService.queryMerchantBaseInfo(queryMerchantBaseInfo);
String merchantCode = merchantBaseInfo.getMerchantCode();
Map<String, Object> map = new HashMap<>();
map.put("pageSize", merchantMenber.getSize());
map.put("offset", (merchantMenber.getPage() - 1) * merchantMenber.getSize());
map.put("merchantCode",merchantCode);
map.put("memberCode", merchantMenber.getMemberCode());
if (StringUtil.isNotEmpty(merchantMenber.getStoreId())) {
map.put("storeId", merchantMenber.getStoreId());
}
if (!StringUtil.isEmpty(merchantMenber.getPhone()) || !StringUtil.isEmpty(merchantMenber.getMemberName())) {
map.put("keyWord", "1");
}
//判断是否有检索条件
if (StringUtil.isNotEmpty(merchantMenber.getPhone())) {
map.put("phone", merchantMenber.getPhone());
}
if (StringUtil.isNotEmpty(merchantMenber.getNickName())) {
map.put("nickName", merchantMenber.getNickName());
}
List<MerchantMenber> merchantMenberList = merchantMenberService.queryMerchantMenberPage(map);
for (MerchantMenber m : merchantMenberList) {
Map<String, Object> orderMap = new HashMap<>();
orderMap.put("memberCode", m.getMemberCode());
orderMap.put("orderType", "0");
orderMap.put("orderStatus", "1");
Integer count = memberOrderService.queryMemberOrderPageCount(orderMap);
m.setOrderNumber(count + "");
if (StringUtils.isNotBlank(m.getAppOpenId())) {
m.setOpenid(m.getAppOpenId());
}
}
Integer count = merchantMenberService.queryMerchantMenberPageCount(map);
for (MerchantMenber menber : merchantMenberList) {
menber.setNickName(EmojiUtil.emojiRecovery2(menber.getNickName()));
}
// 返回参数
PageInfo<MerchantMenber> pager = new PageInfo<>(count.longValue(), (long)StringUtil.getPageCount(count, merchantMenber.getSize()),
merchantMenber.getPage().longValue(), merchantMenber.getSize().longValue(), merchantMenberList);
return ResultGenerator.genSuccessResult(pager);
}
@GetMapping("/queryMemberIsExist")
@ApiOperation(tags = {"会员开卡"}, value = "获取关注公众号二维码", notes = "获取关注公众号二维码", httpMethod = "POST")
@ApiImplicitParams({

View File

@@ -192,6 +192,19 @@ public class Constant {
* 积分商城用户同步URL
*/
public static final String JF_SHOP_USER_SYNC_URL = "http://jf.shouyinbei.com/addons/shopro/syb_merchant/sysnmerchant";
/**
* 会员活动(充值活动)
*/
public static final String MEMBER_RECHARGE_ACTIVITY = "http://192.168.1.116/javaApi/java-api/get-vip-sdata";
/**
* 会员活动(消费活动)
*/
public static final String MEMBER_CONSUME_ACTIVITY = "http://192.168.1.116/javaApi/java-api/get-vip-xfdata";
/**
* 会员活动(激活送)
*/
public static final String MEMBER_ACTIVATION_ACTIVITY = "http://192.168.1.116/javaApi/java-api/get-vip-jhdata";
/**
* 生活圈会员卡默认过期时间 5单位分钟

View File

@@ -1161,11 +1161,11 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
bankCardDTO.setBankHolder(certName);
//TODO 先绕过四要素
// try {
// aliyunService.checkBankCorrectNow(bankCardDTO.getPhone(), bankCardDTO.getBankCardNo(), accountIdCard.getCertNo(), certName);
// } catch (MsgException e) {
// throw new MsgException("银行卡信息校验不通过,请填写结算人【" + DesensitizedUtil.chineseName(certName) + "】的银行卡");
// }
try {
aliyunService.checkBankCorrectNow(bankCardDTO.getPhone(), bankCardDTO.getBankCardNo(), accountIdCard.getCertNo(), certName);
} catch (MsgException e) {
throw new MsgException("银行卡信息校验不通过,请填写结算人【" + DesensitizedUtil.chineseName(certName) + "】的银行卡");
}
BankCard bankCard = Converter.INSTANCE.toEntity(bankCardDTO);
account.setBak((JSONObject) JSON.toJSON(bankCard));

View File

@@ -369,7 +369,7 @@ public class MerchantMenberServiceImpl extends ServiceImpl<MerchantMenberMapper,
if(store != null && StringUtil.isNotEmpty(menber.getOpenid())){
JSONObject miniprogram = new JSONObject();
miniprogram.put("appid", ParametersUtil.APPLETS_APPID);
miniprogram.put("pagepath","pages/card/index?storeId="+store.getId()+"&phone="+menber.getPhone());
miniprogram.put("pagepath","yb_o2ov2/vip/my-vip?storeId="+store.getId()+"&phone="+menber.getPhone());
String first = "您的【"+store.getStoreName()+"】会员卡:"+menber.getCardNo()+"资金有变动啦,请注意查收!";
String remark = "如对此会员卡余额变动有疑问,可以点此进入小程序中查看!";

View File

@@ -208,7 +208,7 @@ public class YsPayOldServiceImpl extends YsPayServiceImpl{
String sub_code = respData.getString("sub_code");
String sub_msg = respData.getString("sub_msg");
if("4335".equals(sub_code) && StringUtil.isNotEmpty(sub_msg) && sub_msg.contains("商户需补齐相关资料")){
MsgException.throwException("D0实时到账商户未在收银APP-商户认证-微信认证内完成授权,暂时无法微信收款");
MsgException.throwException("D0实时到账商户未在快银收银APP-商户认证-微信认证内完成授权,暂时无法收款");
}else if("4335".equals(sub_code) && StringUtil.isNotEmpty(sub_msg) && sub_msg.contains("金额超限")){
MsgException.throwException("单笔交易金额超限");
}else{

View File

@@ -407,7 +407,7 @@ public class WechantController {
MerchantStore store = merchantStoreService.getStoreByMerchantCode(merchantMenber.getMerchantCode());
JSONObject miniprogram = new JSONObject();
miniprogram.put("appid",ParametersUtil.APPLETS_APPID);
miniprogram.put("pagepath","yb_o2ov2/vip/vip-plans?syb_m_id="+store.getId()+"&phone="+merchantMenber.getPhone());
miniprogram.put("pagepath","yb_o2ov2/vip/my-vip?syb_m_id="+store.getId()+"&phone="+merchantMenber.getPhone());
String first = "恭喜您成为本店会员,祝你生活愉快!";
String remark = "如对此卡有疑问或查询会员更多优惠信息,可以点此进入小程序中查看!";
double usableRechargeFee = merchantMenber.getUsableRechargeFee() == null ? 0 : StringUtil.bigDecimal(merchantMenber.getUsableRechargeFee());