From 19dfabdff9eb76ebad651fcdb530275544ca860b Mon Sep 17 00:00:00 2001 From: xmzhao71 Date: Thu, 7 Sep 2023 15:26:44 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E4=BF=AE=E6=94=B9=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E7=94=A8=E6=88=B7=E7=A7=AF=E5=88=86api=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserBasicInfoController.java | 6 +- .../openapi/OpenUserBasicInfoService.java | 18 ++++++ .../impl/OpenUserBasicInfoServiceImpl.java | 57 +++++++++++++++++++ 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 mallinkService/src/main/java/com/iformall/service/openapi/OpenUserBasicInfoService.java create mode 100644 mallinkService/src/main/java/com/iformall/service/openapi/impl/OpenUserBasicInfoServiceImpl.java diff --git a/mallinkPublicApi/src/main/java/com/iformall/controller/UserBasicInfoController.java b/mallinkPublicApi/src/main/java/com/iformall/controller/UserBasicInfoController.java index 5857a929e..5fe2ec319 100644 --- a/mallinkPublicApi/src/main/java/com/iformall/controller/UserBasicInfoController.java +++ b/mallinkPublicApi/src/main/java/com/iformall/controller/UserBasicInfoController.java @@ -10,6 +10,7 @@ import com.iformall.domain.po.base.TenantEntity; import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserService; import com.iformall.service.WxLevelConfigService; +import com.iformall.service.openapi.OpenUserBasicInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -40,6 +41,9 @@ public class UserBasicInfoController extends BaseController { @Autowired private WxLevelConfigService wxLevelConfigService; + @Autowired + private OpenUserBasicInfoService openUserBasicInfoService; + /** * * @param @@ -133,7 +137,7 @@ public class UserBasicInfoController extends BaseController { } catch (NumberFormatException e) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR,"changePoints为整数"); } - wxCUserBasicInfoService.updatePointsByPhone(getTenantInfo(), Integer.parseInt(changePoints), phone); + openUserBasicInfoService.pointChange(getTenantInfo(), Integer.valueOf(changePoints), phone); return new ResultData(); } diff --git a/mallinkService/src/main/java/com/iformall/service/openapi/OpenUserBasicInfoService.java b/mallinkService/src/main/java/com/iformall/service/openapi/OpenUserBasicInfoService.java new file mode 100644 index 000000000..09df7839f --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/openapi/OpenUserBasicInfoService.java @@ -0,0 +1,18 @@ +package com.iformall.service.openapi; + +import com.iformall.domain.po.base.TenantEntity; + +/** + * 开放接口服务 + * @author xmzhao71 + * @date 2023-09-07 + */ +public interface OpenUserBasicInfoService { + /** + * 积分变更 + * @param tenantEntity + * @param changePoints + * @param phone + */ + void pointChange(TenantEntity tenantEntity, Integer changePoints, String phone); +} \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/openapi/impl/OpenUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/openapi/impl/OpenUserBasicInfoServiceImpl.java new file mode 100644 index 000000000..ee572d71b --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/openapi/impl/OpenUserBasicInfoServiceImpl.java @@ -0,0 +1,57 @@ +package com.iformall.service.openapi.impl; + +import com.iformall.domain.po.WxCUserBasicInfo; +import com.iformall.domain.po.WxCreditHistory; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumScoreType; +import com.iformall.enums.EnumUserType; +import com.iformall.mapper.WxCreditHistoryMapper; +import com.iformall.service.WxCUserBasicInfoService; +import com.iformall.service.WxCreditHistoryService; +import com.iformall.service.openapi.OpenUserBasicInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; + +/** + * 会员相关开放接口service + * @author xmzhao71 + * @date 2023-09-07 + */ +@Service +public class OpenUserBasicInfoServiceImpl implements OpenUserBasicInfoService { + + @Autowired + private WxCreditHistoryMapper wxCreditHistoryMapper; + @Autowired + private WxCUserBasicInfoService wxCUserBasicInfoService; + + @Transactional(rollbackFor = Exception.class) + @Override + public void pointChange(TenantEntity tenantEntity, Integer changePoints, String phone) { + wxCUserBasicInfoService.updatePointsByPhone(tenantEntity, changePoints, phone); + WxCUserBasicInfo userBasicInfo = wxCUserBasicInfoService.findInfoByPhone(tenantEntity, phone); + WxCreditHistory wxCreditHistory = buildWxCreditHistory(userBasicInfo, changePoints); + wxCreditHistoryMapper.insert(wxCreditHistory); + } + + private WxCreditHistory buildWxCreditHistory(WxCUserBasicInfo userBasicInfo, Integer changePoints) { + WxCreditHistory creditHistory = new WxCreditHistory(); + creditHistory.setTenantId(userBasicInfo.getFinalTenantId()); + creditHistory.setCreateDate(new Date()); + creditHistory.setCUserId(userBasicInfo.getId()); + creditHistory.setOperatorId(Long.valueOf(userBasicInfo.getPhone())); + creditHistory.setOperatorType(EnumUserType.THIRD_CIRCLE.getCode()); + creditHistory.setCreditAmount(userBasicInfo.getCredit()); + creditHistory.setCreditNum(changePoints); + creditHistory.setCreditType(EnumScoreType.POINT_CHANGE.getCode()); + if(creditHistory.getCreditNum() > 0){ + creditHistory.setChangePurpose("积分新增"); + }else if(creditHistory.getCreditNum() < 0){ + creditHistory.setChangePurpose("积分扣减"); + } + return creditHistory; + } +} \ No newline at end of file