winter 1 год назад
Родитель
Сommit
e78ab7df03
8 измененных файлов: 285 добавлений и 18 удалений
  1. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java
  2. +11
    -11
      mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java
  3. +104
    -0
      mallinkAdmin/src/main/resources/db/migration/V202407018.sql
  4. +7
    -0
      mallinkService/src/main/java/com/iformall/config/BaseMyBatisConfiguration.java
  5. +42
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceivePayway.java
  6. +20
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceivePaywayMapper.java
  7. +29
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java
  8. +71
    -0
      mallinkService/src/main/resources/mapper/WxFinanceReceivePaywayMapper.xml

+ 1
- 1
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);


+ 11
- 11
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);


+ 104
- 0
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;


+ 7
- 0
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();


+ 42
- 0
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;
}

+ 20
- 0
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<WxFinanceReceivePayway, Long> {

List<WxFinanceReceivePayway> 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<WxFinanceReceivePayway> paywayList);
}

+ 29
- 6
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<WxFinanceReceivePayway> receivePayWayList = new ArrayList<WxFinanceReceivePayway>();
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();


+ 71
- 0
mallinkService/src/main/resources/mapper/WxFinanceReceivePaywayMapper.xml Просмотреть файл

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iformall.mapper.WxFinanceReceivePaywayMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxFinanceReceivePayway">
<id column="id" jdbcType="BIGINT" property="id"/>
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
<result column="parent_tenant_id" jdbcType="VARCHAR" property="parentTenantId" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="pay_way" jdbcType="BIGINT" property="payWay"/>
<result column="receive_id" jdbcType="BIGINT" property="receiveId"/>
<result column="receive" jdbcType="VARCHAR" property="receive"/>
<result column="is_del" jdbcType="INTEGER" property="isDel"/>
</resultMap>

<sql id="allColumns">
`id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`pay_way`,`receive_id`,`receive`,`is_del`
</sql>

<sql id="dynamicWhereConditions">
where 1=1
<if test=" null != id ">and `id` = #{id}</if>
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != payWay ">and `pay_way` = #{payWay}</if>
<if test=" null != receiveId ">and `receive_id` = #{receiveId}</if>
<if test=" null != isDel ">and `is_del` = #{isDel}</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
<if test=" null != sortColumns">order by ${sortColumns}</if>
</sql>

<select id="findList" parameterType="com.iformall.domain.po.WxFinanceReceivePayway" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
from wx_finance_receive_payway
<include refid="dynamicWhereConditions"/>
</select>
<select id="selectById" parameterType="HashMap" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
from wx_finance_receive_payway where id = #{id} and `tenant_id` = #{tenantId}
</select>
<update id = "deleteByConditon" parameterType="com.iformall.domain.po.WxFinanceReceivePayway">
update wx_finance_receive_payway set is_del = 1 ,update_time = #{updateTime}
<include refid="dynamicWhereConditions"/>
</update>
<insert id="insertPayWays" parameterType="HashMap">
INSERT INTO wx_finance_receive_payway (id,tenant_id,parent_tenant_id,create_time, update_time, pay_way, receive_id, receive, is_del)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.id},#{item.tenantId},#{item.parentTenantId},
#{item.createTime},#{item.updateTime},#{item.payWay},#{item.receiveId},#{item.receive},#{item.isDel}
)
</foreach>
</insert>

</mapper>


Загрузка…
Отмена
Сохранить