会员中心代码提交 #9
@@ -95,7 +95,13 @@
|
|||||||
<artifactId>jaxb-runtime</artifactId>
|
<artifactId>jaxb-runtime</artifactId>
|
||||||
<version>2.3.1</version>
|
<version>2.3.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.buy507.mall</groupId>
|
||||||
|
<artifactId>mall-portal</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
|||||||
@@ -0,0 +1,151 @@
|
|||||||
|
package com.buy507.mall.controller;
|
||||||
|
|
||||||
|
import com.buy507.mall.common.api.CommonResult;
|
||||||
|
import com.buy507.mall.dto.PmsProductParam;
|
||||||
|
import com.buy507.mall.mapper.OmsOrderMapper;
|
||||||
|
import com.buy507.mall.mapper.PmsProductMapper;
|
||||||
|
import com.buy507.mall.mapper.UmsMemberMapper;
|
||||||
|
import com.buy507.mall.model.OmsOrder;
|
||||||
|
import com.buy507.mall.model.UmsMember;
|
||||||
|
import com.buy507.mall.portal.service.OmsPortalOrderService;
|
||||||
|
import com.buy507.mall.portal.service.UmsMemberService;
|
||||||
|
import com.buy507.mall.service.PmsProductService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ClassName:VipCenterController
|
||||||
|
* Description:
|
||||||
|
*
|
||||||
|
* @Author axin
|
||||||
|
* @Create 2025/2/19 11:09
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@Api(tags = "VipCenterController", description = "会员中心")
|
||||||
|
@RequestMapping("/vipCenter")
|
||||||
|
public class VipCenterController {
|
||||||
|
@Autowired
|
||||||
|
private UmsMemberMapper memberMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UmsMemberService memberService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PmsProductMapper productMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PmsProductService productService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OmsPortalOrderService portalOrderService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OmsOrderMapper orderMapper;
|
||||||
|
|
||||||
|
//店长升级金额
|
||||||
|
@Value("${storeManagerAmount}")
|
||||||
|
private BigDecimal storeManagerAmount;
|
||||||
|
|
||||||
|
//代理升级金额
|
||||||
|
@Value("${agentAmount}")
|
||||||
|
private BigDecimal agentAmount;
|
||||||
|
|
||||||
|
//市代理升级金额
|
||||||
|
@Value("${cityAgentAmount}")
|
||||||
|
private BigDecimal cityAgentAmount;
|
||||||
|
|
||||||
|
@ApiOperation("查询当前登录人信息")
|
||||||
|
@RequestMapping("/getCurrentUserInfo")
|
||||||
|
public CommonResult getCurrentUserInfo(){
|
||||||
|
//获取当前登录人的信息
|
||||||
|
UmsMember member = memberMapper.selectByPrimaryKey(memberService.getCurrentMember().getId());
|
||||||
|
|
||||||
|
// 获取当前用户的会员等级ID
|
||||||
|
Long memberLevelId = member.getMemberLevelId();
|
||||||
|
|
||||||
|
String memberLevelName = "普通用户";
|
||||||
|
if (memberLevelId == 1) {
|
||||||
|
memberLevelName = "普通用户";
|
||||||
|
} else if (memberLevelId == 2) {
|
||||||
|
memberLevelName = "VIP会员";
|
||||||
|
} else if (memberLevelId == 3) {
|
||||||
|
memberLevelName = "店长";
|
||||||
|
} else if (memberLevelId == 4) {
|
||||||
|
memberLevelName = "代理";
|
||||||
|
} else if (memberLevelId == 5) {
|
||||||
|
memberLevelName = "市代理";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 返回当前用户的会员信息
|
||||||
|
return CommonResult.success("当前登录用户: " + member.getUsername() + ", 会员等级: " + memberLevelName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("创建会员中心订单")
|
||||||
|
@RequestMapping( value = "/createVipOrder", method = RequestMethod.POST)
|
||||||
|
public CommonResult createVipOrder(){
|
||||||
|
//获取当前登录人的信息
|
||||||
|
UmsMember member = memberMapper.selectByPrimaryKey(memberService.getCurrentMember().getId());
|
||||||
|
|
||||||
|
// 获取当前用户的会员等级ID
|
||||||
|
Long memberLevelId = member.getMemberLevelId();
|
||||||
|
|
||||||
|
//创建返回值
|
||||||
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
|
||||||
|
//生成订单
|
||||||
|
OmsOrder order = new OmsOrder();
|
||||||
|
// 根据会员等级ID动态设置订单金额
|
||||||
|
// 店长
|
||||||
|
if (memberLevelId == 3) {
|
||||||
|
order.setTotalAmount(storeManagerAmount);
|
||||||
|
order.setPayAmount(storeManagerAmount);
|
||||||
|
// 代理
|
||||||
|
} else if (memberLevelId == 4) {
|
||||||
|
order.setTotalAmount(agentAmount);
|
||||||
|
order.setPayAmount(agentAmount);
|
||||||
|
// 市代理
|
||||||
|
} else if (memberLevelId == 5) {
|
||||||
|
order.setTotalAmount(cityAgentAmount);
|
||||||
|
order.setPayAmount(cityAgentAmount);
|
||||||
|
}
|
||||||
|
order.setMemberId(member.getId());
|
||||||
|
order.setCreateTime(new Date());
|
||||||
|
order.setModifyTime(new Date());
|
||||||
|
|
||||||
|
// 支付方式,0为未支付
|
||||||
|
order.setPayType(0);
|
||||||
|
// 订单状态,0为待付款
|
||||||
|
order.setStatus(0);
|
||||||
|
// 虚拟订单
|
||||||
|
order.setOrderType(3);
|
||||||
|
// 升级订单,无需实际收货人信息
|
||||||
|
order.setReceiverName("会员升级");
|
||||||
|
|
||||||
|
// 保存订单
|
||||||
|
orderMapper.insert(order);
|
||||||
|
|
||||||
|
// 更新返回结果
|
||||||
|
result.put("orderId", order.getId());
|
||||||
|
|
||||||
|
return CommonResult.success(result);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -27,5 +27,9 @@ public interface UmsMemberMapper {
|
|||||||
int updateByPrimaryKeySelective(UmsMember record);
|
int updateByPrimaryKeySelective(UmsMember record);
|
||||||
|
|
||||||
int updateByPrimaryKey(UmsMember record);
|
int updateByPrimaryKey(UmsMember record);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*修改用户会员等级
|
||||||
|
*/
|
||||||
|
int upgradeMember(@Param("memberId") Long memberId, @Param("newMemberLevelId") Long newMemberLevelId);
|
||||||
}
|
}
|
||||||
@@ -54,7 +54,7 @@ public class OmsOrder implements Serializable {
|
|||||||
@ApiModelProperty(value = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单")
|
@ApiModelProperty(value = "订单状态:0->待付款;1->待发货;2->已发货;3->已完成;4->已关闭;5->无效订单")
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
@ApiModelProperty(value = "订单类型:0->正常订单;1->秒杀订单")
|
@ApiModelProperty(value = "订单类型:0->正常订单;1->秒杀订单;3->虚拟订单")
|
||||||
private Integer orderType;
|
private Integer orderType;
|
||||||
|
|
||||||
@ApiModelProperty(value = "提货方式:0->自提;1->物流")
|
@ApiModelProperty(value = "提货方式:0->自提;1->物流")
|
||||||
|
|||||||
@@ -185,6 +185,9 @@ public class PmsProduct implements Serializable {
|
|||||||
@Transient
|
@Transient
|
||||||
@ApiModelProperty(value = "积分兑换专区状态")
|
@ApiModelProperty(value = "积分兑换专区状态")
|
||||||
private Integer pointsExchangeStatus;
|
private Integer pointsExchangeStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "会员中心:1->店长; 2->代理; 3->市代理")
|
||||||
|
private Integer vipCenter;
|
||||||
|
|
||||||
|
|
||||||
public List<PmsProductAttribute> getProductAttribute() {
|
public List<PmsProductAttribute> getProductAttribute() {
|
||||||
@@ -654,6 +657,10 @@ public class PmsProduct implements Serializable {
|
|||||||
this.pointsExchangeStatus = pointsExchangeStatus;
|
this.pointsExchangeStatus = pointsExchangeStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getVipCenter () {return vipCenter;}
|
||||||
|
|
||||||
|
public void setVipCenter(Integer vipCenter) {this.vipCenter = vipCenter;}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|||||||
@@ -558,6 +558,10 @@
|
|||||||
select u.phone from ums_member u
|
select u.phone from ums_member u
|
||||||
where u.phone=#{phone,jdbcType=VARCHAR}
|
where u.phone=#{phone,jdbcType=VARCHAR}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<update id="upgradeMember">
|
||||||
|
UPDATE ums_member
|
||||||
|
SET member_level_id = #{newMemberLevelId}
|
||||||
|
WHERE id = #{memberId}
|
||||||
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -1803,6 +1803,18 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
@Value("${alipay.signType}")
|
@Value("${alipay.signType}")
|
||||||
private String signType;
|
private String signType;
|
||||||
|
|
||||||
|
//店长升级金额
|
||||||
|
@Value("${storeManagerAmount}")
|
||||||
|
private BigDecimal storeManagerAmount;
|
||||||
|
|
||||||
|
//代理升级金额
|
||||||
|
@Value("${agentAmount}")
|
||||||
|
private BigDecimal agentAmount;
|
||||||
|
|
||||||
|
//市代理升级金额
|
||||||
|
@Value("${cityAgentAmount}")
|
||||||
|
private BigDecimal cityAgentAmount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 支付宝支付回调
|
* 支付宝支付回调
|
||||||
*
|
*
|
||||||
@@ -1823,12 +1835,27 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
String outTradeNo = params.get("out_trade_no");
|
String outTradeNo = params.get("out_trade_no");
|
||||||
//if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) {
|
//if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) {
|
||||||
// 处理支付成功的业务逻辑
|
// 处理支付成功的业务逻辑
|
||||||
|
|
||||||
OmsOrderExample example = new OmsOrderExample();
|
OmsOrderExample example = new OmsOrderExample();
|
||||||
example.createCriteria().andOrderSnEqualTo(outTradeNo);
|
example.createCriteria().andOrderSnEqualTo(outTradeNo);
|
||||||
List<OmsOrder> list = orderMapper.selectByExample(example);
|
List<OmsOrder> list = orderMapper.selectByExample(example);
|
||||||
if (list != null && !list.isEmpty()) {
|
if (list != null && !list.isEmpty()) {
|
||||||
OmsOrder order = list.get(0);
|
OmsOrder order = list.get(0);
|
||||||
|
|
||||||
|
if (order.getOrderType() == 3) {
|
||||||
|
// 根据支付金额判断会员等级,并更新
|
||||||
|
if (order.getPayAmount().compareTo(storeManagerAmount) >= 0) {
|
||||||
|
// 升级为店长
|
||||||
|
memberMapper.upgradeMember(order.getMemberId(), 3L);
|
||||||
|
} else if (order.getPayAmount().compareTo(agentAmount) >= 0) {
|
||||||
|
// 升级为代理
|
||||||
|
memberMapper.upgradeMember(order.getMemberId(), 4L);
|
||||||
|
} else if (order.getPayAmount().compareTo(cityAgentAmount) >= 0) {
|
||||||
|
// 升级为市代理
|
||||||
|
memberMapper.upgradeMember(order.getMemberId(), 5L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//获取订单实付金额
|
//获取订单实付金额
|
||||||
BigDecimal payAmount = order.getPayAmount();
|
BigDecimal payAmount = order.getPayAmount();
|
||||||
//获取商品信息
|
//获取商品信息
|
||||||
|
|||||||
Reference in New Issue
Block a user