Merge remote-tracking branch 'origin/main-zhb'
# Conflicts: # mall-admin/src/main/java/com/buy507/mall/service/impl/PmsProductServiceImpl.java # mall-dao/src/main/java/com/buy507/mall/mapper/PmsProductMapper.java # mall-dao/src/main/resources/com/buy507/mall/mapper/PmsProductMapper.xml
This commit is contained in:
@@ -84,6 +84,7 @@ public class PmsProductServiceImpl implements PmsProductService {
|
|||||||
log.info("b"+String.valueOf(productParam.getProductAttributeCategoryId()));
|
log.info("b"+String.valueOf(productParam.getProductAttributeCategoryId()));
|
||||||
log.info("c"+String.valueOf(product.getProductCategoryId()));
|
log.info("c"+String.valueOf(product.getProductCategoryId()));
|
||||||
log.info("d"+String.valueOf(product.getProductAttributeCategoryId()));
|
log.info("d"+String.valueOf(product.getProductAttributeCategoryId()));
|
||||||
|
product.setOriginalPrice(productParam.getPrice());
|
||||||
productMapper.insertAll(product);
|
productMapper.insertAll(product);
|
||||||
//根据促销类型设置价格:、阶梯价格、满减价格
|
//根据促销类型设置价格:、阶梯价格、满减价格
|
||||||
Long productId = product.getId();
|
Long productId = product.getId();
|
||||||
|
|||||||
@@ -148,7 +148,7 @@
|
|||||||
<include refid="Example_Where_Clause" />
|
<include refid="Example_Where_Clause" />
|
||||||
</if>
|
</if>
|
||||||
</delete>
|
</delete>
|
||||||
<insert id="insert" parameterType="com.buy507.mall.model.OmsOrder">
|
<insert id="insert" useGeneratedKeys="true" parameterType="com.buy507.mall.model.OmsOrder">
|
||||||
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
|
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Long">
|
||||||
SELECT LAST_INSERT_ID()
|
SELECT LAST_INSERT_ID()
|
||||||
</selectKey>
|
</selectKey>
|
||||||
|
|||||||
@@ -1,143 +0,0 @@
|
|||||||
package com.buy507.mall.portal.controller;
|
|
||||||
|
|
||||||
import com.buy507.mall.common.api.CommonResult;
|
|
||||||
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 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 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);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.buy507.mall.portal.controller;
|
||||||
|
|
||||||
|
import com.buy507.mall.common.api.CommonResult;
|
||||||
|
import com.buy507.mall.model.OmsOrder;
|
||||||
|
import com.buy507.mall.portal.domain.OrderParam;
|
||||||
|
import com.buy507.mall.portal.service.VipCenterService;
|
||||||
|
import com.buy507.mall.portal.vo.OmsOrderDTO;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/vip")
|
||||||
|
public class VipController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private VipCenterService vipCenterService;
|
||||||
|
|
||||||
|
@ApiOperation("查询升级权限金额")
|
||||||
|
@RequestMapping(value = "/getUpgradeAmount", method = RequestMethod.GET)
|
||||||
|
public CommonResult<BigDecimal> getUpgradeAmount(@RequestParam Long memberLevelId){
|
||||||
|
BigDecimal amount = vipCenterService.getUpgradeAmount(memberLevelId);
|
||||||
|
return CommonResult.success(amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("创建购买权益订单")
|
||||||
|
@RequestMapping(value = "/createUpgradeOrder", method = RequestMethod.POST)
|
||||||
|
public CommonResult createUpgradeOrder(@RequestBody OmsOrderDTO param){
|
||||||
|
try {
|
||||||
|
return vipCenterService.createUpgradeOrder(param);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return CommonResult.failed("createOrder fail");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.buy507.mall.portal.service;
|
||||||
|
|
||||||
|
import com.buy507.mall.common.api.CommonResult;
|
||||||
|
import com.buy507.mall.model.OmsOrder;
|
||||||
|
import com.buy507.mall.portal.domain.OrderParam;
|
||||||
|
import com.buy507.mall.portal.vo.OmsOrderDTO;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public interface VipCenterService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询升级权限金额
|
||||||
|
* @param memberLevelId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BigDecimal getUpgradeAmount(Long memberLevelId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建购买权益订单
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
CommonResult createUpgradeOrder(OmsOrderDTO param);
|
||||||
|
}
|
||||||
@@ -566,7 +566,7 @@ public class UmsMemberServiceImpl implements UmsMemberService {
|
|||||||
result.setNickname(member.getNickname() == null ? "" : member.getNickname());
|
result.setNickname(member.getNickname() == null ? "" : member.getNickname());
|
||||||
result.setHeadPicture(member.getIcon() == null ? "" :member.getIcon());
|
result.setHeadPicture(member.getIcon() == null ? "" :member.getIcon());
|
||||||
result.setGender(member.getGender());
|
result.setGender(member.getGender());
|
||||||
result.setMemberLevel(member.getMemberLevel().getValue());
|
result.setMemberLevel(member.getMemberLevel().getValue()-1);
|
||||||
result.setMemberId(loginMember.getId());
|
result.setMemberId(loginMember.getId());
|
||||||
result.setRealName(member.getRealName());
|
result.setRealName(member.getRealName());
|
||||||
result.setDetailAddress(member.getDetailAddress());
|
result.setDetailAddress(member.getDetailAddress());
|
||||||
|
|||||||
@@ -0,0 +1,109 @@
|
|||||||
|
package com.buy507.mall.portal.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.db.sql.Order;
|
||||||
|
import com.buy507.mall.common.api.CommonResult;
|
||||||
|
import com.buy507.mall.mapper.OmsOrderMapper;
|
||||||
|
import com.buy507.mall.model.MemberLevel;
|
||||||
|
import com.buy507.mall.model.OmsOrder;
|
||||||
|
import com.buy507.mall.portal.domain.OrderParam;
|
||||||
|
import com.buy507.mall.portal.domain.OrderResult;
|
||||||
|
import com.buy507.mall.portal.service.RedisService;
|
||||||
|
import com.buy507.mall.portal.service.VipCenterService;
|
||||||
|
import com.buy507.mall.portal.vo.OmsOrderDTO;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class VipCenterServiceImpl implements VipCenterService {
|
||||||
|
|
||||||
|
//店长升级金额
|
||||||
|
@Value("${storeManagerAmount}")
|
||||||
|
private BigDecimal storeManagerAmount;
|
||||||
|
|
||||||
|
//代理升级金额
|
||||||
|
@Value("${agentAmount}")
|
||||||
|
private BigDecimal agentAmount;
|
||||||
|
|
||||||
|
//市代理升级金额
|
||||||
|
@Value("${cityAgentAmount}")
|
||||||
|
private BigDecimal cityAgentAmount;
|
||||||
|
|
||||||
|
@Value("${redis.key.prefix.orderId}")
|
||||||
|
private String REDIS_KEY_PREFIX_ORDER_ID;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RedisService redisService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OmsOrderMapper orderMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigDecimal getUpgradeAmount(Long memberLevelId) {
|
||||||
|
BigDecimal amount = null;
|
||||||
|
if (MemberLevel.Partner.getValue() == memberLevelId){
|
||||||
|
amount = storeManagerAmount;
|
||||||
|
}
|
||||||
|
if (MemberLevel.Diamond.getValue() == memberLevelId){
|
||||||
|
amount = agentAmount;
|
||||||
|
}
|
||||||
|
if (MemberLevel.OneDiamond.getValue() == memberLevelId){
|
||||||
|
amount = cityAgentAmount;
|
||||||
|
}
|
||||||
|
|
||||||
|
return amount;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建购买权益订单
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public CommonResult createUpgradeOrder(OmsOrderDTO param) {
|
||||||
|
if (param == null){
|
||||||
|
return CommonResult.validateFailed("订单数据为空");
|
||||||
|
}else {
|
||||||
|
//创建权益订单
|
||||||
|
OmsOrder order = new OmsOrder();
|
||||||
|
BeanUtils.copyProperties(param, order);
|
||||||
|
order.setOrderSn(generateUpgradeOrderSn(param)); //生成orderSn
|
||||||
|
order.setCreateTime(new Date()); //创建订单时间
|
||||||
|
order.setStatus(0); //订单状态--未支付
|
||||||
|
order.setOrderType(3); //订单类型--虚拟订单
|
||||||
|
orderMapper.insert(order);
|
||||||
|
|
||||||
|
//返回订单id
|
||||||
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
result.put("orderId", order.getId());
|
||||||
|
return CommonResult.success(result, "下单成功");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成18位订单编号:8位日期+2位订单类型+2位支付方式+6位以上自增id
|
||||||
|
*/
|
||||||
|
private String generateUpgradeOrderSn(OmsOrderDTO param) {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
String date = new SimpleDateFormat("yyyyMMdd").format(new Date());
|
||||||
|
String key = REDIS_KEY_PREFIX_ORDER_ID + date;
|
||||||
|
Long increment = redisService.increment(key, 1);
|
||||||
|
sb.append(date);
|
||||||
|
sb.append(String.format("%02d", param.getOrderType()));
|
||||||
|
sb.append(String.format("%02d", param.getPayType()));
|
||||||
|
String incrementStr = increment.toString();
|
||||||
|
if (incrementStr.length() <= 6) {
|
||||||
|
sb.append(String.format("%06d", increment));
|
||||||
|
} else {
|
||||||
|
sb.append(incrementStr);
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.buy507.mall.portal.vo;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class OmsOrderDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户id")
|
||||||
|
private Long memberId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户帐号")
|
||||||
|
private String memberUsername;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "应付金额(实际支付金额)")
|
||||||
|
private BigDecimal payAmount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->积分支付;5—>余额支付")
|
||||||
|
private Integer payType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "订单类型:0->正常订单;1->秒杀订单;3->虚拟订单")
|
||||||
|
private Integer orderType;
|
||||||
|
}
|
||||||
@@ -8,6 +8,9 @@ mybatis:
|
|||||||
mapper-locations:
|
mapper-locations:
|
||||||
- classpath:dao/*.xml
|
- classpath:dao/*.xml
|
||||||
- classpath*:com/**/mapper/*.xml
|
- classpath*:com/**/mapper/*.xml
|
||||||
|
configuration:
|
||||||
|
#开启驼峰命名
|
||||||
|
map-underscore-to-camel-case: true
|
||||||
|
|
||||||
jwt:
|
jwt:
|
||||||
tokenHeader: Authorization #JWT存储的请求头
|
tokenHeader: Authorization #JWT存储的请求头
|
||||||
|
|||||||
Reference in New Issue
Block a user