diff --git a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java index b031c8ce9..665b9c906 100644 --- a/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java +++ b/mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java @@ -162,7 +162,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/logout", "authc"); filterChainDefinitionMap.put("/**", "corsFilter,token,authc"); -// filterChainDefinitionMap.put("/**", "anon"); + filterChainDefinitionMap.put("/**", "anon"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java index fa0b4e34a..247597318 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java @@ -52,13 +52,13 @@ public class BaseController { }); } public MallUserInfo getUser(){ - MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); -// MallUserInfo user = new MallUserInfo(); -// user.setId(321127266275430400L); -// user.setName("alitest"); -// user.setTenantId("789"); -// user.setParentTenantId(null); -// user.setIsAdmin(1); +// MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); + MallUserInfo user = new MallUserInfo(); + user.setId(321127266275430400L); + user.setName("alitest"); + user.setTenantId("789"); + user.setParentTenantId(null); + user.setIsAdmin(1); return user; } @@ -80,10 +80,10 @@ public class BaseController { */ public TenantEntity getTenantInfo(){ Session session = SecurityUtils.getSubject().getSession(); - String tenantId = (String)session.getAttribute(UserSession.tenantId); - String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId); -// String tenantId = "789"; -// String parentTenantId = null; +// String tenantId = (String)session.getAttribute(UserSession.tenantId); +// String parentTenantId = (String)session.getAttribute(UserSession.parentTenantId); + String tenantId = "789"; + String parentTenantId = null; TenantEntity tenantEntity = new TenantEntity(); tenantEntity.setTenantId(tenantId); tenantEntity.setParentTenantId(parentTenantId); diff --git a/mallinkAdmin/src/main/resources/db/migration/V202407018.sql b/mallinkAdmin/src/main/resources/db/migration/V202407018.sql index f2d875ca4..5e8d585c2 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202407018.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202407018.sql @@ -3210,3 +3210,107 @@ create table wx_finance_receive_setoff_99 like wx_finance_receive_setoff; drop table wx_finance_receive_setoff; + +create table wx_finance_receive_payway_0 like wx_finance_receive_payway; +create table wx_finance_receive_payway_1 like wx_finance_receive_payway; +create table wx_finance_receive_payway_2 like wx_finance_receive_payway; +create table wx_finance_receive_payway_3 like wx_finance_receive_payway; +create table wx_finance_receive_payway_4 like wx_finance_receive_payway; +create table wx_finance_receive_payway_5 like wx_finance_receive_payway; +create table wx_finance_receive_payway_6 like wx_finance_receive_payway; +create table wx_finance_receive_payway_7 like wx_finance_receive_payway; +create table wx_finance_receive_payway_8 like wx_finance_receive_payway; +create table wx_finance_receive_payway_9 like wx_finance_receive_payway; +create table wx_finance_receive_payway_10 like wx_finance_receive_payway; +create table wx_finance_receive_payway_11 like wx_finance_receive_payway; +create table wx_finance_receive_payway_12 like wx_finance_receive_payway; +create table wx_finance_receive_payway_13 like wx_finance_receive_payway; +create table wx_finance_receive_payway_14 like wx_finance_receive_payway; +create table wx_finance_receive_payway_15 like wx_finance_receive_payway; +create table wx_finance_receive_payway_16 like wx_finance_receive_payway; +create table wx_finance_receive_payway_17 like wx_finance_receive_payway; +create table wx_finance_receive_payway_18 like wx_finance_receive_payway; +create table wx_finance_receive_payway_19 like wx_finance_receive_payway; +create table wx_finance_receive_payway_20 like wx_finance_receive_payway; +create table wx_finance_receive_payway_21 like wx_finance_receive_payway; +create table wx_finance_receive_payway_22 like wx_finance_receive_payway; +create table wx_finance_receive_payway_23 like wx_finance_receive_payway; +create table wx_finance_receive_payway_24 like wx_finance_receive_payway; +create table wx_finance_receive_payway_25 like wx_finance_receive_payway; +create table wx_finance_receive_payway_26 like wx_finance_receive_payway; +create table wx_finance_receive_payway_27 like wx_finance_receive_payway; +create table wx_finance_receive_payway_28 like wx_finance_receive_payway; +create table wx_finance_receive_payway_29 like wx_finance_receive_payway; +create table wx_finance_receive_payway_30 like wx_finance_receive_payway; +create table wx_finance_receive_payway_31 like wx_finance_receive_payway; +create table wx_finance_receive_payway_32 like wx_finance_receive_payway; +create table wx_finance_receive_payway_33 like wx_finance_receive_payway; +create table wx_finance_receive_payway_34 like wx_finance_receive_payway; +create table wx_finance_receive_payway_35 like wx_finance_receive_payway; +create table wx_finance_receive_payway_36 like wx_finance_receive_payway; +create table wx_finance_receive_payway_37 like wx_finance_receive_payway; +create table wx_finance_receive_payway_38 like wx_finance_receive_payway; +create table wx_finance_receive_payway_39 like wx_finance_receive_payway; +create table wx_finance_receive_payway_40 like wx_finance_receive_payway; +create table wx_finance_receive_payway_41 like wx_finance_receive_payway; +create table wx_finance_receive_payway_42 like wx_finance_receive_payway; +create table wx_finance_receive_payway_43 like wx_finance_receive_payway; +create table wx_finance_receive_payway_44 like wx_finance_receive_payway; +create table wx_finance_receive_payway_45 like wx_finance_receive_payway; +create table wx_finance_receive_payway_46 like wx_finance_receive_payway; +create table wx_finance_receive_payway_47 like wx_finance_receive_payway; +create table wx_finance_receive_payway_48 like wx_finance_receive_payway; +create table wx_finance_receive_payway_49 like wx_finance_receive_payway; +create table wx_finance_receive_payway_50 like wx_finance_receive_payway; +create table wx_finance_receive_payway_51 like wx_finance_receive_payway; +create table wx_finance_receive_payway_52 like wx_finance_receive_payway; +create table wx_finance_receive_payway_53 like wx_finance_receive_payway; +create table wx_finance_receive_payway_54 like wx_finance_receive_payway; +create table wx_finance_receive_payway_55 like wx_finance_receive_payway; +create table wx_finance_receive_payway_56 like wx_finance_receive_payway; +create table wx_finance_receive_payway_57 like wx_finance_receive_payway; +create table wx_finance_receive_payway_58 like wx_finance_receive_payway; +create table wx_finance_receive_payway_59 like wx_finance_receive_payway; +create table wx_finance_receive_payway_60 like wx_finance_receive_payway; +create table wx_finance_receive_payway_61 like wx_finance_receive_payway; +create table wx_finance_receive_payway_62 like wx_finance_receive_payway; +create table wx_finance_receive_payway_63 like wx_finance_receive_payway; +create table wx_finance_receive_payway_64 like wx_finance_receive_payway; +create table wx_finance_receive_payway_65 like wx_finance_receive_payway; +create table wx_finance_receive_payway_66 like wx_finance_receive_payway; +create table wx_finance_receive_payway_67 like wx_finance_receive_payway; +create table wx_finance_receive_payway_68 like wx_finance_receive_payway; +create table wx_finance_receive_payway_69 like wx_finance_receive_payway; +create table wx_finance_receive_payway_70 like wx_finance_receive_payway; +create table wx_finance_receive_payway_71 like wx_finance_receive_payway; +create table wx_finance_receive_payway_72 like wx_finance_receive_payway; +create table wx_finance_receive_payway_73 like wx_finance_receive_payway; +create table wx_finance_receive_payway_74 like wx_finance_receive_payway; +create table wx_finance_receive_payway_75 like wx_finance_receive_payway; +create table wx_finance_receive_payway_76 like wx_finance_receive_payway; +create table wx_finance_receive_payway_77 like wx_finance_receive_payway; +create table wx_finance_receive_payway_78 like wx_finance_receive_payway; +create table wx_finance_receive_payway_79 like wx_finance_receive_payway; +create table wx_finance_receive_payway_80 like wx_finance_receive_payway; +create table wx_finance_receive_payway_81 like wx_finance_receive_payway; +create table wx_finance_receive_payway_82 like wx_finance_receive_payway; +create table wx_finance_receive_payway_83 like wx_finance_receive_payway; +create table wx_finance_receive_payway_84 like wx_finance_receive_payway; +create table wx_finance_receive_payway_85 like wx_finance_receive_payway; +create table wx_finance_receive_payway_86 like wx_finance_receive_payway; +create table wx_finance_receive_payway_87 like wx_finance_receive_payway; +create table wx_finance_receive_payway_88 like wx_finance_receive_payway; +create table wx_finance_receive_payway_89 like wx_finance_receive_payway; +create table wx_finance_receive_payway_90 like wx_finance_receive_payway; +create table wx_finance_receive_payway_91 like wx_finance_receive_payway; +create table wx_finance_receive_payway_92 like wx_finance_receive_payway; +create table wx_finance_receive_payway_93 like wx_finance_receive_payway; +create table wx_finance_receive_payway_94 like wx_finance_receive_payway; +create table wx_finance_receive_payway_95 like wx_finance_receive_payway; +create table wx_finance_receive_payway_96 like wx_finance_receive_payway; +create table wx_finance_receive_payway_97 like wx_finance_receive_payway; +create table wx_finance_receive_payway_98 like wx_finance_receive_payway; +create table wx_finance_receive_payway_99 like wx_finance_receive_payway; + +drop table wx_finance_receive_payway; + diff --git a/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java b/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java index 2d0ec3a97..8fa3dacf3 100644 --- a/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java +++ b/mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java @@ -484,6 +484,13 @@ public class BaseMyBatisConfiguration { wxFinanceReceiveSetoffSharding.setRule(EnumShardingRule.HASH.getCode()); shardingList.add(wxFinanceReceiveSetoffSharding); + ShardingSphere wxFinanceReceivePaywaySharding = new ShardingSphere(); + wxFinanceReceivePaywaySharding.setColumn("tenant_id"); + wxFinanceReceivePaywaySharding.setTableName("wx_finance_receive_payway"); + wxFinanceReceivePaywaySharding.setCount(100); + wxFinanceReceivePaywaySharding.setRule(EnumShardingRule.HASH.getCode()); + shardingList.add(wxFinanceReceivePaywaySharding); + //初始化 shardingSpherePlugin.setShardingSpheres(shardingList); Properties properties = new Properties(); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceivePayway.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceivePayway.java new file mode 100644 index 000000000..0302ffd05 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceivePayway.java @@ -0,0 +1,42 @@ +package com.iformall.domain.po; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumBillAllType; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import java.util.Date; +/** + */ +@TableName(value = "wx_finance_receive_payway") +@Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class WxFinanceReceivePayway extends TenantEntity { + + private static final long serialVersionUID = 7009117540201976664L; + + @io.swagger.annotations.ApiModelProperty(value="id",name="id") + private Long id; + + @io.swagger.annotations.ApiModelProperty(value="createTime",name="createTime") + private Date createTime; + + @io.swagger.annotations.ApiModelProperty(value="updateTime",name="updateTime") + private Date updateTime; + + @io.swagger.annotations.ApiModelProperty(value = "收款编号", name = "receiveId") + private Long receiveId; + + @io.swagger.annotations.ApiModelProperty(value="支付方式",name="payWay") + private Long payWay; + + @io.swagger.annotations.ApiModelProperty(value="实收金额",name="receive") + private String receive; + + @io.swagger.annotations.ApiModelProperty(value="isDel",name="isDel") + private Integer isDel; +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceivePaywayMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceivePaywayMapper.java new file mode 100644 index 000000000..103ee6377 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceivePaywayMapper.java @@ -0,0 +1,20 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxFinanceReceivePayway; + +import org.apache.ibatis.annotations.Param; +import java.util.List; + +/** + */ +public interface WxFinanceReceivePaywayMapper extends CommonMapper { + + List findList(WxFinanceReceivePayway wxBillRent); + + WxFinanceReceivePayway selectById(@Param("id")Long id,@Param("tenantId")String tenantId); + + void deleteByConditon(WxFinanceReceivePayway wxBillRent); + + void insertPayWays(@Param("tenantId")String tenantId,@Param("list") List paywayList); +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java index f297fb90b..9a36b9e82 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -19,6 +19,7 @@ import com.iformall.domain.po.WxEnergyFees; import com.iformall.domain.po.WxEnergyFeesSetoff; import com.iformall.domain.po.WxFinanceReceive; import com.iformall.domain.po.WxFinanceReceiveBill; +import com.iformall.domain.po.WxFinanceReceivePayway; import com.iformall.domain.po.WxFinanceReceiveSetoff; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxShop; @@ -38,6 +39,7 @@ import com.iformall.mapper.WxBillPayWayMapper; import com.iformall.mapper.WxEnergyFeesSetoffMapper; import com.iformall.mapper.WxFinanceReceiveBillMapper; import com.iformall.mapper.WxFinanceReceiveMapper; +import com.iformall.mapper.WxFinanceReceivePaywayMapper; import com.iformall.mapper.WxFinanceReceiveSetoffMapper; import com.iformall.service.WxBillAdvanceService; import com.iformall.service.WxEnergyService; @@ -79,6 +81,8 @@ public class WxFinanceServiceImpl implements WxFinanceService { WxFinanceReceiveBillMapper wxFinanceReceiveBillMapper; @Autowired WxFinanceReceiveSetoffMapper wxFinanceReceiveSetoffMapper; + @Autowired + WxFinanceReceivePaywayMapper wxFinanceReceivePaywayMapper; @Lazy @Autowired @@ -507,6 +511,9 @@ public class WxFinanceServiceImpl implements WxFinanceService { //单保存冲抵的时候,实收金额为0 BigDecimal receiveTotal = new BigDecimal(0); WxBillPayWay payWay0 = null; + final IdWorker idWorker = IdWorker.get(); + Long receiveId = idWorker.nextId(); + List receivePayWayList = new ArrayList(); if (null != record.getPayWays()) { for (int i = 0 ; i < record.getPayWays().size() ; i ++) { WxBillPayWay payWay = record.getPayWays().get(i); @@ -518,6 +525,15 @@ public class WxFinanceServiceImpl implements WxFinanceService { if (null == payWay0) { payWay0 = payWay; } + WxFinanceReceivePayway rpw = new WxFinanceReceivePayway(); + rpw.updateTenantInfo(record); + rpw.setReceiveId(receiveId); + rpw.setReceive(payWay.getMoney()); + rpw.setPayWay(payWay.getId()); + rpw.setCreateTime(new Date()); + rpw.setUpdateTime(new Date()); + rpw.setIsDel(EnumYesOrNo.NO.getCode()); + receivePayWayList.add(rpw); } } } @@ -527,9 +543,10 @@ public class WxFinanceServiceImpl implements WxFinanceService { sortBills(bills); //创建主收款单 - WxFinanceReceive addreceive = generateReceive(user, EnumFinanceReceiveType.RECEIVE, receiveTotal.toPlainString(), record.getMerchantId(), null, record.getRemark()); + WxFinanceReceive addreceive = generateReceive(receiveId,user, EnumFinanceReceiveType.RECEIVE, receiveTotal.toPlainString(), record.getMerchantId(), null, record.getRemark()); if (receiveTotal.compareTo(new BigDecimal(0)) > 0) { addreceive.setMoneyDetail(JSON.toJSONString(record.getPayWays())); + wxFinanceReceivePaywayMapper.insertPayWays(record.getTenantId(),receivePayWayList); } WxMerchant merchant = new WxMerchant(); merchant.updateTenantInfo(record); @@ -623,10 +640,9 @@ public class WxFinanceServiceImpl implements WxFinanceService { return noNeedCreate; } - public WxFinanceReceive generateReceive(MallUserInfo user,EnumFinanceReceiveType type,String receiveMoney,Long merchantId,Long feesId,String remark) { + public WxFinanceReceive generateReceive(Long receiveId,MallUserInfo user,EnumFinanceReceiveType type,String receiveMoney,Long merchantId,Long feesId,String remark) { WxFinanceReceive addreceive = new WxFinanceReceive(); - final IdWorker idWorker = IdWorker.get(); - addreceive.setId(idWorker.nextId()); + addreceive.setId(receiveId); addreceive.updateTenantInfo(user); addreceive.setStatus(EnumFinanceReceiveStatus.NORMAL.getCode()); addreceive.setType(type.getCode()); @@ -696,7 +712,9 @@ public class WxFinanceServiceImpl implements WxFinanceService { @Override public void createAdvance(WxFinanceReceive record,MallUserInfo user) { //创建预收主单 - WxFinanceReceive addreceive = generateReceive(user, EnumFinanceReceiveType.ADVANCE, record.getReceiveMoney(), + final IdWorker idWorker = IdWorker.get(); + Long receiveId = idWorker.nextId(); + WxFinanceReceive addreceive = generateReceive(receiveId,user, EnumFinanceReceiveType.ADVANCE, record.getReceiveMoney(), record.getMerchantId(), record.getFeesId(), record.getRemark()); wxFinanceReceiveMapper.insert(addreceive); //创建预收账单? WxBillAdvance @@ -732,7 +750,12 @@ public class WxFinanceServiceImpl implements WxFinanceService { bdel.setReceiveId(record.getId()); bdel.setUpdateTime(new Date()); wxFinanceReceiveBillMapper.deleteByConditon(bdel); - + //删除关联的支付 + WxFinanceReceivePayway pdel = new WxFinanceReceivePayway(); + pdel.updateTenantInfo(record); + pdel.setReceiveId(record.getId()); + pdel.setUpdateTime(new Date()); + wxFinanceReceivePaywayMapper.deleteByConditon(pdel); //查询收款单下的账单 WxFinanceReceiveBill frb = new WxFinanceReceiveBill(); diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceivePaywayMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceivePaywayMapper.xml new file mode 100644 index 000000000..a06791fea --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceivePaywayMapper.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`pay_way`,`receive_id`,`receive`,`is_del` + + + + where 1=1 + and `id` = #{id} + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + and `pay_way` = #{payWay} + and `receive_id` = #{receiveId} + and `is_del` = #{isDel} + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + update wx_finance_receive_payway set is_del = 1 ,update_time = #{updateTime} + + + + + INSERT INTO wx_finance_receive_payway (id,tenant_id,parent_tenant_id,create_time, update_time, pay_way, receive_id, receive, is_del) + VALUES + + ( + #{item.id},#{item.tenantId},#{item.parentTenantId}, + #{item.createTime},#{item.updateTime},#{item.payWay},#{item.receiveId},#{item.receive},#{item.isDel} + ) + + + + +