* master: 修改配置星巴克 肯德基 会员充值 话费 微信商户号 修改配置星巴克 肯德基 会员充值 话费 微信商户号 # Conflicts: # hai-cweb/src/main/java/com/cweb/controller/pay/CzOrderController.java # hai-cweb/src/main/java/com/cweb/controller/pay/ThirdOrderController.javadev-discount
parent
f171d7d434
commit
270be7cf13
@ -1,49 +0,0 @@ |
||||
package com.hai.enum_type; |
||||
|
||||
import java.util.Objects; |
||||
|
||||
/** |
||||
* 产品图片 |
||||
* @author hurui |
||||
*/ |
||||
public enum OrderLogoEnum { |
||||
name1("orderLogo/coupon.png", 1), |
||||
name3("orderLogo/refuel.png", 3), |
||||
name4("orderLogo/kfc.png", 4), |
||||
name9("orderLogo/starbucks.png", 9), |
||||
name10("orderLogo/member-recharge.png", 10), |
||||
name20("orderLogo/call-charges.png", 20), |
||||
; |
||||
|
||||
|
||||
private String imgUrl; |
||||
|
||||
private Integer type; |
||||
public static String getNameByImgUrl(Integer type) { |
||||
for (OrderLogoEnum ele : values()) { |
||||
if(Objects.equals(type,ele.getType())) return ele.getImgUrl(); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
OrderLogoEnum(String imgUrl, Integer type) { |
||||
this.imgUrl = imgUrl; |
||||
this.type = type; |
||||
} |
||||
|
||||
public Integer getType() { |
||||
return type; |
||||
} |
||||
|
||||
public void setType(Integer type) { |
||||
this.type = type; |
||||
} |
||||
|
||||
public String getImgUrl() { |
||||
return imgUrl; |
||||
} |
||||
|
||||
public void setImgUrl(String imgUrl) { |
||||
this.imgUrl = imgUrl; |
||||
} |
||||
} |
@ -0,0 +1,64 @@ |
||||
package com.hai.enum_type; |
||||
|
||||
import java.util.Objects; |
||||
|
||||
public enum OrderproductTypeEnum { |
||||
type1(1 , "星巴克" , "orderLogo/starbucks.png"), |
||||
type2(2 , "肯德基" , "orderLogo/kfc.png"), |
||||
type3(3 , "会员充值" , "orderLogo/member-top-up.png"), |
||||
type4(4 , "积分充值" , "orderLogo/integral-top-up.png"), |
||||
type5(5 , "购买卡券" , "orderLogo/coupon.png"), |
||||
type6(6 , "加油服务" , "orderLogo/refuel-online.png"), |
||||
type7(7 , "优惠券包" , "orderLogo/coupon-packs.png"), |
||||
type8(8 , "汇联通充值" , "orderLogo/hlt.png"), |
||||
type9(9 , "话费充值" , "orderLogo/calls.png"), |
||||
; |
||||
|
||||
private Integer type; |
||||
private String name; |
||||
private String logoImg; |
||||
|
||||
public static String getTypeByImgUrl(Integer type) { |
||||
for (OrderproductTypeEnum ele : values()) { |
||||
if(Objects.equals(type,ele.getType())) return ele.getLogoImg(); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
public static String getTypeByName(Integer type) { |
||||
for (OrderproductTypeEnum ele : values()) { |
||||
if(Objects.equals(type,ele.getType())) return ele.getName(); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
OrderproductTypeEnum(int type , String name , String logoImg) { |
||||
this.type = type; |
||||
this.name = name; |
||||
this.logoImg = logoImg; |
||||
} |
||||
|
||||
public Integer getType() { |
||||
return type; |
||||
} |
||||
|
||||
public void setType(Integer type) { |
||||
this.type = type; |
||||
} |
||||
|
||||
public String getName() { |
||||
return name; |
||||
} |
||||
|
||||
public void setName(String name) { |
||||
this.name = name; |
||||
} |
||||
|
||||
public String getLogoImg() { |
||||
return logoImg; |
||||
} |
||||
|
||||
public void setLogoImg(String logoImg) { |
||||
this.logoImg = logoImg; |
||||
} |
||||
} |
@ -0,0 +1,68 @@ |
||||
package com.hai.service; |
||||
|
||||
import com.hai.entity.BsOperationLog; |
||||
import com.hai.entity.BsOrderRebate; |
||||
import com.hai.entity.HighOrder; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @serviceName BsOrderRebateService.java |
||||
* @author Sum1Dream |
||||
* @version 1.0.0 |
||||
* @Description // 下单返利接口
|
||||
* @createTime 10:41 2023/1/31 |
||||
**/ |
||||
public interface BsOrderRebateService { |
||||
|
||||
/** |
||||
* @Author Sum1Dream |
||||
* @Name getOrderRebateByList |
||||
* @Description // 查询列表
|
||||
* @Date 10:42 2023/1/31 |
||||
* @Param [map] |
||||
* @Return java.util.List<com.hai.entity.BsOrderRebate> |
||||
*/ |
||||
List<BsOrderRebate> getOrderRebateByList(Map<String , Object> map); |
||||
|
||||
/** |
||||
* @Author Sum1Dream |
||||
* @Name insertOrderRebate |
||||
* @Description // 新增
|
||||
* @Date 10:42 2023/1/31 |
||||
* @Param [bsOrderRebate] |
||||
* @Return void |
||||
*/ |
||||
void insertOrderRebate(BsOrderRebate bsOrderRebate); |
||||
|
||||
/** |
||||
* @Author Sum1Dream |
||||
* @Name updateOrderRebate |
||||
* @Description // 修改
|
||||
* @Date 10:42 2023/1/31 |
||||
* @Param [bsOrderRebate] |
||||
* @Return void |
||||
*/ |
||||
void updateOrderRebate(BsOrderRebate bsOrderRebate); |
||||
|
||||
/** |
||||
* @Author Sum1Dream |
||||
* @Name findOrderRebate |
||||
* @Description // 根据id 查询详情
|
||||
* @Date 10:43 2023/1/31 |
||||
* @Param [id] |
||||
* @Return com.hai.entity.BsOrderRebate |
||||
*/ |
||||
BsOrderRebate findOrderRebate(Long id); |
||||
|
||||
/** |
||||
* @Author Sum1Dream |
||||
* @Name insertOrderRebate |
||||
* @Description // 插入积分返利记录
|
||||
* @Date 13:57 2023/1/31 |
||||
* @Param [orderId] |
||||
* @Return void |
||||
*/ |
||||
void insertOrderRebate(HighOrder highOrder); |
||||
} |
@ -0,0 +1,118 @@ |
||||
package com.hai.service.impl; |
||||
|
||||
import com.alibaba.fastjson.JSONObject; |
||||
import com.hai.common.utils.DateUtil; |
||||
import com.hai.dao.BsOrderRebateMapper; |
||||
import com.hai.entity.BsIntegralRebate; |
||||
import com.hai.entity.BsOrderRebate; |
||||
import com.hai.entity.BsOrderRebateExample; |
||||
import com.hai.entity.HighOrder; |
||||
import com.hai.enum_type.OrderproductTypeEnum; |
||||
import com.hai.service.*; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import javax.annotation.Resource; |
||||
import java.math.BigDecimal; |
||||
import java.util.Date; |
||||
import java.util.HashMap; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
@Service("bsOrderRebateService") |
||||
public class BsOrderRebateServiceImpl implements BsOrderRebateService { |
||||
|
||||
@Resource |
||||
private BsOrderRebateMapper bsOrderRebateMapper; |
||||
|
||||
@Resource |
||||
private HighOrderService highOrderService; |
||||
|
||||
@Resource |
||||
private BsIntegralRebateService bsIntegralRebateService; |
||||
|
||||
@Resource |
||||
private BsDistributionUserRelService bsDistributionUserRelService; |
||||
|
||||
@Resource |
||||
private HighUserService highUserService; |
||||
|
||||
@Override |
||||
public List<BsOrderRebate> getOrderRebateByList(Map<String, Object> map) { |
||||
|
||||
BsOrderRebateExample example = new BsOrderRebateExample(); |
||||
|
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public void insertOrderRebate(BsOrderRebate bsOrderRebate) { |
||||
bsOrderRebateMapper.insert(bsOrderRebate); |
||||
} |
||||
|
||||
@Override |
||||
public void updateOrderRebate(BsOrderRebate bsOrderRebate) { |
||||
bsOrderRebateMapper.updateByPrimaryKey(bsOrderRebate); |
||||
} |
||||
|
||||
@Override |
||||
public BsOrderRebate findOrderRebate(Long id) { |
||||
return bsOrderRebateMapper.selectByPrimaryKey(id); |
||||
} |
||||
|
||||
@Override |
||||
public void insertOrderRebate(HighOrder highOrder) { |
||||
|
||||
// 计算返利积分数量
|
||||
// 查询是否配置返利
|
||||
Map<String, Object> map = new HashMap<>(); |
||||
map.put("type" , highOrder.getProductType()); |
||||
map.put("companyId" , highOrder.getCompanyId()); |
||||
|
||||
BsIntegralRebate bsIntegralRebate = bsIntegralRebateService.findIntegralRebateByMap(map); |
||||
|
||||
// 判断是否配置返利内容
|
||||
if (bsIntegralRebate != null) { |
||||
|
||||
// 判断是否在返利条件
|
||||
if (DateUtil.isEffectiveDate(highOrder.getCreateTime(), bsIntegralRebate.getStartTime() , bsIntegralRebate.getEndTime())) { |
||||
|
||||
// 积分返利积分
|
||||
BigDecimal integralNum = highOrder.getPayRealPrice().multiply(bsIntegralRebate.getPercentage()).setScale( 0, BigDecimal.ROUND_HALF_UP ); |
||||
// 1级分销
|
||||
BigDecimal integralNumFirst = highOrder.getPayRealPrice().multiply(bsIntegralRebate.getFirstDistribution()).setScale( 0, BigDecimal.ROUND_HALF_UP ); |
||||
// 2级分销
|
||||
BigDecimal integralNumSecond = highOrder.getPayRealPrice().multiply(bsIntegralRebate.getSecondDistribution()).setScale( 0, BigDecimal.ROUND_HALF_UP ); |
||||
|
||||
// 定义请求对象
|
||||
JSONObject object = new JSONObject(); |
||||
// 拼接分销返利对象
|
||||
object.put("userId" , highOrder.getMemId()); |
||||
object.put("orderNo" , highOrder.getOrderNo()); |
||||
object.put("integralNumFirst" , integralNumFirst); |
||||
object.put("integralNumSecond" , integralNumSecond); |
||||
object.put("companyId", highOrder.getCompanyId()); |
||||
object.put("remark" , OrderproductTypeEnum.getTypeByName(highOrder.getProductType()) + "订单:"+ highOrder.getTitle() + "-" + highOrder.getOrderNo() + "积分返利:"); |
||||
object.put("name" , "下单" + OrderproductTypeEnum.getTypeByName(highOrder.getProductType()) + ":" + highOrder.getTitle()); |
||||
object.put("logoImg" , OrderproductTypeEnum.getTypeByImgUrl(highOrder.getProductType())); |
||||
|
||||
bsDistributionUserRelService.distributionRebate(object); |
||||
highUserService.goldHandle(highOrder.getMemId(), integralNum.intValue(), 1, 4, highOrder.getId(), object.getString("remark") + integralNum); |
||||
|
||||
// 查询积分返利记录
|
||||
BsOrderRebate orderRebate = new BsOrderRebate(); |
||||
orderRebate.setOrderId(highOrder.getId()); |
||||
orderRebate.setOrderNo(highOrder.getOrderNo()); |
||||
orderRebate.setCreateTime(new Date()); |
||||
orderRebate.setUpdateTime(new Date()); |
||||
orderRebate.setStatus(1); |
||||
orderRebate.setIntegralNum(integralNum.intValue()); |
||||
orderRebate.setUserId(highOrder.getMemId()); |
||||
orderRebate.setUserName(highOrder.getMemName()); |
||||
bsOrderRebateMapper.insert(orderRebate); |
||||
} |
||||
|
||||
} |
||||
|
||||
|
||||
} |
||||
} |
Loading…
Reference in new issue