Procházet zdrojové kódy

// merchant

release_toaliyun_real
xhxu před 3 roky
rodič
revize
a689819131
7 změnil soubory, kde provedl 123 přidání a 5 odebrání
  1. +21
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantBUserController.java
  2. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java
  3. +18
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java
  4. +5
    -3
      mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java
  5. +40
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantBUserServiceImpl.java
  6. +18
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  7. +18
    -0
      mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml

+ 21
- 0
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantBUserController.java Zobrazit soubor

@@ -1,10 +1,16 @@
package com.iformall.controller.basic;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.domain.po.base.BaseEntity;
import com.iformall.service.WxMerchantBUserService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -19,6 +25,21 @@ public class WxMerchantBUserController extends BaseController {
@Autowired
private WxMerchantBUserService wxMerchantBUserService;

@ApiOperation("分页列表接口")
@GetMapping("listVo")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "商户-列表")
public ResultData listVo(@ModelAttribute WxMerchantBUser wxMerchantBUser, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantBUserController::list");
if (null == wxMerchantBUser) wxMerchantBUser = new WxMerchantBUser();
wxMerchantBUser.updateTenantInfo(getTenantInfo());
wxMerchantBUser.setSortColumns(BaseEntity.SortField.CreateDate_DESC);
final PageInfo<WxMerchantBUser> page = wxMerchantBUserService.listAsPage(wxMerchantBUser, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("手机号是否存在")
@GetMapping("/hasphone")
@ApiImplicitParam(name = "phone", value = "phone", dataType = "String", paramType = "query", required = true)


+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java Zobrazit soubor

@@ -47,6 +47,9 @@ public class WxMerchant extends TenantEntity {
@TableField(exist = false)
private List<WxMerchantBUser> users;

@TableField(exist = false)
private List<WxMerchantBUser> otherMerchantUsers;

@TableField(exist = false)
private Long rentContractId;



+ 18
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxMerchantBUser.java Zobrazit soubor

@@ -1,13 +1,16 @@
package com.iformall.domain.po;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.utils.Constant;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.StringUtils;


import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@@ -28,6 +31,8 @@ public class WxMerchantBUser extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "商户id", name = "merchantId")
private Long merchantId;
@TableField(exist = false)
private String merchantName;
@TableField(exist = false)
private List<Long> merchantIds;
@io.swagger.annotations.ApiModelProperty(value = "创建时间", name = "createDate")
private Date createDate;
@@ -47,9 +52,12 @@ public class WxMerchantBUser extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value = "是否是管理员", name = "isAdmin")
private Integer isAdmin;

@io.swagger.annotations.ApiModelProperty(value = "可核销其他商户", name = "otherMerchant")
@io.swagger.annotations.ApiModelProperty(value = "json 可核销其他商户", name = "otherMerchant")
private String otherMerchant;

@TableField(exist = false)
private String otherMerchantId;

@TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value = "b用户ID", name = "buserId")
private transient Long buserId;
@@ -65,4 +73,13 @@ public class WxMerchantBUser extends TenantEntity {
}
return this.token;
}

public List<String> getOtherMerchantIds(){
if(StringUtils.isNotBlank(otherMerchant)){
try{
return JSONObject.parseArray(otherMerchant, String.class);
}catch(Exception e){}
}
return new ArrayList<String>();
}
}

+ 5
- 3
mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java Zobrazit soubor

@@ -4,6 +4,7 @@ import java.util.*;
import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.domain.vo.WxMerchantBuInfoVo;
import org.apache.ibatis.annotations.Param;

public interface WxMerchantBUserMapper extends CommonMapper<WxMerchantBUser, Long> {

@@ -18,7 +19,8 @@ public interface WxMerchantBUserMapper extends CommonMapper<WxMerchantBUser, Lon
List<WxMerchantBuInfoVo> findSelMerchantList(WxMerchantBUser wxMerchantBUser);

WxMerchantBUser findByToken(String token);

int deleteOtherMerchant(@Param("tenantId")String tenantId, @Param("otherId")String otherId);

int addOtherMerchant(@Param("tenantId")String tenantId, @Param("ids")List<Long> ids, @Param("otherId")String otherId);
}

+ 40
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantBUserServiceImpl.java Zobrazit soubor

@@ -7,22 +7,27 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.domain.po.WxMsgValidationcode;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxMerchantBuInfoVo;
import com.iformall.enums.EnumMerchantBUserStatus;
import com.iformall.enums.EnumMerchantStatus;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxAppinfoMapper;
import com.iformall.mapper.WxMerchantBUserMapper;
import com.iformall.mapper.WxMerchantMapper;
import com.iformall.mapper.WxMsgValidationcodeMapper;
import com.iformall.service.WxMerchantBUserService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -37,6 +42,9 @@ public class WxMerchantBUserServiceImpl implements WxMerchantBUserService {
@Autowired
WxAppinfoMapper wxAppinfoMapper;

@Autowired
WxMerchantMapper wxMerchantMapper;

@Autowired
WxMerchantBUserMapper wxMerchantBUserMapper;

@@ -45,7 +53,38 @@ public class WxMerchantBUserServiceImpl implements WxMerchantBUserService {

@Override
public PageInfo<WxMerchantBUser> listAsPage(WxMerchantBUser record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantBUserMapper.findList(record));
//查询有效门店的员工
WxMerchant merchantQ1 = new WxMerchant();
merchantQ1.updateTenantInfo(record);
merchantQ1.setName(record.getMerchantName());
merchantQ1.setStatus(EnumMerchantStatus.VALID.getCode());
List<Long> merchantIdList = wxMerchantMapper.findIdList(merchantQ1);
if(merchantIdList == null || merchantIdList.isEmpty()){
return new PageInfo<WxMerchantBUser>();
}
record.setMerchantIds(merchantIdList);
PageInfo<WxMerchantBUser> pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantBUserMapper.findList(record));
List<WxMerchantBUser> list = pageInfo.getList();
if(list != null && !list.isEmpty()){
Map<Long,String> merchantSimpleMap = new HashMap<Long,String>();
if (null != merchantIdList && merchantIdList.size() > 0) {
WxMerchant merchantQ = new WxMerchant();
merchantQ.updateTenantInfo(record);
merchantQ.setIds(merchantIdList);
List<WxMerchant> merchantList = wxMerchantMapper.findIdNameList(merchantQ);
if (null != merchantList) {
for (int k = 0 ; k < merchantList.size() ; k++) {
WxMerchant m = merchantList.get(k);
merchantSimpleMap.put(m.getId(), m.getName());
}
}
}
for (WxMerchantBUser bUser:list) {
bUser.setMerchantName(merchantSimpleMap.get(bUser.getMerchantId()));
}
}

return pageInfo;
}

@Override


+ 18
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Zobrazit soubor

@@ -323,6 +323,14 @@ public class WxMerchantServiceImpl implements WxMerchantService {
List<WxMerchantBUser> userList = wxMerchantBUserMapper.findList(wxMerchantBUser);
wxMerchant.setUsers(userList);

if(EnumYesOrNo.YES.getCode().equals(wxMerchant.getIsAdmin())){
WxMerchantBUser otherQ = new WxMerchantBUser();
otherQ.setOtherMerchantId(wxMerchant.getId().toString());
otherQ.setStatus(EnumMerchantBUserStatus.VALID.getCode());
List<WxMerchantBUser> otherUserList = wxMerchantBUserMapper.findList(otherQ);
wxMerchant.setOtherMerchantUsers(otherUserList);
}

//分账信息
WxProfitSharingReceiver receiver = wxProfitSharingReceiverService.findReceiver(wxMerchant,EnumProfitSharingType.PROFIT_SHARING_TYPE_WECHAT);
if (receiver != null) {
@@ -815,6 +823,9 @@ public class WxMerchantServiceImpl implements WxMerchantService {
wxMerchantBUser.setStatus(EnumMerchantBUserStatus.INVALID.getCode());
wxMerchantBUserMapper.updateById(wxMerchantBUser);
}
//删除关联的其他门店用户
wxMerchantBUserMapper.deleteOtherMerchant(wxMerchant.getTenantId(),wxMerchant.getId().toString());

final IdWorker idWorker = IdWorker.get();
//保存商户关联用户
for (WxMerchantBUser user : users) {
@@ -839,6 +850,13 @@ public class WxMerchantServiceImpl implements WxMerchantService {
wxMerchantBUserMapper.updateById(user);
}
}
if(EnumYesOrNo.YES.getCode().equals(wxMerchant.getIsAdmin())){
List<WxMerchantBUser> otherMerchantUsers = wxMerchant.getOtherMerchantUsers();
if(otherMerchantUsers != null && !otherMerchantUsers.isEmpty()){
List<Long> ids = otherMerchantUsers.stream().map(u -> u.getId()).collect(Collectors.toList());
wxMerchantBUserMapper.addOtherMerchant(wxMerchant.getTenantId(),ids,wxMerchant.getId().toString());
}
}
return new ResultData(Result.SUCCESS, "账号操作成功");
} catch (Exception e) {
logger.error("db failed: 账号操作失败, e:" + e.getMessage());


+ 18
- 0
mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml Zobrazit soubor

@@ -83,6 +83,9 @@
<if test=" null != isAdmin ">
and `is_admin` = #{isAdmin}
</if>
<if test=" null != otherMerchantId and '' != otherMerchantId">
and json_search(other_merchant, 'one', #{otherMerchantId}) IS NOT NULL;
</if>
<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
@@ -171,5 +174,20 @@
where `token` = #{token}
</select>

<update id="deleteOtherMerchant" parameterType="hashmap">
update wx_merchant_b_user set other_merchant = JSON_REMOVE(other_merchant, replace(json_search(other_merchant, 'one', #{otherId}), '"', ''))
where `tenant_id` = #{tenantId}
and json_search(other_merchant, 'one', #{otherId}) IS NOT NULL;
</update>

<update id="deleteOtherMerchant" parameterType="hashmap">
update wx_merchant_b_user set other_merchant = json_array_append(coalesce(other_merchant,'[]'), '$', #{otherId})
where `tenant_id` = #{tenantId}
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
and json_search(other_merchant, 'one', #{otherId}) IS NULL;
</update>

</mapper>

Načítá se…
Zrušit
Uložit