Compare commits
13 Commits
656db661ab
...
e9ef1b0fac
| Author | SHA1 | Date | |
|---|---|---|---|
| e9ef1b0fac | |||
| 04be17d63e | |||
| 21da0a344c | |||
| f8db70ca43 | |||
| bfff341d17 | |||
| f85ac0815b | |||
| 80fb367673 | |||
| 574c73d0b5 | |||
| cb18aa5670 | |||
| da3447cd0b | |||
| 9e946443ec | |||
| 71ffdede19 | |||
| 353404dde4 |
@@ -0,0 +1,53 @@
|
||||
package com.czg.controller;
|
||||
|
||||
import com.czg.annotation.Debounce;
|
||||
import com.czg.order.dto.MkDistributionPayDTO;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.service.order.service.DistributionPayService;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.czg.utils.ServletUtil;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 分销员开通
|
||||
*
|
||||
* @author ww
|
||||
* @description
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/pay/distribution")
|
||||
public class DistributionPayController {
|
||||
@Resource
|
||||
private DistributionPayService payService;
|
||||
|
||||
/**
|
||||
* 小程序支付
|
||||
* payType 必填 支付方式,aliPay 支付宝,wechatPay 微信
|
||||
* openId 必填
|
||||
*/
|
||||
@PostMapping("/ltPayOrder")
|
||||
@Debounce(value = "#payParam.userId")
|
||||
public CzgResult<Map<String, Object>> ltPayOrder( HttpServletRequest request, @Validated @RequestBody MkDistributionPayDTO payParam) {
|
||||
return payService.ltPayOrder(ServletUtil.getClientIP(request), payParam);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 运营端小程序余额充值
|
||||
* payType 必填 支付方式,aliPay 支付宝,wechatPay 微信
|
||||
*/
|
||||
@PostMapping("/mchRecharge")
|
||||
@Debounce(value = "#payParam.userId")
|
||||
public CzgResult<Map<String, String>> mchRecharge(@Validated @RequestBody MkDistributionPayDTO payParam) {
|
||||
AssertUtil.isBlank(payParam.getCode(), "微信code不为空");
|
||||
return CzgResult.success(payService.mchRecharge(payParam));
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package com.czg.controller.admin;
|
||||
|
||||
import com.czg.annotation.SaAdminCheckPermission;
|
||||
import com.czg.annotation.SaAdminCheckRole;
|
||||
import com.czg.constant.PayChannelCst;
|
||||
import com.czg.exception.CzgException;
|
||||
import com.czg.order.dto.ShopMerchantDTO;
|
||||
import com.czg.order.entity.ShopDirectMerchant;
|
||||
import com.czg.order.service.ShopMerchantService;
|
||||
@@ -44,6 +46,9 @@ public class ShopMerchantController {
|
||||
@SaAdminCheckPermission(parentName = "支付参数信息", value = "shopMerchant:edit", name = "商户支付信息修改")
|
||||
@PutMapping
|
||||
public CzgResult<Boolean> edit(@RequestBody ShopMerchantDTO shopMerchant) {
|
||||
if (shopMerchant != null && shopMerchant.getChannel() != null && shopMerchant.getChannel().equals(PayChannelCst.NATIVE)) {
|
||||
throw new CzgException("原生支付渠道暂未开通");
|
||||
}
|
||||
return CzgResult.success(shopMerchantService.editEntry(shopMerchant, true));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.czg.market.service;
|
||||
|
||||
import com.czg.enums.ShopUserFlowBizEnum;
|
||||
import com.czg.exception.CzgException;
|
||||
import com.czg.market.dto.MkShopRechargeDTO;
|
||||
import com.czg.market.vo.MkShopRechargeShopListVO;
|
||||
import com.czg.market.vo.MkShopRechargeVO;
|
||||
@@ -21,7 +22,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface MkShopRechargeService extends IService<MkShopRecharge> {
|
||||
|
||||
MkShopRechargeVO detail(Long shopId);
|
||||
MkShopRechargeVO detail(Long shopId) throws CzgException;
|
||||
|
||||
MkShopRechargeVO detailApp(Long shopId);
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ public class OrderPayment implements Serializable {
|
||||
*/
|
||||
private String tradeNumber;
|
||||
|
||||
@Column(onUpdateValue = "now()")
|
||||
// @Column(onUpdateValue = "now()")
|
||||
private LocalDateTime payTime;
|
||||
|
||||
/**
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.time.LocalDateTime;
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("tb_shop_merchant2")
|
||||
@Table("tb_shop_merchant")
|
||||
public class ShopMerchant implements Serializable {
|
||||
|
||||
@Serial
|
||||
|
||||
@@ -253,6 +253,7 @@ public class ShopInfoServiceImpl extends ServiceImpl<ShopInfoMapper, ShopInfo> i
|
||||
@Override
|
||||
@CacheEvict(key = "#shopInfoEditDTO.id")
|
||||
public Boolean edit(ShopInfoEditDTO shopInfoEditDTO) {
|
||||
shopInfoEditDTO.setIsMemberPrice(null);
|
||||
ShopInfo shopInfo;
|
||||
if (!StpKit.USER.isAdmin()) {
|
||||
shopInfo = queryChain().eq(ShopInfo::getId, StpKit.USER.getShopId()).one();
|
||||
@@ -319,8 +320,6 @@ public class ShopInfoServiceImpl extends ServiceImpl<ShopInfoMapper, ShopInfo> i
|
||||
rabbitPublisher.sendOrderDetailStatusMsg(shopInfo.getId().toString(), "shopInfoUpdate");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,8 +26,6 @@ import com.czg.market.vo.InviteUserVO;
|
||||
import com.czg.market.vo.MkDistributionConfigVO;
|
||||
import com.czg.order.dto.MkDistributionPayDTO;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.market.service.OrderInfoService;
|
||||
import com.czg.order.service.OrderPaymentService;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.czg.service.market.enums.OrderStatusEnums;
|
||||
import com.czg.service.market.mapper.MkDistributionUserMapper;
|
||||
@@ -685,22 +683,15 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||
.ne(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.REFUND.getCode()));
|
||||
|
||||
list.forEach(item -> {
|
||||
MkDistributionFlow refundFlow = BeanUtil.copyProperties(item, MkDistributionFlow.class);
|
||||
refundFlow.setStatus(TableValueConstant.DistributionFlow.Status.REFUND.getCode());
|
||||
refundFlow.setSourceId(item.getId());
|
||||
refundFlow.setId(null);
|
||||
refundFlow.setCreateTime(DateUtil.date().toLocalDateTime());
|
||||
refundFlow.setUpdateTime(DateUtil.date().toLocalDateTime());
|
||||
if (TableValueConstant.DistributionFlow.Status.PENDING.getCode().equals(item.getStatus())) {
|
||||
item.setStatus(TableValueConstant.DistributionFlow.Status.SUCCESS.getCode());
|
||||
// updateIncome(item.getRewardAmount().negate(), BigDecimal.ZERO, BigDecimal.ZERO, item.getDistributionUserId(), item.getUserId(), item.getShopUserId(), item.getShopId(), item.getLevel());
|
||||
item.setStatus(TableValueConstant.DistributionFlow.Status.REFUND.getCode());
|
||||
distributionFlowService.updateById(item);
|
||||
mapper.updateIncome(item.getRewardAmount().negate(), null, null, item.getDistributionUserId(), item.getShopId());
|
||||
} else {
|
||||
// 执行扣款
|
||||
updateIncome(BigDecimal.ZERO, item.getRewardAmount().negate(), BigDecimal.ZERO, item.getDistributionUserId(), item.getUserId(), item.getShopUserId(), item.getShopId(), item.getLevel());
|
||||
updateShopInfoAmount(item.getShopId(), item.getRewardAmount(), orderId, TableValueConstant.DistributionAmountFlow.Type.REFUND, "分销回退");
|
||||
}
|
||||
distributionFlowService.save(refundFlow);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -738,6 +729,13 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
|
||||
distributionDeliverService.save(deliver);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分销金额修改
|
||||
*
|
||||
* @param pendingIncome 待入账金额
|
||||
* @param receivedIncome 已入账
|
||||
* @param withdrawIncome 已提现
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateIncome(BigDecimal pendingIncome, BigDecimal receivedIncome, BigDecimal withdrawIncome, Long id, Long userId, Long shopUserId, Long shopId, Integer isOne) {
|
||||
|
||||
@@ -72,7 +72,7 @@ public class MkShopRechargeServiceImpl extends ServiceImpl<MkShopRechargeMapper,
|
||||
}
|
||||
|
||||
@Override
|
||||
public MkShopRechargeVO detail(Long shopId) {
|
||||
public MkShopRechargeVO detail(Long shopId) throws CzgException{
|
||||
shopId = shopInfoService.getMainIdByShopId(shopId);
|
||||
ShopInfo shopInfo = shopInfoService.getById(shopId);
|
||||
if (shopInfo.getMainId() != null) {
|
||||
|
||||
@@ -45,36 +45,33 @@
|
||||
order by a.create_time desc
|
||||
</select>
|
||||
<select id="totalAmount" resultType="java.math.BigDecimal">
|
||||
select sum(a.amount) from mk_distribution_flow as a
|
||||
left join mk_distribution_user as d on d.id=a.distribution_user_id
|
||||
left join tb_shop_user as b on a.shop_user_id=b.id
|
||||
left join tb_shop_user as c on c.id=a.shop_user_id
|
||||
select sum(a.reward_amount)
|
||||
from mk_distribution_flow as a
|
||||
left join tb_shop_user as b on a.shop_user_id = b.id
|
||||
where a.shop_id=#{shopId}
|
||||
<if test="id != null">
|
||||
and a.shop_user_id=#{id}
|
||||
</if>
|
||||
<if test="userId != null">
|
||||
and a.user_id=#{userId}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
and a.status=#{status}
|
||||
</if>
|
||||
<if test="type != null and type != ''">
|
||||
and a.type=#{type}
|
||||
</if>
|
||||
<if test="startTime != null">
|
||||
and a.create_time>=#{startTime}
|
||||
</if>
|
||||
<if test="endTime != null">
|
||||
and a.create_time<=#{endTime}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
and a.status=#{status}
|
||||
</if>
|
||||
<if test="key != null and key != ''">
|
||||
and (
|
||||
b.nick_name like concat('%',#{key},'%')
|
||||
or b.id like concat('%',#{key},'%')
|
||||
or c.id like concat('%',#{key},'%')
|
||||
or c.nick_name like concat('%',#{key},'%')
|
||||
)
|
||||
</if>
|
||||
<if test="id != null">
|
||||
and d.id=#{id}
|
||||
</if>
|
||||
<if test="type != null and type != ''">
|
||||
and a.type=#{type}
|
||||
</if>
|
||||
<if test="userId != null">
|
||||
and d.user_id=#{userId}
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -5,16 +5,24 @@
|
||||
<mapper namespace="com.czg.service.market.mapper.MkDistributionUserMapper">
|
||||
<update id="updateIncome">
|
||||
update mk_distribution_user
|
||||
set
|
||||
<set>
|
||||
<if test="pendingIncome != null">
|
||||
total_income = total_income + #{pendingIncome},
|
||||
</if>
|
||||
<if test="receivedIncome != null">
|
||||
total_income = total_income + #{receivedIncome},
|
||||
</if>
|
||||
pending_income = pending_income + #{pendingIncome},
|
||||
received_income = received_income + #{receivedIncome},
|
||||
withdrawn_income = withdrawn_income + #{withdrawIncome}
|
||||
|
||||
<if test="pendingIncome != null">
|
||||
pending_income = pending_income + #{pendingIncome},
|
||||
</if>
|
||||
<if test="receivedIncome != null">
|
||||
received_income = received_income + #{receivedIncome},
|
||||
</if>
|
||||
<if test="withdrawIncome != null">
|
||||
withdrawn_income = withdrawn_income + #{withdrawIncome}
|
||||
</if>
|
||||
</set>
|
||||
where id = #{id} and shop_id = #{shopId}
|
||||
</update>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user