java中controller,service,serviceI

2019-04-28  本文已影响0人  vivianXIa

一、controller、service、serviceImpl、Mapper、Xml等文件的作用
下图为java约定俗成的几个文件的作用


二、在项目中的使用情况,由于业务逻辑很简单,所以每个文件中的代码行数都很少

    /**
     * 资产rim项目信息报表
     *
     */
    @RequestMapping(value = "/hls/cus/rpt/rim/project/detail/query")
    @ResponseBody
    public ResponseData rptRimProjecrDetailQuery(@RequestBody Map map) {
        return new ResponseData(hlsCusRptRimProjectDetailService.rptRimProjectDetailQuery(map));
    }
public interface HlsCusRptRimProjectDetailService extends IBaseService<HlsCusRptRimProjectDetail>,ProxySelf<HlsCusRptRimProjectDetailService> {
 
    List<Map> rptRimProjectDetailQuery(Map map);
}
    @Override
    public List<Map> rptRimProjectDetailQuery(Map map) {
      int page = Integer.parseInt(String.valueOf(map.get("page")));
      int pageSize = Integer.parseInt(String.valueOf(map.get("pageSize")));
      PageHelper.startPage(page,pageSize);
      return hlsCusRptRimProjectDetailMapper.rptRimProjectDetailQuery(map);
    }
public interface HlsCusRptRimProjectDetailMapper extends Mapper<HlsCusRptRimProjectDetail> {
 
    List<Map> rptRimProjectDetailQuery( Map<String, Object> map);// 资产rim表项目信息报表
 
}
<select id="rptRimProjectDetailQuery" resultMap="BaseResultMap">
 
        SELECT
         V.*,
        (case when V.REMAIN_PRINCIPAL > 0 then (V.REMAIN_PRINCIPAL - nvl(
        (SELECT SUM(CCC.DUE_AMOUNT)
        FROM CON_CONTRACT_CASHFLOW CCC
        WHERE CCC.CONTRACT_ID = V.CONTRACT_ID
        AND CCC.CF_ITEM = 5)
        ,0)) else 0 end) as PROJECT_EXPOSURE
        FROM (SELECT
        --项目编号
        CC.PROJECT_CONTRACT_NUMBER PROJECT_NUMBER,
 
        -------------------------省略部分代码-------------------------
        
        -- 项目核销申请日期
        (SELECT CCT.TERMINATION_DATE
        FROM CON_CONTRACT_TERMINATION CCT
        WHERE CCT.CONTRACT_ID = CC.CONTRACT_ID) TERMINATION_DATE,
        CC.BEFORE_RENT_FLAG
        FROM CON_CONTRACT CC
        LEFT JOIN PRJ_PROJECT PP
        ON CC.PROJECT_ID = PP.PROJECT_ID
        WHERE
        cc.contract_status IN ('INCEPT', 'TERMINATE', 'ET')
        OR (CC.contract_status = 'SIGN' AND cc.before_rent_flag = 'Y')
      ) V
        ----------------下面写查询条件----------------------
        <where>
            <if test="projectNumber !=null and projectNumber !=''">
                and v.project_number like concat(concat('%',#{projectNumber}),'%')
            </if>
            <if test="businessType !=null and businessType.size() !=0">
              and v.business_type in
              <foreach item="item" index="index" collection="businessType" open="(" separator="," close=")">
                #{item}
              </foreach>
            </if>
        </where>
 
    </select>

原文:https://blog.csdn.net/congweijing/article/details/82499627

上一篇 下一篇

猜你喜欢

热点阅读