结算单添加积分、砍价商品结算价
This commit is contained in:
		
							parent
							
								
									6607506929
								
							
						
					
					
						commit
						7c48413d6b
					
				| @ -16,6 +16,10 @@ public enum CartTypeEnum { | |||||||
|      * 立即购买 |      * 立即购买 | ||||||
|      */ |      */ | ||||||
|     BUY_NOW, |     BUY_NOW, | ||||||
|  |     /** | ||||||
|  |      * 虚拟商品 | ||||||
|  |      */ | ||||||
|  |     VIRTUAL, | ||||||
|     /** |     /** | ||||||
|      * 拼团 |      * 拼团 | ||||||
|      */ |      */ | ||||||
| @ -24,10 +28,6 @@ public enum CartTypeEnum { | |||||||
|      * 积分 |      * 积分 | ||||||
|      */ |      */ | ||||||
|     POINTS, |     POINTS, | ||||||
|     /** |  | ||||||
|      * 虚拟商品 |  | ||||||
|      */ |  | ||||||
|     VIRTUAL, |  | ||||||
|     /** |     /** | ||||||
|      * 砍价商品 |      * 砍价商品 | ||||||
|      */ |      */ | ||||||
|  | |||||||
| @ -1,13 +1,18 @@ | |||||||
| package cn.lili.modules.order.cart.render.impl; | package cn.lili.modules.order.cart.render.impl; | ||||||
| 
 | 
 | ||||||
| import cn.hutool.core.text.CharSequenceUtil; | import cn.hutool.core.util.StrUtil; | ||||||
| import cn.lili.common.utils.CurrencyUtil; | import cn.lili.common.utils.CurrencyUtil; | ||||||
| import cn.lili.modules.goods.service.CategoryService; | import cn.lili.modules.goods.service.CategoryService; | ||||||
| import cn.lili.modules.order.cart.entity.dto.TradeDTO; | import cn.lili.modules.order.cart.entity.dto.TradeDTO; | ||||||
|  | import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; | ||||||
| import cn.lili.modules.order.cart.entity.vo.CartSkuVO; | import cn.lili.modules.order.cart.entity.vo.CartSkuVO; | ||||||
| import cn.lili.modules.order.cart.entity.vo.CartVO; | import cn.lili.modules.order.cart.entity.vo.CartVO; | ||||||
| import cn.lili.modules.order.cart.render.CartRenderStep; | import cn.lili.modules.order.cart.render.CartRenderStep; | ||||||
| import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; | import cn.lili.modules.order.order.entity.dto.PriceDetailDTO; | ||||||
|  | import cn.lili.modules.promotion.entity.dto.KanjiaActivityGoodsDTO; | ||||||
|  | import cn.lili.modules.promotion.entity.vos.PointsGoodsVO; | ||||||
|  | import cn.lili.modules.promotion.service.KanjiaActivityGoodsService; | ||||||
|  | import cn.lili.modules.promotion.service.PointsGoodsService; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| import org.springframework.core.annotation.Order; | import org.springframework.core.annotation.Order; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| @ -33,6 +38,16 @@ public class CartPriceRender implements CartRenderStep { | |||||||
|      */ |      */ | ||||||
|     @Autowired |     @Autowired | ||||||
|     private CategoryService categoryService; |     private CategoryService categoryService; | ||||||
|  |     /** | ||||||
|  |      * 积分商品 | ||||||
|  |      */ | ||||||
|  |     @Autowired | ||||||
|  |     private PointsGoodsService pointsGoodsService; | ||||||
|  |     /** | ||||||
|  |      * 砍价商品 | ||||||
|  |      */ | ||||||
|  |     @Autowired | ||||||
|  |     private KanjiaActivityGoodsService kanjiaActivityGoodsService; | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void render(TradeDTO tradeDTO) { |     public void render(TradeDTO tradeDTO) { | ||||||
| @ -103,18 +118,37 @@ public class CartPriceRender implements CartRenderStep { | |||||||
|                                         priceDetailDTO.getCouponPrice() != null ? priceDetailDTO.getCouponPrice() : 0)); |                                         priceDetailDTO.getCouponPrice() != null ? priceDetailDTO.getCouponPrice() : 0)); | ||||||
|                         priceDetailDTO.setFlowPrice(flowPrice); |                         priceDetailDTO.setFlowPrice(flowPrice); | ||||||
| 
 | 
 | ||||||
|                         //最终结算金额 = flowPrice - platFormCommission - distributionCommission |                         //如果是普通订单最终结算金额 = flowPrice - platFormCommission - distributionCommission | ||||||
|  |                         //砍价、积分订单按照商品的结算价进行结算 | ||||||
|  |                         if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.CART) | ||||||
|  |                                 || tradeDTO.getCartTypeEnum().equals(CartTypeEnum.BUY_NOW) | ||||||
|  |                                 || tradeDTO.getCartTypeEnum().equals(CartTypeEnum.VIRTUAL)) { | ||||||
|  | 
 | ||||||
|                             double billPrice = CurrencyUtil.sub(CurrencyUtil.sub(flowPrice, priceDetailDTO.getPlatFormCommission()), priceDetailDTO.getDistributionCommission()); |                             double billPrice = CurrencyUtil.sub(CurrencyUtil.sub(flowPrice, priceDetailDTO.getPlatFormCommission()), priceDetailDTO.getDistributionCommission()); | ||||||
|                             priceDetailDTO.setBillPrice(billPrice); |                             priceDetailDTO.setBillPrice(billPrice); | ||||||
|  |                         } else if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.POINTS)) { | ||||||
|  |                             PointsGoodsVO pointsGoodsVO = pointsGoodsService.getPointsGoodsVOByMongo(cartSkuVO.getGoodsSku().getId()); | ||||||
|  |                             priceDetailDTO.setBillPrice(pointsGoodsVO.getSettlementPrice()); | ||||||
|  |                             priceDetailDTO.setSettlementPrice(pointsGoodsVO.getSettlementPrice()); | ||||||
|  |                         } else if (tradeDTO.getCartTypeEnum().equals(CartTypeEnum.KANJIA)) { | ||||||
|  |                             KanjiaActivityGoodsDTO kanjiaActivityGoodsDTO = kanjiaActivityGoodsService.getKanJiaGoodsBySku(cartSkuVO.getGoodsSku().getId()); | ||||||
|  |                             priceDetailDTO.setBillPrice(kanjiaActivityGoodsDTO.getSettlementPrice()); | ||||||
|  |                             priceDetailDTO.setSettlementPrice(kanjiaActivityGoodsDTO.getSettlementPrice()); | ||||||
|  |                         } | ||||||
|  |                         //填写结算价格 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
|                         //平台佣金 |                         //平台佣金 | ||||||
|                         String categoryId = cartSkuVO.getGoodsSku().getCategoryPath().substring( |                         String categoryId = cartSkuVO.getGoodsSku().getCategoryPath().substring( | ||||||
|                                 cartSkuVO.getGoodsSku().getCategoryPath().lastIndexOf(",") + 1 |                                 cartSkuVO.getGoodsSku().getCategoryPath().lastIndexOf(",") + 1 | ||||||
|                         ); |                         ); | ||||||
|                         if (CharSequenceUtil.isNotEmpty(categoryId)) { | 
 | ||||||
|  |                         //平台佣金=订单金额 * 分类佣金百分比 | ||||||
|  |                         if (StrUtil.isNotEmpty(categoryId)) { | ||||||
|                             Double platFormCommission = CurrencyUtil.div(CurrencyUtil.mul(flowPrice, categoryService.getById(categoryId).getCommissionRate()), 100); |                             Double platFormCommission = CurrencyUtil.div(CurrencyUtil.mul(flowPrice, categoryService.getById(categoryId).getCommissionRate()), 100); | ||||||
|                             priceDetailDTO.setPlatFormCommission(platFormCommission); |                             priceDetailDTO.setPlatFormCommission(platFormCommission); | ||||||
|                         } |                         } | ||||||
|  | 
 | ||||||
|                         priceDetailDTOS.add(priceDetailDTO); |                         priceDetailDTOS.add(priceDetailDTO); | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|  | |||||||
| @ -278,8 +278,17 @@ public class Order extends BaseEntity { | |||||||
| 
 | 
 | ||||||
|             //判断是否为拼团订单,如果为拼团订单获取拼团ID,判断是否为主订单 |             //判断是否为拼团订单,如果为拼团订单获取拼团ID,判断是否为主订单 | ||||||
|             if (tradeDTO.getCartTypeEnum().name().equals(PromotionTypeEnum.PINTUAN.name())) { |             if (tradeDTO.getCartTypeEnum().name().equals(PromotionTypeEnum.PINTUAN.name())) { | ||||||
|                 Optional<String> pintuanId = cartVO.getSkuList().get(0).getPromotions().stream().filter(i -> i.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name())).map(PromotionGoods::getPromotionId).findFirst(); |                 Optional<String> pintuanId = cartVO.getSkuList().get(0).getPromotions().stream() | ||||||
|  |                         .filter(i -> i.getPromotionType().equals(PromotionTypeEnum.PINTUAN.name())).map(PromotionGoods::getPromotionId).findFirst(); | ||||||
|                 promotionId = pintuanId.get(); |                 promotionId = pintuanId.get(); | ||||||
|  |             }else if (tradeDTO.getCartTypeEnum().name().equals(PromotionTypeEnum.POINTS_GOODS.name())) { | ||||||
|  |                 Optional<String> pointsGoodsId = cartVO.getSkuList().get(0).getPromotions().stream() | ||||||
|  |                         .filter(i -> i.getPromotionType().equals(PromotionTypeEnum.POINTS_GOODS.name())).map(PromotionGoods::getPromotionId).findFirst(); | ||||||
|  |                 promotionId = pointsGoodsId.get(); | ||||||
|  |             }else if (tradeDTO.getCartTypeEnum().name().equals(PromotionTypeEnum.KANJIA.name())) { | ||||||
|  |                 Optional<String> kanjiaId = cartVO.getSkuList().get(0).getPromotions().stream() | ||||||
|  |                         .filter(i -> i.getPromotionType().equals(PromotionTypeEnum.KANJIA.name())).map(PromotionGoods::getPromotionId).findFirst(); | ||||||
|  |                 promotionId = kanjiaId.get(); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -91,6 +91,17 @@ public class StoreFlow { | |||||||
|     @ApiModelProperty(value = "流水类型:PAY/REFUND 支付/退款", allowableValues = "PAY,REFUND") |     @ApiModelProperty(value = "流水类型:PAY/REFUND 支付/退款", allowableValues = "PAY,REFUND") | ||||||
|     private String flowType; |     private String flowType; | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * @see cn.lili.modules.order.order.entity.enums.OrderPromotionTypeEnum | ||||||
|  |      */ | ||||||
|  |     @ApiModelProperty(value = "订单促销类型") | ||||||
|  |     private String orderPromotionType; | ||||||
|  | 
 | ||||||
|  |     @ApiModelProperty(value = "积分活动商品结算价格") | ||||||
|  |     private Double pointSettlementPrice; | ||||||
|  | 
 | ||||||
|  |     @ApiModelProperty(value = "砍价活动商品结算价格") | ||||||
|  |     private Double kanjiaSettlementPrice; | ||||||
| 
 | 
 | ||||||
|     @ApiModelProperty(value = "平台优惠券 使用金额") |     @ApiModelProperty(value = "平台优惠券 使用金额") | ||||||
|     private Double siteCouponPrice; |     private Double siteCouponPrice; | ||||||
|  | |||||||
| @ -81,6 +81,9 @@ public class PriceDetailDTO implements Serializable { | |||||||
|     @ApiModelProperty(value = "流水金额(入账 出帐金额) = goodsPrice + freight - discountPrice - couponPrice + updatePrice") |     @ApiModelProperty(value = "流水金额(入账 出帐金额) = goodsPrice + freight - discountPrice - couponPrice + updatePrice") | ||||||
|     private Double flowPrice; |     private Double flowPrice; | ||||||
| 
 | 
 | ||||||
|  |     @ApiModelProperty(value = "结算价格") | ||||||
|  |     private Double settlementPrice; | ||||||
|  | 
 | ||||||
|     @ApiModelProperty(value = "最终结算金额 = flowPrice - platFormCommission - distributionCommission") |     @ApiModelProperty(value = "最终结算金额 = flowPrice - platFormCommission - distributionCommission") | ||||||
|     private Double billPrice; |     private Double billPrice; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -8,6 +8,10 @@ package cn.lili.modules.order.order.entity.enums; | |||||||
|  */ |  */ | ||||||
| public enum OrderPromotionTypeEnum { | public enum OrderPromotionTypeEnum { | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 普通订单 | ||||||
|  |      */ | ||||||
|  |     NORMAL, | ||||||
|     /** |     /** | ||||||
|      * 赠品订单 |      * 赠品订单 | ||||||
|      */ |      */ | ||||||
| @ -19,6 +23,10 @@ public enum OrderPromotionTypeEnum { | |||||||
|     /** |     /** | ||||||
|      * 积分订单 |      * 积分订单 | ||||||
|      */ |      */ | ||||||
|     POINT |     POINT, | ||||||
|  |     /** | ||||||
|  |      * 砍价订单 | ||||||
|  |      */ | ||||||
|  |     KANJIA | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  | |||||||
| @ -7,6 +7,7 @@ import cn.lili.modules.order.order.entity.dos.Order; | |||||||
| import cn.lili.modules.order.order.entity.dos.OrderItem; | import cn.lili.modules.order.order.entity.dos.OrderItem; | ||||||
| import cn.lili.modules.order.order.entity.dos.StoreFlow; | import cn.lili.modules.order.order.entity.dos.StoreFlow; | ||||||
| import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; | import cn.lili.modules.order.order.entity.enums.FlowTypeEnum; | ||||||
|  | import cn.lili.modules.order.order.entity.enums.OrderPromotionTypeEnum; | ||||||
| import cn.lili.modules.order.order.entity.enums.PayStatusEnum; | import cn.lili.modules.order.order.entity.enums.PayStatusEnum; | ||||||
| import cn.lili.modules.order.order.mapper.StoreFlowMapper; | import cn.lili.modules.order.order.mapper.StoreFlowMapper; | ||||||
| import cn.lili.modules.order.order.service.OrderItemService; | import cn.lili.modules.order.order.service.OrderItemService; | ||||||
| @ -24,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired; | |||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||||
| 
 | 
 | ||||||
| import java.util.ArrayList; |  | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| 
 | 
 | ||||||
| @ -62,14 +62,13 @@ public class StoreFlowServiceImpl extends ServiceImpl<StoreFlowMapper, StoreFlow | |||||||
|         //根据订单编号获取订单数据 |         //根据订单编号获取订单数据 | ||||||
|         Order order = orderService.getBySn(orderSn); |         Order order = orderService.getBySn(orderSn); | ||||||
| 
 | 
 | ||||||
|         List<String> sns = new ArrayList<>(); |  | ||||||
|         sns.add(order.getSn()); |  | ||||||
|         sns.add(order.getTradeSn()); |  | ||||||
| 
 |  | ||||||
|         //如果查询到多条支付记录,打印日志 |         //如果查询到多条支付记录,打印日志 | ||||||
|         if (order.getPayStatus().equals(PayStatusEnum.PAID.name())) { |         if (order.getPayStatus().equals(PayStatusEnum.PAID.name())) { | ||||||
|             log.error("订单[{}]检测到重复付款,请处理", orderSn); |             log.error("订单[{}]检测到重复付款,请处理", orderSn); | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         //获取订单促销类型,如果为促销订单则获取促销商品并获取结算价 | ||||||
|  |         String orderPromotionType = order.getOrderPromotionType(); | ||||||
|         //循环子订单记录流水 |         //循环子订单记录流水 | ||||||
|         for (OrderItem item : orderItems) { |         for (OrderItem item : orderItems) { | ||||||
|             StoreFlow storeFlow = new StoreFlow(); |             StoreFlow storeFlow = new StoreFlow(); | ||||||
| @ -92,6 +91,13 @@ public class StoreFlowServiceImpl extends ServiceImpl<StoreFlowMapper, StoreFlow | |||||||
|             storeFlow.setCommissionPrice(item.getPriceDetailDTO().getPlatFormCommission()); |             storeFlow.setCommissionPrice(item.getPriceDetailDTO().getPlatFormCommission()); | ||||||
|             storeFlow.setDistributionRebate(item.getPriceDetailDTO().getDistributionCommission()); |             storeFlow.setDistributionRebate(item.getPriceDetailDTO().getDistributionCommission()); | ||||||
|             storeFlow.setBillPrice(item.getPriceDetailDTO().getBillPrice()); |             storeFlow.setBillPrice(item.getPriceDetailDTO().getBillPrice()); | ||||||
|  |             if (orderPromotionType.equals(OrderPromotionTypeEnum.NORMAL.name())) { | ||||||
|  |                 //如果为砍价活动,填写砍价结算价 | ||||||
|  |             } else if (orderPromotionType.equals(OrderPromotionTypeEnum.KANJIA.name())) { | ||||||
|  |                 storeFlow.setKanjiaSettlementPrice(item.getPriceDetailDTO().getSettlementPrice()); | ||||||
|  |             } else if (orderPromotionType.equals(OrderPromotionTypeEnum.KANJIA.name())) { | ||||||
|  |                 storeFlow.setPointSettlementPrice(item.getPriceDetailDTO().getSettlementPrice()); | ||||||
|  |             } | ||||||
| 
 | 
 | ||||||
|             //添加支付方式 |             //添加支付方式 | ||||||
|             storeFlow.setPaymentName(order.getPaymentMethod()); |             storeFlow.setPaymentName(order.getPaymentMethod()); | ||||||
|  | |||||||
| @ -92,6 +92,7 @@ public class Bill { | |||||||
|      * -commissionPrice+refundCommissionPrice |      * -commissionPrice+refundCommissionPrice | ||||||
|      * -distributionCommission+distributionRefundCommission |      * -distributionCommission+distributionRefundCommission | ||||||
|      * +siteCouponCommission-siteCouponRefundCommission |      * +siteCouponCommission-siteCouponRefundCommission | ||||||
|  |      * +kanjiaSettlementPrice+pointSettlementPrice | ||||||
|      */ |      */ | ||||||
|     @ApiModelProperty(value = "结算周期内订单付款总金额") |     @ApiModelProperty(value = "结算周期内订单付款总金额") | ||||||
|     private Double orderPrice; |     private Double orderPrice; | ||||||
| @ -117,6 +118,12 @@ public class Bill { | |||||||
|     @ApiModelProperty(value = "退货平台优惠券补贴返还") |     @ApiModelProperty(value = "退货平台优惠券补贴返还") | ||||||
|     private Double siteCouponRefundCommission; |     private Double siteCouponRefundCommission; | ||||||
| 
 | 
 | ||||||
|  |     @ApiModelProperty(value = "积分商品结算价格") | ||||||
|  |     private Double pointSettlementPrice; | ||||||
|  | 
 | ||||||
|  |     @ApiModelProperty(value = "砍价商品结算价格") | ||||||
|  |     private Double kanjiaSettlementPrice; | ||||||
|  | 
 | ||||||
|     @ApiModelProperty(value = "最终结算金额") |     @ApiModelProperty(value = "最终结算金额") | ||||||
|     private Double billPrice; |     private Double billPrice; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -37,7 +37,10 @@ public interface BillMapper extends BaseMapper<Bill> { | |||||||
|      */ |      */ | ||||||
|     @Select("SELECT SUM( final_price ) AS orderPrice,SUM( commission_price ) AS commissionPrice" + |     @Select("SELECT SUM( final_price ) AS orderPrice,SUM( commission_price ) AS commissionPrice" + | ||||||
|             ",SUM( distribution_rebate ) AS distributionCommission,SUM( site_coupon_commission ) AS siteCouponCommission" + |             ",SUM( distribution_rebate ) AS distributionCommission,SUM( site_coupon_commission ) AS siteCouponCommission" + | ||||||
|             ",SUM( bill_price ) AS billPrice FROM li_store_flow ${ew.customSqlSegment}") |             ",SUM( point_settlement_price ) AS pointSettlementPrice " + | ||||||
|  |             ",SUM( kanjia_settlement_price ) AS kanjiaSettlementPrice " + | ||||||
|  |             ",SUM( bill_price ) AS billPrice " + | ||||||
|  |             "FROM li_store_flow ${ew.customSqlSegment}") | ||||||
|     Bill getOrderBill(@Param(Constants.WRAPPER) QueryWrapper<Bill> queryWrapper); |     Bill getOrderBill(@Param(Constants.WRAPPER) QueryWrapper<Bill> queryWrapper); | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  | |||||||
| @ -89,7 +89,11 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi | |||||||
|             bill.setCommissionPrice(orderBill.getCommissionPrice()); |             bill.setCommissionPrice(orderBill.getCommissionPrice()); | ||||||
|             bill.setDistributionCommission(orderBill.getDistributionCommission()); |             bill.setDistributionCommission(orderBill.getDistributionCommission()); | ||||||
|             bill.setSiteCouponCommission(orderBill.getSiteCouponCommission()); |             bill.setSiteCouponCommission(orderBill.getSiteCouponCommission()); | ||||||
|             orderPrice = orderBill.getBillPrice(); |             bill.setPointSettlementPrice(orderBill.getPointSettlementPrice()); | ||||||
|  |             bill.setKanjiaSettlementPrice(orderBill.getKanjiaSettlementPrice()); | ||||||
|  |             //入账金额=订单金额+积分商品+砍价商品 | ||||||
|  |             orderPrice = CurrencyUtil.add(CurrencyUtil.add(orderBill.getBillPrice(), orderBill.getPointSettlementPrice()), | ||||||
|  |                     orderBill.getKanjiaSettlementPrice()); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										5
									
								
								update-sql/version4.2to4.3.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								update-sql/version4.2to4.3.sql
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | /** 添加结算单积分、砍价结算价信息**/ | ||||||
|  | ALTER TABLE li_bill ADD point_settlement_price double DEFAULT 0.00 COMMENT '积分商品结算金额 '; | ||||||
|  | ALTER TABLE li_bill ADD kanjia_settlement_price double DEFAULT 0.00 COMMENT '砍价商品结算金额'; | ||||||
|  | ALTER TABLE li_store_flow ADD point_settlement_price double DEFAULT 0.00 COMMENT '积分商品结算金额'; | ||||||
|  | ALTER TABLE li_store_flow ADD kanjia_settlement_price double DEFAULT 0.00 COMMENT '砍价商品结算金额'; | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 lifenlong
						lifenlong