Browse Source

积分商品-王公峰-2020-09-26

feature/dangjian
wanggongfeng 4 years ago
parent
commit
9a1891a3bd
  1. 3
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/AcitveProductInfoDao.java
  2. 11
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  3. 6
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java
  4. 51
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/AcitveProductInfoServiceImpl.java
  5. 3
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/AcitveProductInfoDao.xml

3
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/AcitveProductInfoDao.java

@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.AcitveProductInfoDTO;
import com.elink.esua.epdc.entity.AcitveProductInfoEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@ -40,4 +41,6 @@ public interface AcitveProductInfoDao extends BaseDao<AcitveProductInfoEntity> {
* @return
*/
List<AcitveProductInfoDTO> getPhrasePage(Map<String, Object> params);
void deleteByProductId(@Param("productId") String productId);
}

11
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java

@ -30,4 +30,15 @@ public interface AdminFeignClient {
Result<List<SysSimpleDictDTO>> listSimpleDictInfo(@PathVariable("dictType") String dictType);
/***
* 根据部门id获取部门以及以下所有部门ID & NAME
* @param deptId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < java.lang.String>>
* @author wgf
* @date 2021/9/24 15:31
*/
@GetMapping("/sys/dept/getDeptInfoByDeptIdList/{deptId}")
Result<List<Long>> getDeptInfoByDeptIdList(@PathVariable("deptId") String deptId);
}

6
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java

@ -23,4 +23,10 @@ public class AdminFeignClientFallback implements AdminFeignClient {
public Result<List<SysSimpleDictDTO>> listSimpleDictInfo(String dictType) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "listSimpleDictInfo", dictType);
}
@Override
public Result<List<Long>> getDeptInfoByDeptIdList(String deptId) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptInfoByDeptIdList", deptId);
}
}

51
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/AcitveProductInfoServiceImpl.java

@ -23,16 +23,22 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.AcitveProductInfoDao;
import com.elink.esua.epdc.dto.AcitveProductInfoDTO;
import com.elink.esua.epdc.entity.AcitveProductDeptEntity;
import com.elink.esua.epdc.entity.AcitveProductInfoEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.redis.AcitveProductInfoRedis;
import com.elink.esua.epdc.service.AcitveProductDeptService;
import com.elink.esua.epdc.service.AcitveProductInfoService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -49,6 +55,13 @@ public class AcitveProductInfoServiceImpl extends BaseServiceImpl<AcitveProductI
@Autowired
private AcitveProductInfoRedis acitveProductInfoRedis;
@Autowired
private AdminFeignClient adminFeignClient;
@Autowired
private AcitveProductDeptService acitveProductDeptService;
@Override
public PageData<AcitveProductInfoDTO> page(Map<String, Object> params) {
IPage<AcitveProductInfoEntity> page = baseDao.selectPage(
@ -102,8 +115,21 @@ public class AcitveProductInfoServiceImpl extends BaseServiceImpl<AcitveProductI
AcitveProductInfoEntity entity = ConvertUtils.sourceToTarget(dto, AcitveProductInfoEntity.class);
insert(entity);
// 添加权限表数据
Result<List<Long>> result = adminFeignClient.getDeptInfoByDeptIdList(dto.getDeptId());
List<Long> deptIdList = result.getData();
List<AcitveProductDeptEntity> apdList = new ArrayList<AcitveProductDeptEntity>();
for(Long l : deptIdList){
if(l == null){
continue;
}
AcitveProductDeptEntity acitveProductDeptEntity = new AcitveProductDeptEntity();
acitveProductDeptEntity.setDeptId(l.toString());
acitveProductDeptEntity.setProductId(entity.getId());
apdList.add(acitveProductDeptEntity);
}
// 插入权限表
acitveProductDeptService.insertBatch(apdList);
}
@ -113,7 +139,25 @@ public class AcitveProductInfoServiceImpl extends BaseServiceImpl<AcitveProductI
public void update(AcitveProductInfoDTO dto) {
AcitveProductInfoEntity entity = ConvertUtils.sourceToTarget(dto, AcitveProductInfoEntity.class);
updateById(entity);
// 逻辑删除权限表该商品数据
baseDao.deleteByProductId(dto.getId());
// 添加权限表数据
Result<List<Long>> result = adminFeignClient.getDeptInfoByDeptIdList(dto.getDeptId());
List<Long> deptIdList = result.getData();
List<AcitveProductDeptEntity> apdList = new ArrayList<AcitveProductDeptEntity>();
for(Long l : deptIdList){
if(l == null){
continue;
}
AcitveProductDeptEntity acitveProductDeptEntity = new AcitveProductDeptEntity();
acitveProductDeptEntity.setDeptId(l.toString());
acitveProductDeptEntity.setProductId(entity.getId());
apdList.add(acitveProductDeptEntity);
}
// 插入权限表
acitveProductDeptService.insertBatch(apdList);
@ -125,6 +169,9 @@ public class AcitveProductInfoServiceImpl extends BaseServiceImpl<AcitveProductI
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
// 逻辑删除权限表该商品数据(仅限于单条删除时使用)
baseDao.deleteByProductId(ids[0]);
}
}

3
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/AcitveProductInfoDao.xml

@ -64,6 +64,9 @@
</if>
order by eapi.UPDATED_TIME desc
</select>
<update id="deleteByProductId" parameterType="java.lang.String">
update epdc_acitve_product_dept set DEL_FLAG = '1' where PRODUCT_ID = #{productId}
</update>
</mapper>

Loading…
Cancel
Save